圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)的干貨

在文章《5分鐘讓你熟悉VLAN并掌握基本的配置,新手入門(mén)必備》,介紹過(guò)VLAN的劃分的幾種方法和配置,我非常好奇VLAN是一個(gè)怎樣的工作過(guò)程呢?它是如何做到隔離的功能,帶著這些疑問(wèn),今天一起來(lái)看看吧

VLAN基本通信原理

為了提高處理效率,交換機(jī)內(nèi)部的數(shù)據(jù)幀一律都帶有VLAN Tag,已統(tǒng)一方式處理。當(dāng)一個(gè)數(shù)據(jù)進(jìn)入交換機(jī)接口時(shí),如果沒(méi)有帶VLAN Tag標(biāo)簽,且該接口上配置了PVID,那么,該數(shù)據(jù)幀就會(huì)被標(biāo)記上接口的PVID。如果數(shù)據(jù)幀已經(jīng)帶有VLAN Tag,那么,即使接口已經(jīng)配置了PVID,交換機(jī)不會(huì)再給數(shù)據(jù)幀標(biāo)記VLAN Tag。

由于接口類(lèi)型不同,交換機(jī)對(duì)數(shù)據(jù)幀的處理過(guò)程也不同,具體的請(qǐng)查閱《交換機(jī)三種端口模式Access、Hybrid和Trunk對(duì)數(shù)據(jù)包Tag的處理過(guò)程

下面通過(guò)兩個(gè)案例來(lái)說(shuō)明一下VLAN的工作原理:

同一交換機(jī)不同VLAN情況

圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)干貨

上圖交換機(jī)分別配置了VLAN 10 20,同時(shí)把相應(yīng)的PC加入不同的VLAN中,通過(guò)在交換機(jī)上GE0/01和GE0/0/3抓包,發(fā)現(xiàn)GE0/0/1能抓取數(shù)據(jù)包,而GE0/0/3沒(méi)有數(shù)據(jù)包經(jīng)過(guò)。這也證實(shí)了VLAN的一個(gè)特性,隔離廣播風(fēng)暴。

圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)干貨

正常的情況先,PC1在和PC2的第一次通信,先廣播一個(gè)ARP請(qǐng)求,在交換機(jī)的所有端口,除了自己發(fā)送數(shù)據(jù)端口之外,其他端口都能正常收到的。但是上述拓?fù)溆捎趧澐至薞LAN,所以ARP廣播被GE0/0/3端口丟棄。所以導(dǎo)致PC1不能獲取PC2的MAC地址,導(dǎo)致無(wú)法通信。

小伙伴們看到這里,可能會(huì)說(shuō),我們能不能提前把PC2的MAC地址告訴PC1,這樣PC1就不用再發(fā)ARP廣播包去請(qǐng)求MAC地址啦。

通過(guò)在PC1和PC2中相互把對(duì)方的MAC地址進(jìn)行添加,執(zhí)行如下命令

<pre>PC1>arp -s 192.168.1.3 54-89-98-C1-58-5A
PC2>arp -s 192.168.1.2 54-89-98-05-20-B9
</pre>

添加完之后,重新在交換機(jī)GE0/0/1和GE0/0/3端口進(jìn)行抓包,如下圖,GE0/0/3還是沒(méi)有數(shù)據(jù)抓取到,這次GE0/0/1端口到ICMP包的請(qǐng)求超時(shí)。

圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)干貨

通過(guò)提前綁定MAC地址信息,但是,依然PC1和PC2不能相互訪問(wèn)。那么VLAN數(shù)據(jù)包是如何工作的呢?先來(lái)看Access端口在接收和發(fā)送數(shù)據(jù)包的是都做了什么操作。

Access接口對(duì)接收不帶Tag的報(bào)文處理:接收該報(bào)文,并打上缺省的VLAN ID

Access接口對(duì)接收帶Tag的報(bào)文處理:當(dāng)VLAN ID 與缺省VLAN ID相同時(shí),接收該報(bào)文;當(dāng)VLAN ID與缺省VLAN ID不同時(shí),丟棄該報(bào)文;

發(fā)送幀處理過(guò)程:先剝離幀的PVID Tag,然后再轉(zhuǎn)發(fā)。

