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