邵鵬飛,苗瑾超,金強山
(1.浙江萬里學(xué)院信息與智能工程學(xué)院,浙江寧波315100;2.新疆理工學(xué)院信息工程系,新疆阿克蘇843100)
交換式以太網(wǎng)和無線局域網(wǎng)是目前最主要的兩種局域網(wǎng)技術(shù)。在交換式以太網(wǎng)和無線局域網(wǎng)組網(wǎng)中,虛擬局域網(wǎng)(Virtual Local Area Networks,VLAN)技術(shù)可以減少廣播域的范圍,減少局域網(wǎng)內(nèi)的廣播流量,解決廣播風(fēng)暴問題并帶來更好的安全性,得到了廣泛的應(yīng)用[1-2]。無論是實際的網(wǎng)絡(luò)工程,還是高校的計算機網(wǎng)絡(luò)課程,VLAN技術(shù)都是局域網(wǎng)必不可少的內(nèi)容之一[3-4]。根據(jù)“懂建管用”應(yīng)用型網(wǎng)絡(luò)人才培養(yǎng)目標,VLAN配置也成了實驗教學(xué)中不可缺少的實驗內(nèi)容[5-8]。
在VLAN配置中,靈活運用接口VLAN(Port VLAN ID,PVID)特性對組網(wǎng)具有重要的意義。在一些組網(wǎng)場景中,比如采用集中控制的無線接入點控制和配置(Control and Provisioning of Wireless Access Points,CAPWAP[9-10])組建無線局域網(wǎng)時,只有通過正確的PVID配置才能實現(xiàn)其功能目標。而在一些特殊的情況下,PVID的不恰當配置將導(dǎo)致不同VLAN間的二層互通,出現(xiàn)意想不到的網(wǎng)絡(luò)漏洞。
企業(yè)網(wǎng)絡(luò)仿真平臺(Enterprise Network Simulation Platform,eNSP)是一款免費、可擴展、圖形化操作的網(wǎng)絡(luò)仿真軟件,功能強大,對組網(wǎng)的網(wǎng)絡(luò)設(shè)備數(shù)量沒有限制。借助eNSP軟件構(gòu)建大規(guī)模網(wǎng)絡(luò)模擬實驗環(huán)境,可以提高實驗效率,降低實驗成本[11-13]。下文案例中的網(wǎng)絡(luò)結(jié)構(gòu)和實驗?zāi)M都在eNSP中完成。
VLAN通過在數(shù)據(jù)幀中附加一個VLAN標簽來標記數(shù)據(jù)幀能在哪個VLAN中傳播。在VLAN環(huán)境,主要有3種鏈路類型接口:access、trunk和hybrid,分別運用于不同的工程場景。Access鏈路類型接口只默認VLAN(PVID)的以太網(wǎng)幀通過,對終端主機透明,常用于連接不需要識別802.1Q協(xié)議的設(shè)備,如終端主機、路由器等。Trunk鏈路類型接口可以接收和發(fā)送多個VLAN的數(shù)據(jù)幀,且在接收和發(fā)送過程中不對幀中的標簽進行任何操作,PVID除外,常用于交換機之間的互聯(lián)。Hybrid鏈路類型接口可以接收和發(fā)送多個VLAN的數(shù)據(jù)幀,同時還能夠指定對任何VLAN幀進行剝離標簽操作,包括PVID,常用于網(wǎng)絡(luò)中大部分主機之間需要隔離,但這些隔離的主機又需要與另一臺主機互通的場景??梢钥闯?,這3種鏈路類型接口都與PVID密切相關(guān)。
在VLAN環(huán)境下,原則上只允許同一VLAN內(nèi)的2層通信,不允許不同VLAN間的2層通信。不同VLAN內(nèi)的主機之間若要實現(xiàn)通信,一般通過VLAN的3層接口實現(xiàn)第3層互通。在無線局域網(wǎng)中,移動終端從同一VLAN內(nèi)的一個AP切到另一個AP時通信不中斷就是2層漫游,而在不同VLAN內(nèi)的AP之間切換通信不中斷就是3層漫游。
本節(jié)主要通過一些特殊案例分析PVID在VLAN配置中的重要作用和影響。案例包括只有通過PVID設(shè)置才能實現(xiàn)組網(wǎng)功能、PVID設(shè)置形成不同VLAN間的2層互通等網(wǎng)絡(luò)場景。
案例1Trunk路徑上不能識別802.1Q協(xié)議的設(shè)備接入。
例如,在CAPWAP組建無線局域網(wǎng)(Wireless Local Area Networks,WLAN)時,根據(jù)CAPWAP 標準組網(wǎng)方式,訪問控制器(Access Controller,AC)與AP之間直連或通過交換機旁接的形式相連,圖1所示為直連方式。
圖1 CAPWAP組建WLAN結(jié)構(gòu)(直連)
一方面,AP啟動后,需通過DHCP、DNS或廣播發(fā)現(xiàn)等形式連接AC并建立隧道。由于AP都是零配置,此時AP相當于一個不能識別802.1Q協(xié)議的設(shè)備,AC與AP互連的接口應(yīng)設(shè)置為access鏈路接口類型。另一方面,WLAN中一般至少需要兩個VLAN:業(yè)務(wù)VLAN(傳輸用戶上網(wǎng)數(shù)據(jù))和管理VLAN(管理AP等設(shè)備),即在AP和AC之間至少有兩個VLAN的數(shù)據(jù)流。由于要通過多個VLAN,AC與AP互連的接口又應(yīng)設(shè)置為trunk鏈路接口類型。在這種情況下,不管需要多少個業(yè)務(wù)VLAN,管理VLAN只需要1個,只需在AC與AP之間的trunk鏈路上把AC端接口的PVID設(shè)置為管理VLAN,就可同時滿足這兩方面要求。圖1中,假設(shè)業(yè)務(wù)VLAN為VLAN 100,管理VLAN為VLAN 101,則AC1上接口VLAN的主要配置如下:
案例2不同VLAN間的2層互通。
在單交換機組網(wǎng)結(jié)構(gòu)中,根據(jù)VLAN技術(shù)原理,不存在不同VLAN間能互通的情況。
在多交換機組網(wǎng)結(jié)構(gòu)中,典型如圖2所示的3層網(wǎng)絡(luò)結(jié)構(gòu)。PC1和PC2分別連在不同的交換機上,它們之間互通的路徑如圖中紅線標注,除兩端是連接PC的access鏈路,其他都是交換機之間互連的鏈路。通常,正確配置交換機之間的VLAN鏈路后,相當于打通了源接口(本例中即連接PC1的交換機接口)到目的接口(本例中即連接PC2的交換機接口)之間的VLAN通路,此時相同VLAN內(nèi)能2層互通,不同VLAN之間不能2層互通。根據(jù)VLAN(技術(shù))原理,跨越多個交換機的VLAN通路與兩個交換機之間的VLAN通路在配置方法和結(jié)果上應(yīng)該是一致的,因此簡化起見,以兩個交換機組網(wǎng)為例,設(shè)計的實驗結(jié)構(gòu)如圖3所示,PC1和PC2分別連在不同交換機下,兩交換機之間直接相連。
圖2 典型的3層多交換機網(wǎng)絡(luò)結(jié)構(gòu)
圖3 簡化的多交換機組網(wǎng)結(jié)構(gòu)實驗
基于交換機接口進行VLAN配置,假設(shè)PC1和PC2分別屬于VLAN 10和VLAN 20。兩主機的IP地址配置信息為:PC1:10.10.10.1,255.255.255.0;PC2:10.10.10.2,255.255.255.0。
方案1基于交換機間access鏈路的PVID設(shè)置實現(xiàn)不同VLAN間的2層互通。
具體配置如下:
LSW1配置:
(1)創(chuàng)建VLAN 10
(2)接口Ethernet0/0/1:access類型,pvid:10
(3)接口Ethernet0/0/2:access類型,pvid:10
LSW2配置:
(1)創(chuàng)建VLAN 20
(2)接口Ethernet0/0/1:access類型,pvid:20
(3)接口Ethernet0/0/2:access類型,pvid:20
實驗結(jié)果及分析:此時PC1屬于VLAN 10,PC2屬于VLAN 20,在第2層通信時,原則上不同VLAN之間是不通的,但此時PC1和PC2之間是能ping通的。這是因為在access鏈路上,出接口時去掉標簽,到達對端接口時被打上該接口的PVID標簽,這相當于有了一次更改數(shù)據(jù)幀VLAN標簽的機會。但這種不同VLAN之間的2層互通意義不大,因為在大多數(shù)網(wǎng)絡(luò)工程應(yīng)用環(huán)境中,交換機之間互聯(lián)的2層鏈路應(yīng)該是trunk鏈路,允許多個VLAN通過,而不是本方案所示單方向僅允許一個VLAN通過。但在教學(xué)中,通過這個案例可以讓學(xué)生更好地理解access接口及其鏈路特性。
方案2基于交換機間trunk鏈路的PVID設(shè)置實現(xiàn)不同VLAN間的2層互通。
具體配置如下:
LSW1配置:
(1)創(chuàng)建VLAN 10
(2)接口Ethernet0/0/1:access類型,pvid:10
(3)接口Ethernet0/0/2:trunk 類型,pvid:10,allow-pass vlan:all
LSW2配置:
(1)創(chuàng)建VLAN 20
(2)接口Ethernet0/0/1:access類型,pvid:20
(3)接口Ethernet0/0/2:trunk 類型,pvid:20,allow-pass vlan:all
實驗結(jié)果及分析:PC1屬于VLAN 10,PC2屬于VLAN 20,但PC1和PC2之間能相互ping通,即PC1和PC2在第2層實現(xiàn)了互通。這是因為trunk鏈路上存在唯一情況可實現(xiàn)不同VLAN之間的2層互通,當數(shù)據(jù)幀帶的VLAN標簽與trunk口的PVID相同時,出接口時去掉標簽,到達對端trunk口時被打上該trunk口的PVID,這就有了一次更改數(shù)據(jù)幀VLAN標簽的機會。在實際網(wǎng)絡(luò)工程中,trunk鏈路上允許多個帶標簽的VLAN通過,從而實現(xiàn)跨交換機的VLAN內(nèi)通信,本方案所示的兩個不同VLAN之間的2層互通屬于特殊情況,其他不同VLAN之間的2層互通就不行了。在教學(xué)中,通過這個案例可以讓學(xué)生更好地理解trunk接口及其鏈路特性。在工程應(yīng)用中,這種不同VLAN間的特例互通可被充分用起來實現(xiàn)某些階段特需的功能。
總之,從本例的兩個方案可以看出,通過接口PVID特性的靈活運用和設(shè)置,可實現(xiàn)不同VLAN間的2層互通。但在網(wǎng)絡(luò)工程中,原則上這種2層互通是不允許的,這樣會出現(xiàn)網(wǎng)絡(luò)漏洞,因此配置PVID時務(wù)必注意這一點。
案例3智能變電站VLAN應(yīng)用配置。
過程層網(wǎng)絡(luò)是智能變電站內(nèi)間隔層設(shè)備和過程層設(shè)備之間的網(wǎng)絡(luò),負責(zé)實現(xiàn)這兩層設(shè)備之間的數(shù)據(jù)傳輸。在過程層網(wǎng)絡(luò)中,考慮需求、功能及實際應(yīng)用等多方面因素,目前主要采用VLAN技術(shù)對數(shù)據(jù)進行分類導(dǎo)向和流量控制,以優(yōu)化數(shù)據(jù)傳輸、提高通信效率,實現(xiàn)網(wǎng)絡(luò)的動態(tài)管理,增加安全性,限制廣播包等[14-15]。過程層交換機的VLAN配置主要有兩種方式:人工配置VLAN和VLAN配置表自動生成。由于人工配置VLAN存在眾多的問題,VLAN配置表自動生成技術(shù)成為近年來研究和應(yīng)用的熱點[16-17]。但無論是人工配置VLAN方式還是VLAN配置表自動生成方式,PVID的規(guī)劃和設(shè)置都是關(guān)鍵。
在人工設(shè)置VLAN中,PVID相同的接口屬于同一VLAN。兩接口的PVID不同,但允許通過的VLAN互相包含對方的PVID,也能相互收發(fā)數(shù)據(jù),類似于普通計算機網(wǎng)絡(luò)中trunk鏈路相連的交換機間的相同VLAN內(nèi)通信。VLAN中的某個設(shè)備與其他VLAN的設(shè)備發(fā)生數(shù)據(jù)交換時,如跨間隔設(shè)備母線保護裝置、備自投裝置等,需單獨分配PVID,以便可靠隔離潛在的網(wǎng)絡(luò)風(fēng)暴,類似于通過交換機間trunk鏈路上的PVID設(shè)置實現(xiàn)不同VLAN間2層互通的網(wǎng)絡(luò)場景。
在VLAN配置表自動生成方式中,如圖4所示,PVID的分配方式和設(shè)置是關(guān)鍵步驟之一。無論是基于裝置分配VLAN,還是交換機接口分配VLAN,都需要依靠交換機接口的PVID對每個進入交換機的報文打VLAN標簽。從精細化控制流量的角度,對于PVID的自動劃分,根據(jù)接口分配PVID,軟件實現(xiàn)較為簡單,流量控制顆粒度也較為精細,不受單雙網(wǎng)影響,適宜在智能變電站推廣應(yīng)用。
圖4 VLAN配置表自動生成
在實際網(wǎng)絡(luò)工程應(yīng)用及計算機網(wǎng)絡(luò)課程教學(xué)中,VLAN都是局域網(wǎng)組建中使用的主要技術(shù)之一。本文通過多個網(wǎng)絡(luò)案例分析得出,在VLAN配置中交換機互連鏈路的PVID設(shè)置起到很大的作用。其設(shè)置原則是:要保證單交換機下兩個接口之間能夠互通,交換機互連接口的PVID應(yīng)設(shè)置為與用戶VLAN ID相同;利用trunk鏈路上接口PVID的標簽特性,可實現(xiàn)特殊情況下不同VLAN間的數(shù)據(jù)交換。在網(wǎng)絡(luò)工程實施過程中,靈活運用PVID的接口類型特性,可以解決很多問題,實現(xiàn)組網(wǎng)要求。在計算機網(wǎng)絡(luò)課程的VLAN配置實驗教學(xué)中,應(yīng)重視這方面的問題,通過實例驗證讓學(xué)生深入掌握PVID的特性,這樣有利于加深學(xué)生對VLAN技術(shù)的理論掌握,也有助于打牢學(xué)生的網(wǎng)絡(luò)工程基礎(chǔ)。