VLAN主要建立在交換機(jī)的基礎(chǔ)上,但在沒有三層交換機(jī)的情況下,如何利用路由器來解決VLAN之間通信的問題呢?本文通過實際案例進(jìn)行了講解。
第二層交換機(jī)工作在OSI參考模型的第2層(數(shù)據(jù)鏈路層)上,主要功能包括物理編址、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、錯誤校驗、幀序列以及流量控制等。為了改進(jìn)交換機(jī)的性能,廠商都推出了第三層交換機(jī),它在保留第二層計算機(jī)所有功能的前提上,增加了許多新的功能,如對VLAN的路由支持、對鏈路匯聚的支持,甚至具有防火墻的功能等。
本文內(nèi)容介紹了在沒有三層交換機(jī)的情況下如何利用廢舊路由器解決VLAN之間通信的問題。
一.三層交換機(jī)壞了怎么辦?
如今,實現(xiàn)VLAN間路由方法都是采用集成了路由處理器的交換機(jī)。這種情況下,路由處理器位于交換機(jī)機(jī)箱的某塊線路卡上。最新的匯聚層交換機(jī)的趨勢是將路由處理器集成在與交換引擎相同的模塊上。交換機(jī)的背板(backplane)提供了交換引擎和路由處理器之間的通信路徑。由于路由處理器直接與交換機(jī)背部相連,這使得路由器能更緊密地集成到交換過程中。這不僅能簡化配置,還能提供網(wǎng)絡(luò)中2層和3層之間的智能通信。
另處,由于這種方案提供了比外部trunk速率更高的鏈路,因此性能也得到改善。兩個使用內(nèi)部路由處理器交換機(jī)的例子是采用RSM的交換機(jī),VLAN間交換的速率可以達(dá)到175Mpps(百萬數(shù)據(jù)包/秒);以及采用使用MSFC2技術(shù)的交換機(jī),VLAN間交換的速率可達(dá)210Mpps。
下面是以Cisco 三層交換機(jī)為例的組網(wǎng)方案,這樣可以輕松的實現(xiàn)VLAN間的路由訪問和上網(wǎng)需求,如下圖所示。
圖 常見的中小型企業(yè)組網(wǎng)方案
在這種情況下如果三層交換機(jī)壞了怎么辦?有人說可能會說,再買一個不就完了!這里有三方面的因素使得三層交換機(jī)不會那么快的回到這個網(wǎng)絡(luò)中:
1.三層交換機(jī)的價格比較貴,即使是購買一個二手的CISCO 3550也要1萬多塊錢。
2.如果是政府或者事業(yè)單位的話,可能需要申報→審批→詢價→采購確認(rèn)→供貨商簽合同→用戶接收設(shè)備→反饋到負(fù)責(zé)采購的單位→工程施工等,一個漫長的過程。
二.問題分析(Router-on-a-Stick功能介紹)
前面我們已經(jīng)提到過,三層交換機(jī)實際上就是在二層交換機(jī)的基礎(chǔ)上增加了路由器模塊。這是一種物理的方法,如果要在外部加入一個路由器,讓路由器替代這一功能就可以替代三層交換機(jī)實現(xiàn)VLAN間的路由了。采用這種方法可以有效的利用現(xiàn)有的設(shè)備。
從技術(shù)上分析,只要路由器的以太網(wǎng)接口支持VLAN Trunking 功能,就可以把路由器與交換機(jī)之間的鏈路設(shè)置成Trunk,傳遞所有VLAN的數(shù)據(jù)流,在將路由器的這個以太網(wǎng)接口劃分成與VLAN數(shù)量相等的子接口,每個子接口連接一個VLAN,這種辦法稱為“Router-on-a-Stick”,如圖1所示。
圖1用外部路由器實現(xiàn)VLAN間路由(單臂路由)
很多路由器產(chǎn)品都支持這種翻譯過來叫做“單臂路由”的解決方案,如果現(xiàn)在的路由器不支持這項技術(shù),我們可以馬上購買一臺舊的路由器,價格應(yīng)該只在幾百元。事實上,幾乎所有支持下列功能路由器和交換機(jī)都支持這種方案:
* ISL或802.1Q(兩臺設(shè)備必須支持相同的trunking技術(shù));
* 快速以太網(wǎng)或吉比特以太網(wǎng)(兩臺設(shè)備必須支持相同的速率)。
三.問題解決與配置過程
要在一個路由器物理或者邏輯接口上實現(xiàn)單臂路由功能,必須要完成的工作包括:標(biāo)示接口、定義trunk的類型、為子接口分配IP地址。下面以思科的3500系列的交換機(jī)和CISCO 2600系列的路由器為例,使用802.1 Trunking實現(xiàn)一個單臂路由的案例,連接情況如圖2所示。
圖 2 Router-on-a-stick (Catalyt 3512-xl and Cisco 2621)
1.交換機(jī)上的配置
以下是引用片段:
3512xl#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
3512xl(config)#interface vlan 1
3512xl(config-if)#ip address 10.10.10.2 255.255.255.0
3512xl(config-if)#exit
3512xl(config)#ip default-gateway 10.10.10.1
3512xl(config)#end
3512xl#vlan database
3512xl(vlan)#vtp transparent
Setting device to VTP TRANSPARENT mode.
3512xl(vlan)#vlan 2
VLAN 2 added:
Name: VLAN0002
3512xl(vlan)#exit
APPLY completed.
Exiting....
3512xl#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
3512xl(config)#interface fastEthernet 0/1
3512xl(config-if)#switchport mode trunk
3512xl(config-if)#switchport trunk encapsulation dot1q
3512xl(config-if)#switchport trunk allowed vlan all
3512xl(config-if)#exit
3512xl(config)#interface fastEthernet 0/2
3512xl(config-if)#switchport access vlan 2
3512xl(config-if)#spanning-tree portfast
3512xl(config-if)#exit
3512xl(config)#interface fastEthernet 0/3
3512xl(config-if)#spanning-tree portfast
3512xl(config-if)#exit
2.路由器上配置
以下是引用片段:
c2600(config)#interface fastEthernet 0/0
c2600(config-if)#no shut
c2600(config-if)#exit
c2600(config)#interface fastEthernet 0/0.1
c2600(config-subif)#encapsulation dot1q 1 native
c2600(config-subif)#ip address 10.10.10.1 255.255.255.0
c2600(config-subif)#exit
c2600(config)#interface fastEthernet 0/0.2
c2600(config-subif)#encapsulation isl 2
c2600(config-subif)#encapsulation dot1q 2
c2600(config-subif)#ip address 10.10.11.1 255.255.255.0
c2600(config-subif)#exit
四.工程師觀點(diǎn)
使用trunk鏈路的主要優(yōu)點(diǎn)在于能減少所需要的路由器和交換機(jī)端口的數(shù)量。這不僅能節(jié)省開支,而且還能降低配置的復(fù)雜性。但使用Router-on-a-Stick的配置方案也有一些缺點(diǎn):
* 每個VLAN的帶寬可能不足;
* 在路由器上可能產(chǎn)生額外的開銷;
* 舊版本的Cisco IOS軟件在ISL接口上只支持有限的功能。
關(guān)于VLAN帶寬不足的問題,你可以想想,使用快速以太網(wǎng)鏈路就意味著所有的VLAN必須共享100Mbit/s的帶寬。一個VLAN就可能消耗整個路由器或者鏈路的容量(特別是在出現(xiàn)廣播風(fēng)暴時)。
這是因為路由器不僅要完成通常的路由選擇和數(shù)據(jù)轉(zhuǎn)發(fā)功能,還必須處理trunking協(xié)議所使用的封裝過程。