標籤:
OpenWrt的網路設定很豐富,在我看來幾乎可以完成任何網路結構。為一個支援OpenWrt的路由器網路結構:這個路由器內部交換器有6個口,其中1個WAN口、4個LAN口、Port5預設串連內部網卡eth0,還有串連Wifi的無線網卡接eth2,eth3保留。
從中我們可以看到這個路由器最多支援3個物理網路介面eth0、eth1、eth2。其實一般路由器有兩張乙太網路卡和一張無線網卡,但更多的路由器裡只有一張乙太網路卡和一張無線網卡。
最讓我驚奇的是OpenWrt網路的靈活性,它主要靠 VLAN 和(Bridging) 橋接器等實現。
VLAN
一般路由器為節約成本只有一張網卡(我的理解是乙太網路控制晶片),但如何接入多個網路呢?(路由器按常理至少要兩張網卡吧),這就是VLAN的功勞啦。
VLAN(Virtual Local Area Network)是虛擬區域網路縮寫,是把區域網路中的同一工作群組的主機連在一起,隔絕不同的子網(在一個或多個交換器上),這種局限增強了工作群組間的保密性,也減少了全面廣播的副作用。用了VLAN也就把串連子網用的路由器給省了,省錢而且效率還很高。
VLAN需要路由器內建的交換器支援(一般都支援啦),最多可以劃分4096個VLAN。一般使用只劃分兩個VLAN:WAN和LAN,分別對應外網和內網。如果是純粹的VLAN,則WAN和LAN之間是隔離的,互相不能通訊,但在自己的VLAN裡可以自由通訊。
Trunking
用一張網卡怎麼串連兩個網路呢?不知你是否留意到中的Port5 ,Port5一邊連線路由器,一邊串連網卡eth0,它的作用就是串連vlan0和vlan1。這就是採用VLAN的 Trunking 技術,在Trunk Port(port5)經過的乙太網路幀上打標籤(Tagging)用以區分來自那個VLAN,然後路由器用網卡eth0接收並處理標籤從而處理(在CPU中處理),這就是所謂的單臂路由器,很形象啊:)。
Bridging
橋接器說穿了就是交換器,它就是用軟體類比乙太網路交換器,串連多個乙太網路網卡(虛擬或物理的)分享同一個IP子網。在OpenWrt中,橋接器主要用來串連無線WIFI網路和LAN,組成一個統一的內部區域網路。
最後為了方便理解,我畫了一張用普通的交換器和路由器解釋上面提到的VLAN、Trunking和Bridging:
OpenWrt網路構架