注意:如果端口為access類(lèi)型,并加入了一個(gè)vlan ,那么這端口的PVID屬性值變成和VID值一樣;缺省VLAN ID 就是當(dāng)前加入的VLAN ID

從以上access端口接收發(fā)送數(shù)據(jù)包,可以大致推測(cè)出PC1和PC2的通信過(guò)程如下:

1、當(dāng)PC1發(fā)送數(shù)據(jù)包時(shí),數(shù)據(jù)包是不帶Tag標(biāo)簽的。進(jìn)入交換機(jī)GE0/0/1端口后,則被帶上VLAN 10 的標(biāo)簽。

2、當(dāng)交換機(jī)GE0/0/3端口接收到GE0/0/1端口發(fā)來(lái)的數(shù)據(jù)包,然后檢查發(fā)現(xiàn)是帶上Tag標(biāo)簽的,進(jìn)一步比較與自己的缺省VLAN是否一致,結(jié)果發(fā)現(xiàn)不一致,直接發(fā)數(shù)據(jù)包丟棄了。

同一交換機(jī)相同VLAN情況

圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)干貨

上圖兩臺(tái)交換機(jī)通過(guò)GE0/0/24端口互聯(lián),并把GE0/0/24配置成trunk口模式,允許VLAN 10、20通過(guò)。那么垮交換機(jī)的VLAN又是怎么一個(gè)流程呢?

先分別在SW1和SW2的GE0/0/24端口抓包,看看什么樣的數(shù)據(jù)包經(jīng)過(guò)GE0/0/24。

圖文并茂深入了解VLAN工作原理,不能錯(cuò)過(guò)干貨

從上圖看到通過(guò)SW1和SW2的G0/0/24端口數(shù)據(jù)包都是一樣的,攜帶了Tag標(biāo)簽。再來(lái)看看trunk收發(fā)數(shù)包的流程。

trunk端口對(duì)不帶Tag的報(bào)文處理:

  1. 打上缺省的VLAN ID,當(dāng)缺省VLAN ID在允許通過(guò)的VLAN ID列表時(shí),接收該報(bào)文。
  2. 當(dāng)缺省VLAN ID不在允許通過(guò)的VLAN ID列表時(shí),丟棄該報(bào)文。

trunk端口對(duì)帶Tag的報(bào)文處理:

  1. 當(dāng)VLAN ID在接口允許通過(guò)的VLAN ID列表里時(shí),接收該報(bào)文;
  2. 當(dāng)VLAN ID不在接口允許通過(guò)的VLAN ID列表時(shí),丟棄報(bào)文。

發(fā)送幀處理過(guò)程:

  1. 當(dāng)VLAN?ID與缺省VLAN?ID相同,且是該接口允許通過(guò)的VLAN ID時(shí),去掉Tag,發(fā)送該報(bào)文;
  2. 當(dāng)VLAN?ID與缺省VLAN?ID不同,且是該接口允許通過(guò)的VLAN?ID時(shí),保持原有Tag,發(fā)送該報(bào)文。

從以上Trunk端口收發(fā)數(shù)據(jù)包的處理過(guò)程,大致可以推測(cè)出PC1和PC3的過(guò)程如下:

  1. 當(dāng)PC1發(fā)送數(shù)據(jù)包到SW1端口(數(shù)據(jù)包不帶Tag標(biāo)簽),進(jìn)入SW1交換機(jī)的GE0/0/1端口后,被加上該端口VLAN ID 20進(jìn)行轉(zhuǎn)發(fā)。
  2. 進(jìn)行ARP廣播請(qǐng)求PC3端MAC地址,數(shù)據(jù)包進(jìn)入SW1的GE0/0/24端口,由于SW1的GE0/0/24端口為trunk模式,允許VLAN 10 和20通過(guò),并根據(jù)trunk端口發(fā)送幀處理過(guò)程。數(shù)據(jù)包順利到達(dá)SW2的G0/0/24端口。
  3. 由于ARP廣播包攜帶了Tag標(biāo)簽,只有對(duì)應(yīng)的端口對(duì)此廣播進(jìn)行處理,并相應(yīng)。
  4. PC1得到PC3的MAC地址,進(jìn)行數(shù)據(jù)包封裝轉(zhuǎn)發(fā),進(jìn)行通信。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容