WNR3500L+TOMATO網路結構分析

來源:互聯網
上載者:User

前幾個月入手了一個官翻的WNR3500L,此路由號稱開源並對第三方韌體支援很是吸引我的地方,開始先是刷了DD-WRT後來又換成TOMATO,在換成TOMATO後通過ssh串連到路由,ifconfig顯示出了一大堆interface,除了熟悉的eth0,eht1,br0外,還多出vlan0,vlan1之類的,通過運行brctl show br0後,發現是把vlan0和eth1綁成br0的。這讓我對其網路結構十分感興趣。搜尋了大量資料後,有了下面的心得:

首先 WNR3500L使用了BCM4718+BCM53115的組合方案,對比前一篇對RB450G的分析,參考下面的圖片,可以看出BCM4718隻有一個 RGMII通道,所以只能通過單一的連接埠來串連BCM53115(雖然BCM53115是支援雙RGMII的,見)。
      

這個RGMII連接埠,在系統看來就是所謂的eth0。而另外一個無線ap部分,在系統看來就是eth1,所以eth0,eth1是兩個 “硬”interface,有實際物理線路對應,串連到cpu硬體上的有且只有這兩個連接埠。其它inteface都是衍生於這兩個 “硬”interface上的“虛”interface。

既然br0是由vlan0和eth1組成的,那麼就放在最後說,先看兩個 vlan是怎麼回事。首先要說明的是BCM53115這個switch chip是具備劃分vlan能力的,這也是它能被用在這個解決方案中的基本條件。先從它說起。在BCM53115中,如上面看共有7個GMAC和5個 GPHY,5組GMAC+GPHY的組合就實際對應著5個物理連接埠,而另外兩個GMAC中一個沒用,另外一個通過RGMII和BCM4718上的 RGMII直接連接形成網路通道。所以從邏輯視圖上看這裡可以等同於一個6portsr的switch,其中port5和BCM4718的eth0相聯,其它port0-4是物理連接埠。在劃分vlan的時候,port0+prot5被劃分成了vlan1,port1-4+port5被劃分成了vlan0。
6個port分成兩組,其中port5就是串連cpu那個是被共用的,從vlan角度可以視之為一個TRUNK連接埠(請自行搜尋相關概念,這裡只需要知道兩個vlan都可以從它經過就是了)。其中vlan0對應著4個LAN口,vlan1對應著單獨的WAN口。

BCM53115那邊劃分好 VLAN後,系統這邊需要有對應的interface,因為tomato是基於linux的,那一般使用vconfig add eth0 x的方式來建立應用的interface,其中x就是vlan id。這裡tomato在eth0的基礎上建立了vlan0和vlan1兩個interface,分別對應switch中劃分的vlan0,vlan1。然後回到eth1,因為無線ap可以視之為一個無線switch,那麼需要wired lan和wireless lan處在同一個lan下,所以這裡使用了橋接,用brctl建立了br0,然後把eth1(無線裝置群組)和vlan0(有線裝置群組)加了進去。最後對於系統來說,只要給vlan1和br0分配ip並採取路由規則就好了。因為有線lan內機器間資料交換是在vlan0中進行的,無線lan內資料交換是在
ap中進行的,有線和無線lan內資料交換是在br0中進行的。當然,如果是用pppoe撥號的話,實際提供網路的介面是ppp0,相當於直接使用時 vlan1的作用。

可以參照下面這圖(雖然是針對wrt54g的,但同樣適用於3500L)理解上面那段話:

如果還是看著亂的話,邏輯視圖可以參考下面:

可以發現沒有eth0的存在。因為eth0這個interface本身並沒有被使用,系統直接使用的是在它的基礎上衍生出的 vlan0,vlan1,ifconfig可以發生eth0根本沒有分配ip。當然vlan0和eth1也是通過組合成br0的形式被使用的,我們在路由中分配的lan ip實際上就是分配給br0的。如果是pppoe撥號的話,使用的interface是vlan1,這時vlan1也處於和eth0同樣的境地,因為此時系統使用來串連網路的是撥號成功時產生的ppp0。ppp0本身使用著ISP提供的公網IP。

預設的方案是把四個lan口綁在一個vlan裡了,其實完全可以設定switch的參數來劃分更多的vlan,形成多wan口路由來串連不同的子網或是多撥什麼的,總共5個口最多可以配成4wan+1lan。當然這是理論上的,具體情況要看路由器韌體的支援程度了。配置switch的辦法各個韌體都不一樣,可以搜尋一下。

之前一直認為做路由用的話機器上至少需要2個連接埠,但從分析3500L來看,單連接埠的linux機器,配合一個帶vlan的交換器,也是同樣能具備路由功能。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.