◆廖繼東 伍琰
(河南省總工會(huì)干部學(xué)校 河南 45002)
VLAN 是一種依賴于交換技術(shù)之上的,基于協(xié)議的虛擬網(wǎng)絡(luò)技術(shù)[1]。每個(gè) VLAN 都由一組相同需求的計(jì)算機(jī)組成,并且這些計(jì)算機(jī)可以來(lái)自不同的物理空間,VLAN 內(nèi)的主機(jī)間通信就和在一個(gè)LAN 內(nèi)一樣;而VLAN 之間則不能直接互通,每個(gè)VLAN 是一個(gè)廣播域,廣播報(bào)文就被限制在一個(gè)VLAN 內(nèi)[2]。
初學(xué)者對(duì)VLAN 的劃分比較容易掌握,但是對(duì)VLAN 的工作機(jī)制、相關(guān)協(xié)議并不是很清楚。作者以思科Packet Tracer 為實(shí)驗(yàn)平臺(tái),搭建VLAN 的網(wǎng)絡(luò)拓?fù)洌鐖D1,通過(guò)抓取協(xié)議包來(lái)分析VLAN 的工作機(jī)制,以提供對(duì)VLAN 技術(shù)更清晰的認(rèn)識(shí)。

圖1 實(shí)驗(yàn)拓?fù)?/p>
其中PC0、PC2、PC4 劃到VLAN 10,PC1 和PC3 劃到VLAN 20,兩臺(tái)交換機(jī)之間使用trunk 鏈路。
通過(guò)PC0(192.168.1.10)PING PC2(192.168.1.20),我們發(fā)現(xiàn)盡管這兩臺(tái)PC 不屬于一臺(tái)交換機(jī),但是屬同一VLAN,他們可以PING 通。通過(guò)PC0(192.168.1.10)PING PC1(192.168.1.100),我們發(fā)現(xiàn)盡管這兩臺(tái)PC 同屬于一臺(tái)交換機(jī),一個(gè)網(wǎng)段,但是由于分屬不同VLAN,他們不能PING 通。
那么交換機(jī)是如何來(lái)識(shí)別數(shù)據(jù)幀是否屬于不同的VLAN 呢?
IEEE 于1999 年頒布了用以標(biāo)準(zhǔn)化VLAN 實(shí)現(xiàn)方案的IEEE 802.1Q 協(xié)議標(biāo)準(zhǔn)草案。思科還可以使用私有協(xié)議ISL 進(jìn)行封裝[3],由于很少使用這里不作討論。802.1Q VLAN 只定義了數(shù)據(jù)幀的封裝格式,即,在以太網(wǎng)幀頭中插入了4 個(gè)字節(jié)的VLAN 字段。
我們通過(guò)交換機(jī)1 的VLAN10 的PC0(192.168.1.10)PING 交換機(jī)2 的VLAN10 的PC2(192.168.1.20),兩臺(tái)交換機(jī)連接端口設(shè)置為trunk,可以PING 通。通過(guò)抓取協(xié)議包,我們可以看到,ICMP 包在Trunk 鏈路上被封裝為802.1q 數(shù)據(jù)幀。
如圖2 所示,IEEE802.1Q 就是在幀中插入了一個(gè)四個(gè)字節(jié)的TAG 標(biāo)簽[3]:

圖2 802.1Q 的幀結(jié)構(gòu)
(1)標(biāo)記協(xié)議標(biāo)致(TPID):固定值0x8100,標(biāo)識(shí)該幀載有802.1Q標(biāo)記信息
(2)標(biāo)記控制信息(TCI):
Priority:優(yōu)先級(jí),3 比特。……