李安邦
摘要:該文介紹了VLAN功能和作用;分析數(shù)據(jù)幀在實現(xiàn)VLAN時的標記過程;對比思科和華為討論了兩者在VLAN實現(xiàn)上的共同點和差異;對交換機端口的幾種基本模式進行比較;通過案例分析了hybrid模式的使用。
關鍵詞:VLAN;標記;hybrid
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)27-0027-03
虛擬局域網(wǎng)(Virtual Local Area Network)是交換技術(shù)中常見的技術(shù),在大中型局域網(wǎng)的設計、組建、維護中應用VLAN是普遍的現(xiàn)象。在改造、擴建、合并、管理網(wǎng)絡的過程中,可能會遇到多種品牌的網(wǎng)絡設備。
本文討論的范圍僅限VLAN的應用。在眾多品牌設備中選取華為與思科這兩種具有代表性的品牌進行比較分析。在介紹時使用軟件仿真的方式,選用思科的packet tracer以及華為的eNSP作為實驗平臺。
1 VLAN概述
VLAN是在邏輯上對局域網(wǎng)中的設備和用戶進行劃分,使得劃分后相同VLAN內(nèi)的設備和用戶之間的通信就像同一網(wǎng)段中一樣。這些設備和用戶可以不受物理位置的限制,可以根據(jù)功能、部門和應用等來進行劃分。網(wǎng)絡中引入VLAN技術(shù),可以解決以下問題:
一是為了限制局域網(wǎng)中的廣播。就目前的IPv4而言,局域網(wǎng)內(nèi)的廣播應用是不可避免的,比如ARP、DHCP。交換機在處理廣播幀時,是向所有其他相連的端口轉(zhuǎn)發(fā)該廣播報文。這樣就使得局域網(wǎng)的規(guī)模越大,局域網(wǎng)中所有節(jié)點接收處理的廣播幀就越多,從而使網(wǎng)絡不堪重負性能下降甚至癱瘓。除此之外,由于蠕蟲病毒、交換機故障、網(wǎng)卡故障、交換機沒有啟用生成樹協(xié)議形成環(huán)路等其他原因,也可能導致類似問題,這就是“廣播風暴”。
將局域網(wǎng)劃分VLAN后,可以使得同一VLAN內(nèi)設備不接收其他VLAN的廣播,將可能產(chǎn)生的故障范圍限制到一定的區(qū)域。故而,在小型局域網(wǎng),較少應用VLAN;在大中型局域網(wǎng),普遍會應用VLAN。
二是為了網(wǎng)絡的安全和管理。劃分VLAN后,屬于不同VLAN的設備間不能直接通信,這樣就為網(wǎng)絡的安全和管理提供了一種技術(shù)手段。比如將含有敏感信息的用戶組劃分為某個VLAN(如VLAN 10),其他不屬于該VLAN的用戶則不能訪問該VLAN(VLAN 0)。
反之,如果VLAN間的用戶需要互相訪問,得借助三層交換或單臂路由等其他手段來完成通信。這里值得一提的是,華為提供了更多的技術(shù)手段來實現(xiàn)這一目的。
2 VLAN標記
所有品牌的交換機都支持的VLAN標記標準是802.1Q,它是IEEE于1999年頒布的用以標準化VLAN的實現(xiàn)方案。思科還可以使用私有協(xié)議ISL進行封裝,由于很少使用這里不作討論。802.1Q包含以下字段:
TPID(16b):表明當前幀的類型,0X8100即802.1Q。
PRI(3b):優(yōu)先級,用于對QoS的支持。
CFI(1b):令牌環(huán)網(wǎng)標識。
VLAN ID(12b):表示所屬VLAN的ID。
思科交換機端口支持三種常用模式,接入模式(access)、中繼模式(trunk)、動態(tài)模式(dynamic);華為交換機端口支持三種常用模式,接入模式(access)、中繼模式(trunk)、混雜模式(hybrid)。除以上模式外,還有一種用于Q-in-Q隧道的dot1q-tunnul模式,這里不作討論。
2.1 access模式與trunk模式
在同一端口上,access模式與trunk模式只能選擇其一。配置成access模式的端口通常連接終端設備,配置成trunk模式的端口通常用來連接網(wǎng)絡設備(如交換機或路由器)。access模式下端口只能劃分給某一個VLAN,如:端口Fa0/1配置了access模式,劃分到了VLAN 2,如果再劃分到VLAN 3,則該端口不屬于VLAN 2了。trunk模式則是為了允許多個VLAN通過而設計的。
為了安全和管理,trunk模式可以控制指定VLAN流量能否通過該端口。在trunk模式下存在著本征VLAN這一概念,它是由思科最早提出的,本征VLAN的數(shù)據(jù)流量在經(jīng)過trunk鏈路時不打標記。華為對trunk pvid配置后,其效果和思科的本征VLAN是一樣的。
在trunk模式下發(fā)送數(shù)據(jù)幀時,當trunk端口允許相應的VLAN通過時,思科和華為交換機對除了本征VLAN外的其他VLAN進行標記。在access模式下發(fā)送數(shù)據(jù)幀時,當access端口收到和本接口所屬VLAN ID(簡稱VID)相同的數(shù)據(jù)幀才進行轉(zhuǎn)發(fā),不同則不進行轉(zhuǎn)發(fā)——由此實現(xiàn)了VLAN間的數(shù)據(jù)隔離。在轉(zhuǎn)發(fā)數(shù)據(jù)幀時,配置為access模式的端口,思科和華為都不帶標記。
設計實驗圖拓撲為下,分別在思科和華為模擬器上進行。將S1和S2之間的鏈路上兩端接口都配置成access模式,觀察數(shù)據(jù)幀標記情況,切換為trunk模式后觀察對比:
可以看到,華為和思科設備在靜態(tài)配置模式下(access和trunk)對數(shù)據(jù)幀的處理過程是一樣的。在某一臺交換機上,處于access模式下的兩個端口之間通信,是不帶標記的。其是否能夠通信,取決于通信的源目接口是否屬于相同VLAN,由這一臺交換機的接口配置來決定。在不同交換機之間實現(xiàn)兩個access端口之間的通信,一般是借助trunk端口來實現(xiàn)的。除本征VLAN外,數(shù)據(jù)幀在經(jīng)過trunk接口打上標記再發(fā)送,接收交換機比對本交換機的接口配置,根據(jù)VID是否相同來判斷能否互訪。
設計這樣一個實驗,在S1上將兩端的接口都設置為access模式,設置為VLAN2,在S2上將兩端的接口也都設置為access模式,設置為VLAN3,見圖4。圖中的兩臺終端設備PC0和PC1是可以通訊的,這就有悖于使用VLAN的初衷了。該實驗在華為和思科的模擬器上結(jié)果是一致的,理解了access和trunk的標記過程,不難理解這一實驗結(jié)果。
同理,如果將兩臺交換機之間設置為trunk模式,將VLAN2和VLAN3分別設置為本征VLAN,兩臺終端設備也是能夠通信的。要提醒的是,在trunk模式下,本征VLAN在鏈路兩端不匹配會報錯。思科的某些型號交換機在配置trunk前還需要配置trunk封裝類型,指定為dot1q(即802.1Q)。思科的trunk模式默認為允許所有VLAN通過,易連通;華為的trunk模式默認允許VLAN 1通過,側(cè)重安全。
2.2 dynamic模式與hybrid模式
Dynamic模式與Hybrid模式分別為華為和思科交換機端口的默認模式。思科的Dynamic模式使用DTP協(xié)議(華為也有類似的LNP協(xié)議),可以為auto或desirable模式,動態(tài)協(xié)商接口為access或trunk模式。不同型號的思科設備其默認模式不同(dynamic auto或dynamic desirable)。兩臺默認配置的思科交換機直接相連,其協(xié)商的接口類型可能是trunk,也可能是access。動態(tài)協(xié)商的目的是為了過渡到access或trunk模式,在對數(shù)據(jù)幀進行標記,最終還是遵循前文介紹的access和trunk模式標記規(guī)則。
由于動態(tài)模式運行了相關協(xié)議,會向?qū)Χ嗽O備發(fā)送協(xié)議報文進行協(xié)商,此過程會有泄漏設備信息的風險。并且動態(tài)協(xié)商結(jié)果具有不確定性,為網(wǎng)絡的穩(wěn)定性和安全帶來了隱患。故而實際應用中,不推薦使用該配置。
Hybrid模式和dynamic模式不同,和access、trunk一樣,是交換機接口的最終工作模式之一。Hybrid——混雜模式,一旦接口配置成該模式,看成access還是trunk得看具體配置,后面會介紹。經(jīng)過該端口的數(shù)據(jù)幀是否打標記根據(jù)配置決定。通過對hybrid端口配置,可以在實際應用中不借助三層技術(shù)手段實現(xiàn)不同VLAN間通信。
3 華為hybrid模式的使用
思科交換機沒有Hybrid模式也能夠在網(wǎng)絡中正常使用。但該模式的出現(xiàn),為復雜的網(wǎng)絡環(huán)境、多樣的客戶需求提供了一種技術(shù)手段來靈活處理。只有掌握VLAN通信過程中標記的作用以及標記過程,才能掌握hybrid的使用及配置。
3.1 hybrid模式特點介紹
在trunk模式下,可以通過allow-pass vlan對允許還是拒絕某個(些)VLAN通過該端口進行控制;而在hybrid模式下,不能通過allow-pass vlan對其控制,只有通過untagged/tagged對其控制。配置了untagged/tagged該VLAN的,這個VLAN的流量才被允許通過。
在hybrid模式下PVID有更豐富的內(nèi)涵,如果把該端口當作access接口,則PVID可以看成該接口劃分所屬的VLAN,同時必須配置untagged該VLAN;如果把該端口當作trunk接口,則PVID可以看成trunk接口的本征VLAN。
Tagged/untagged可以理解為哪些VLAN的數(shù)據(jù)幀在經(jīng)過該端口發(fā)送時打標記/不打標記。命令為:port hybrid untagged/tagged vlanall/VLAN ID。在實際應用時,打標記的情況容易理解,標記已經(jīng)清晰的說明該數(shù)據(jù)幀屬于哪個VLAN,按照前文提到的處理流程即可。容易混淆的是不打標記的情況,由于在hybrid模式下,untagged命令可以指定一個或多個VLAN在發(fā)送時不帶標記,接收端在接收時是不理會發(fā)送時曾經(jīng)屬于哪個VLAN的,按照接收端的PVID來處理不帶標記的數(shù)據(jù)幀。例如,發(fā)送端指定了VLAN 2和VLAN 3不帶標記,接收端指定了PVID為VLAN 10,則接收端收到的數(shù)據(jù)幀無論是VLAN 2還是VLAN 3,統(tǒng)一視為VLAN 10。
3.2 使用hybrid實現(xiàn)VLAN間互訪
通過一個案例來進一步說明使用Hybrid模式實現(xiàn)VLAN間的互訪。在該案例中PC1和PC2分別屬于VLAN2和VLAN3,server1屬于VLAN100。在滿足其他常規(guī)網(wǎng)絡需求的前提下,使用hybrid使得PC1和PC2能訪問server1,如圖5。大題思路:在PC1上使用PING命令,讓PING包能訪問server1,并返回到PC1,且不影響VLAN的其他功能。
實驗前,S1、S2、S3的相關VLAN已創(chuàng)建。
(1) 讓連接PC1的接口充當access的角色,并劃分到VLAN2,S1的E0/0/2口。配置如下:
[S1-Ethernet0/0/2]port hybrid untagged vlan 2
[S1-Ethernet0/0/2]port hybrid pvid vlan 2
(2) 讓數(shù)據(jù)從S1發(fā)送給S2(將S1和S2之間的PVID設置為10便于查看PVID的作用,即本征VLAN的作用),此時只能標記接收端口的VLAN,即VLAN2。配置如下:
[S1-Ethernet0/0/1]port hybrid tagged vlan 2
[S1-Ethernet0/0/1]port hybrid pvid vlan 10
(3) 讓S2能接收S1發(fā)送的數(shù)據(jù)幀,其攜帶VLAN2標記。這里可以使用tagged,也可以使用untagged,在控制接收時tagged和untagged沒有區(qū)別。配置如下:
[S2-Ethernet0/0/1]port hybrid tagged vlan 2
[S2-Ethernet0/0/1]port hybrid pvid vlan 10
(4) 讓S2將數(shù)據(jù)幀從E0/0/2口發(fā)送,不帶標記,PVID指定為20。配置如下:
[S2-Ethernet0/0/2]port hybrid untagged vlan 2
[S2-Ethernet0/0/2]port hybrid pvid vlan 20
(5) 讓S3接收數(shù)據(jù)幀,此時數(shù)據(jù)幀不帶標記,PVID指定為20。當S3接收無標記幀時,只能認為該幀的VLAN為本接口PVID,即VLAN20。同理(步驟3),此時可以配置untagged,也可以配置tagged。配置如下:
[S3-Ethernet0/0/1]port hybrid untagged vlan 2
[S3-Ethernet0/0/1]port hybrid pvid vlan 20
(6) S3連接server1的接口充當access角色,劃分為VLAN100,且將接收屬于VLAN20的數(shù)據(jù)幀從E0/0/2口不帶標記的發(fā)送給server1。配置如下:
[S3-Ethernet0/0/2]port hybrid untagged vlan 20 100
[S3-Ethernet0/0/2]port hybrid pvid vlan 100
(7) S3的E0/0/2口也能接收從server1返回的PING包,但接收時由于其接口PVID為100,故S3認為該數(shù)據(jù)幀為VLAN 100。從E0/0/1發(fā)送給S2,且不帶標記。配置如下:
[S3-Ethernet0/0/1]port hybrid untagged vlan 100
(8) S2接收不帶標記的數(shù)據(jù)幀,由于接收端口PVID為20,S2認為數(shù)據(jù)幀屬于VLAN20。同理(步驟3),此時可以配置untagged,也可以配置tagged。配置如下:
[S2-Ethernet0/0/2]port hybrid untagged vlan 20
(9) S2將數(shù)據(jù)幀從E0/0/1口發(fā)送給S1,此時S2認為該數(shù)據(jù)幀為VLAN20,發(fā)送時必須帶標記。配置如下:
[S2-Ethernet0/0/1]port hybrid tagged vlan 20
(10) S1接收帶VLAN20標記的數(shù)據(jù)幀,同理(步驟3),此時可以配置untagged,也可以配置tagged。配置如下:
[S1-Ethernet0/0/1]port hybrid tagged vlan 20
(11) S1將屬于VLAN20的數(shù)據(jù)幀的標記去掉,發(fā)送給PC1。配置如下:
[S1-Ethernet0/0/2]port hybrid untagged vlan 20
PC2同server1的通信與以上過程類似,配置略。
PC1與server1通信,其數(shù)據(jù)幀標記過程見圖6。
以上案例通過hibrid對數(shù)據(jù)幀標記的控制,實現(xiàn)了VLAN間互訪。分析以上流程:同一個數(shù)據(jù)幀從始發(fā)端口的VLAN2開始,在經(jīng)過S2去標記后被S3接收當成VLAN20數(shù)據(jù)幀處理。即去標記后,數(shù)據(jù)幀和初始標記VLAN2已無關聯(lián),只和接收端口的PVID有關。在實際應用中,配置時需要對VLAN標記改變過程清晰,根據(jù)實際需要可靈活操作,但實現(xiàn)起來較access和trunk配置要煩瑣。
4 結(jié)束語
思科與華為在VLAN及相關技術(shù)應用時的差異還有很多,比如:在與路由器相連時,思科是切換成三層接口,華為是使用SVI相連;華為支持MUX VLAN、SUPER VLAN等等。本文從端口的基本模式和標記過程介紹了兩者在VLAN應用中的特點,通過案例分析了hybrid的使用方法,望能為網(wǎng)絡技術(shù)教學及其應用提供參考。
參考文獻:
[1] 孟祥成.基于eNSP的二層VLAN虛擬仿真實驗[J].實驗室研究與探索,2017(9):102-105.
[2] 廉佐政,王海珍.大型局域網(wǎng)中VLAN間可靠通信的仿真設計[J].計算機仿真,2015,32(7):296-302.
[3] 朱仕耿.HCNP路由交換學習指南[M].北京:人民郵電出版社,2018.
[通聯(lián)編輯:朱寶貴]