二層交換機VLAN間可以通信嗎?

我們知道VLAN屬於“二層”概念,VLAN之間一般情況下是不允許相互通信的,這也下是VLAN的核心用之一--隔離數據通信,減少廣播傳播範圍。在“三層”交換機上,我們可以通信開啟IP routing來達到VLAN間通信的目的,但這不在本文討論範圍之內。今天我們要談的是,二層交換機VLAN間可以通信嗎?


二層交換機VLAN間可以通信嗎?



網絡環境搭建

帶著問題,我們先來搭建一個簡單的網絡。


二層交換機VLAN間可以通信嗎?

網絡拓撲

兩臺2950交換機(二層設備)均通過f0/1接口互聯,2臺PC,PC0連接switch0的f0/2口,PC1連接switch1的f0/2口。PC0的IP地址設置為192.168.10.1,子網掩碼255.255.255.0,PC1的IP地址設置為192.168.10.2,子網掩碼同樣是255.255.255.0。是的,這兩臺PC在同一個子網裡。

配置交換機

在switch0上,將f0/1和f0/2網絡接口進行如下配置:


二層交換機VLAN間可以通信嗎?

switch0關鍵配置

其實就是將f0/1和f0/2設置為access模式,並且歸屬於vlan 10。

在switch1上,將f0/1和f0/2網絡接口進行如下配置:


二層交換機VLAN間可以通信嗎?

switch1關鍵配置

將f0/1和f0/2設置為access模式,並且歸屬於vlan 20。

測試VLAN間通信

在PC0上使用PING命令,看是否能夠PING通PC1。


二層交換機VLAN間可以通信嗎?

PC0與PC1網絡連接性測試

我們可以觀察到從PC0上(192.168.10.1)是通過與PC1(192.168.10.2)正常通信的。按理說,PC0和PC1歸屬於不同的VLAN,他們之間應該不能通信才對,可偏偏,他們之間能夠正常通信,似乎不太科學。

紙面分析

我們分析一下整個通信過程,PC0首先發起通信,數據包到了switch0的f0/2口,這個接口被配置為vlan 10,此時,switch0會查找有沒有其它也歸屬為vlan 10的接口,經過查找,switch0發現f0/1口也被配置為了vlan 10,於是它將來自PC0的報文轉發到了f0/1口,因為是ACCESS模式,報文並不會被打上VLAN標籤,而只是單純的轉發報文(這是重點!要理解喲!)。報文通過switch0的f0/1口發送到了switch1的f0/1口,而switch1的f0/1被配置為vlan 20,因為這是一個普通的報文(未被打上任何VLAN標籤),它會將這個報文歸屬為vlan 20,並且也不會給報文打上VLAN標籤,此時switch1只是尋找在設備上其它歸屬為vlan 20的端口並轉發該報文,經過查找,switch1發現f0/2口歸屬於vlan 20,於是就將報文轉發到了f0/2口,而f0/2口接的是PC1,此時PC1正常接收到了來自PC0的報文,經過處理,PC1將報文返回到f0/2口,交換機再次重複進行前面分析的步驟,最終報文回到了PC0上,完成了一次PC0和PC1的交互通信。這就是二層交換機上VLAN間能夠通信的秘密。

通過上述分析,我們得到了答案,二層交換機VLAN間是有辦法通信的,前提是通信雙方要配置為一個網段,並且都得使用ACCESS模式(只有這種模式不會給報文打上VLAN標籤)。通過這個例子,希望能夠加深大家對VLAN間通信的理解,如果能讓看官們有所收穫,那麼,本文就有了價值。


分享到:


相關文章: