用路由器让VLAN之间互通2个路由器如何实现互通
在上一篇文章留的小問題中,如果兩臺(tái)電腦的IP地址在同一個(gè)網(wǎng)段,電腦會(huì)認(rèn)為在同一個(gè)廣播域,所以,如果倆電腦加入相同的VLAN,必然可以互通;但如果加入了不同的VLAN,由于彼此"聽"不到對方的ARP廣播,自然也不會(huì)應(yīng)答,所以無法互通。
如果倆電腦的IP地址不在同一個(gè)網(wǎng)段,電腦會(huì)認(rèn)為不在同一個(gè)廣播域,會(huì)各自找自己網(wǎng)段的網(wǎng)關(guān)。現(xiàn)實(shí)生活中一個(gè)房間可能會(huì)有多個(gè)門,但一個(gè)廣播域只能有一個(gè)網(wǎng)關(guān)。所以,電腦的IP地址不在同一個(gè)網(wǎng)段,不論是否在一個(gè)VLAN,都不能互通。
一般地,在進(jìn)行IP地址規(guī)劃時(shí),一個(gè)VLAN規(guī)劃在一個(gè)網(wǎng)段,不同VLAN規(guī)劃在不同的網(wǎng)段。
也許有同學(xué)產(chǎn)生了疑問:VLAN雖然控制了廣播域,提高了網(wǎng)絡(luò)性能,但是不同VLAN間不能互訪也不成啊,難道電腦間要通信只能在同一個(gè)VLAN同一個(gè)網(wǎng)段?
當(dāng)然不是了,VLAN只是在二層進(jìn)行了隔離,目的是控制廣播幀。VLAN間要互通,可以通過三層來實(shí)現(xiàn),即所謂的VLAN間路由。
提到路由,最先想到的就是路由器。不錯(cuò),用路由器的確可以實(shí)現(xiàn)VLAN間互通。
要在VLAN間互訪,那么VLAN內(nèi)的電腦必須填寫網(wǎng)關(guān)(gateway)地址,網(wǎng)關(guān)地址就是該VLAN連接的三層設(shè)備的接口地址。
圖中,PCA訪問PCC,由于PCA和路由器的端口1都在VLAN2內(nèi),所以可以通過ARP互相獲得對方的MAC地址;同理,PCC和路由器的端口3也可以得到對方的MAC地址。
PCA發(fā)出訪問PCC的標(biāo)準(zhǔn)幀,交換機(jī)端口1收到后打上tag變成802.1Q幀,VID為2,然后送到端口3。端口3拆去tag變成標(biāo)準(zhǔn)幀后發(fā)出。路由器端口1收到后拆除以太網(wǎng)封裝,查找路由表后送到端口3,端口3通過ARP獲取PCC的MAC地址后,封裝為標(biāo)準(zhǔn)以太網(wǎng)幀發(fā)出。交換機(jī)端口12收到后打上tag變成802.1Q幀,VID為4,然后送到端口9,端口9拆去tag變回標(biāo)準(zhǔn)幀發(fā)給了PCC。
看上去毫無問題,非常完美!可是,交換機(jī)上有3個(gè)VLAN,路由器就需要3個(gè)端口。如果交換機(jī)上有30個(gè)VLAN呢?
交換機(jī)上的端口數(shù)量通常很多,24口、48口甚至更多,由于交換機(jī)的所有端口僅支持以太網(wǎng),所以交換機(jī)的全名叫"以太網(wǎng)交換機(jī)"。
但路由器就不同了,路由器的主要功能不僅是實(shí)現(xiàn)三層轉(zhuǎn)發(fā),更重要的是實(shí)現(xiàn)不同鏈路層協(xié)議之間的互通,即所謂的"異種網(wǎng)絡(luò)"互通。鏈路層協(xié)議有很多,除了我們熟悉的以太網(wǎng)外,還有PPP、HDLC、幀中繼、ATM等等。所以路由器的接口一般都是由支持不同鏈路層協(xié)議的擴(kuò)展板卡提供,實(shí)現(xiàn)不同鏈路層協(xié)議之間的互通。
所以,路由器實(shí)際上并沒有那么多的以太網(wǎng)端口!即使有,一個(gè)VLAN占一個(gè)端口,也顯得太浪費(fèi)了。
不過,路由器的以太網(wǎng)口可以支持"子接口"!
子接口是一種邏輯接口,一個(gè)物理接口可以劃分出多個(gè)"子接口"。一條公路,中間劃條線就是雙車道,劃兩條線就是三車道,但實(shí)際上還是一條路。
路由器一個(gè)接口劃成多個(gè)子接口,每個(gè)子接口處理不同VLAN的幀,就可以節(jié)省大量的物理接口。
這種形式,叫做單臂路由。
圖中,路由器G0/0是物理接口,劃分了三個(gè)子接口G0/0.1、G0/0.2和G0/0.3,每個(gè)子接口綁定一個(gè)VID,專門負(fù)責(zé)處理攜帶此VID的802.1Q幀,同時(shí)配置一個(gè)IP地址作為該VLAN的網(wǎng)關(guān)。
交換機(jī)通過一個(gè)Trunk接口連接路由器G0/0接口。
PCA訪問PCB時(shí),PCA發(fā)出的標(biāo)準(zhǔn)幀被交換機(jī)打上VID2,成為802.1Q幀后來到Trunk接口(Trunk接口一般默認(rèn)PVID為1),Trunk接口發(fā)現(xiàn)此幀的VID與自己的PVID不同,把此802.1Q幀原樣發(fā)給路由器。路由器G0/0接口收到后,根據(jù)攜帶的VID交給子接口G0/0.1,G0/0.1一看VID,沒錯(cuò),是我的貨,拆除以太網(wǎng)封裝,送到路由器轉(zhuǎn)發(fā)進(jìn)程查找路由表,路由器根據(jù)目的IP地址,把數(shù)據(jù)包送到子接口G0/0.2,G0/0.2封裝為以太網(wǎng)幀,并打上VID3變成802.1Q幀后發(fā)給交換機(jī),交換機(jī)收到后根據(jù)VID送到連接PCB的端口,端口拆除tag變成標(biāo)準(zhǔn)幀后發(fā)給PCB。
在單臂路由中,路由器只需要一個(gè)接口就可以實(shí)現(xiàn)交換機(jī)上所有VLAN間的互通,為路由器節(jié)省了大量端口。不過我們發(fā)現(xiàn),VLAN間互通的數(shù)據(jù)會(huì)在這條Trunk鏈路上跑個(gè)來回,如果交換機(jī)VLAN較多、數(shù)據(jù)量較大,這條鏈路很容易"堵車",導(dǎo)致網(wǎng)絡(luò)性能下降,但更重要的是,這對路由器的性能是一個(gè)巨大挑戰(zhàn)。與其說導(dǎo)致網(wǎng)絡(luò)性能下降的原因是鏈路"堵車"了,倒不如說是因?yàn)槁酚善鞑餿ag、查路由、加tag,疲于奔命,太累了!
有沒有更好的辦法呢?
小Q:電腦的IP地址和網(wǎng)關(guān)必須在同一個(gè)網(wǎng)段嗎?
歡迎大家留言討論。
總結(jié)
以上是生活随笔為你收集整理的用路由器让VLAN之间互通2个路由器如何实现互通的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Cassandra和Jav
- 下一篇: linux系统安装U盘(linux系统安