李曉明 解社鋒
(中國聯(lián)合網(wǎng)絡通信有限公司邯鄲市分公司,河北 邯鄲 056002)
VLAN Stacking又稱“靈活QinQ”是一種可以針對用戶不同vlan封裝外層vlan標簽的二層新技術。VLAN Stacking(靈活QinQ)可以根據(jù)用戶報文的Tag或其他特征(IP/MAC等),給用戶報文打上相應的外層Tag,以達到區(qū)分不同用戶的目的。
傳統(tǒng)QinQ業(yè)務簡單的說就是在原有的802.1Q的報文基礎上,再增加一層802.1Q標簽頭,從而實現(xiàn)私網(wǎng)VLAN透傳公網(wǎng)達到二層VPN的應用效果。另一方面它還具有不同私網(wǎng)用戶之間相同VLAN不透傳,與公網(wǎng)有效分離,最大限度節(jié)省VLAN等特點,VLAN Stacking具有QinQ這些優(yōu)點外更克服了傳統(tǒng)QinQ無選擇(這里指傳統(tǒng)QinQ不會理會報文屬于哪個vlan,對所有進入QinQ的端口的帶vlan tag標記的報文統(tǒng)一加上第二層tag標簽)封裝外層標簽的缺點。
在運營商的某些應用場合,如圖1所示。上網(wǎng)用戶、IPTV用戶和大客戶都是園區(qū)的寬帶接入對象,他們分別接入不同范圍的用戶VLAN來加與區(qū)分:普通上網(wǎng)用戶VLAN101-200;IPTV用戶201-300;大客戶VLAN301-400。為了使上層設備節(jié)省使用VLAN數(shù)目并對不同業(yè)務加以區(qū)別,我們需要在Switch 1上的A處開啟某種配置,達到如下效果:
√給內(nèi)層VLANID為101~200的報文封裝外層VLANID 1001;
√給內(nèi)層VLANID為201~300的報文封裝外層VLANID 1002;
√給內(nèi)層VLANID為301~400的報文封裝外層VLANID 1003;
這樣根據(jù)不同的外層VLANID將業(yè)務送至不同的上層設備(如BAS,IPTV SERVER)。
在沒有VLAN Stackong功能的支持下如果需要實現(xiàn)上述需求,Switch 1的A處端口不能根據(jù)用戶VLANID分配外層VLANID。所以我們最先想到的是在A和B之間使用3個端口、連接3對光纖,如圖2所示。
但是由于A和B之間光纖的成本很高,(從用戶小區(qū)到電信機房光纖資源匱乏,租用或重新建設需要大量資金),用戶希望使用一根光纖就能到達效果。
于是我們又想到在A與B之間增加一臺新的交換機,這臺交換機通過trunk與園區(qū)小交換機相連,然后分出三個端口與Switch 1相連,如圖3所示。
這種方式雖然能夠節(jié)約光纖成本,但是由于又增加了一臺交換機,在網(wǎng)絡維護上可能就新增加了一個故障點。另外由于需要三個端口來進行接入且需新購買交換機,網(wǎng)絡的運營成本也會居高不下。因此需要一種新特性能夠滿足在接入點根據(jù)不同的內(nèi)層VLAN封裝不同的外層VLAN,Vlan Stacking(靈活QinQ)滿足了這個需求,如圖4所示。
下面介紹兩種典型應用:
圖5是目前常見的VLAN stacking組網(wǎng)圖,其中電信寬帶用戶群一種是通過園區(qū)接入交換機接入的用戶,另外一種就是大家比較熟悉的通過DSLAM接入的ADSL用戶。
下面就來簡單介紹一下這種組網(wǎng)的特點:
(1)園區(qū)接入的用戶VLAN101-200是屬于普通用戶接入,Switch 1給它分配使用的公網(wǎng)VLAN是1001。VLAN201-300的用戶為園區(qū)接入的VIP用戶,Switch 1給它分配的公網(wǎng)VLAN是1002。
(2)DSLAM接入的ADSL用戶他們也是VLAN 101-300,他們通過PPPOE撥號獲取IP從而訪問internet。Switch 1給它分配的公網(wǎng)VLAN是1003。
(3)Vlan 301是專門用于組播的VLAN,不管DSLAM還是園區(qū)接入交換機還是DSLAM的IPTV用戶都是通過VLAN 301來收看組播節(jié)目的。IPTV客戶端首先在DHCP服務器上獲取到IP,然后通過在Switch 1上進行IGMP組加入來收看組播節(jié)目。
(4)對于上網(wǎng)用戶來說,Switch 1只是將在上網(wǎng)用戶的報文上又增加了一層公網(wǎng)的tag而送交BASE處理,用戶在BASE上實現(xiàn)認證鑒權和二層的終結。
這里我們提供針對普通用戶/VIP用戶/ADSL用戶的在Switch 1上的配置作為參考:
Switch 1選擇目前支持VLAN stacking功能的CX300A運營級交換產(chǎn)品(關于產(chǎn)品特性介紹請查閱相關資料)。
配置步驟:
1)創(chuàng)建VLAN:
#在CX-Switch 1上創(chuàng)建VLAN10001 VLAN1002 VLAN1003。
[CX-Switch 1]vlan batch 1001 1002 1003
2)在端口上配置VLAN Stacking Push:
#在CX-Switch 1的端口GE2/0/1上配置VLAN Stacking Push。
[CX-Switch 1]interface GigabitEthernet 2/0/1
[CX-Switch 1-GigabitEthernet2/0/1]port vlan-stacking vlan 101 to 200 push vlan 1001 inbound
[CX-Switch 1-GigabitEthernet2/0/1]port trunk allow-pass vlan 1001
[CX-Switch 1-GigabitEthernet2/0/1]port vlan-stacking vlan 201 to 300 push vlan 1002 inbound
[CX-Switch 1-GigabitEthernet2/0/1]port trunk allow-pass vlan 1002
[CX-Switch 1-GigabitEthernet2/0/1]quit
#在CX-Switch 1的端口GE3/0/1上配置VLAN Stacking Push。
[CX-Switch 1]interface GigabitEthernet 3/0/1
[CX-Switch 1-GigabitEthernet3/0/1]port vlan-stacking vlan 101 to 300 push vlan 1003 inbound
[CX-Switch 1-GigabitEthernet3/0/1]port trunk allow-pass vlan 1003
[CX-Switch 1-GigabitEthernet3/0/1]quit
在端口上配置VLAN Stacking Pop:
#在CX-Switch 1的端口GE2/0/1上配置VLAN Stacking Pop。
[CX-Switch 1]interface GigabitEthernet 2/0/1
[CX-Switch 1-GigabitEthernet2/0/1]port vlan-stacking pop vlan 1001 outbound
[CX-Switch 1-GigabitEthernet2/0/1]port vlan-stacking pop vlan 1002 outbound
[CX-Switch 1-GigabitEthernet2/0/1]quit
#在CX-Switch 1的端口GE3/0/1上配置VLAN Stacking Pop。
[CX-Switch 1]interface GigabitEthernet 3/0/1
[CX-Switch 1-GigabitEthernet3/0/1]port vlan-stacking pop vlan 1003 outbound
[CX-Switch 1-GigabitEthernet3/0/1]quit
#在CX-Switch 1上配置端口GE4/0/1加入VLAN1001 VLAN1002 VLAN1003。
[CX-Switch 1]interface GigabitEthernet 4/0/1
[CX-Switch 1-GigabitEthernet4/0/1]port trunk allow-pass vlan 1001 1002 1003
[CX-Switch 1-GigabitEthernet4/0/1]quit
驗證配置結果:
普通用戶/VIP用戶/ADSL用戶可以正常訪問Internet網(wǎng)絡,用戶帶私網(wǎng)vlan tag的報文上送到switch 1后被打上公網(wǎng)vlan tag,Bas設備接收到的二層報文帶是帶vlan tag 1001/1002/1003的報文。
在圖6所示的網(wǎng)絡中,有兩個大企業(yè),企業(yè)1有兩個辦公地,企業(yè)2有三個辦公地,這兩個企業(yè)的各辦公地的企業(yè)網(wǎng)都分別和運營商網(wǎng)絡中的CX交換機SWITCH-G或CX-Switch 1相連。企業(yè)1的網(wǎng)絡中使用VLAN2~VLAN1500,企業(yè)2的網(wǎng)絡中使用VLAN500~VLAN4094。要求通過運營商的網(wǎng)絡兩個企業(yè)內(nèi)部各辦公地之間可以互相通信,但兩個企業(yè)之間互相隔離。
采用如下的思路配置VLAN Stacking:
在CX-F上創(chuàng)建VLAN10和VLAN20,在CX-G上創(chuàng)建VLAN20;
在CX-F的端口GE2/0/1、GE3/0/1和CX-G的端口GE1/0/1、GE2/0/1上配置VLAN Stacking Push;
在CX-F的端口GE2/0/1、GE3/0/1和CX-G的端口GE1/0/1、GE2/0/1上配置VLAN Stacking Pop;
配置CX-F的端口GE4/0/1和CX-G的端口GE3/0/1加入VLAN20。
數(shù)據(jù)準備:
為完成此配置例,需準備如下的數(shù)據(jù):
在運營商網(wǎng)絡中企業(yè)1被劃分在VLAN10中;
在運營商網(wǎng)絡中企業(yè)2被劃分在VLAN20中。
配置步驟:
創(chuàng)建VLAN:
#在CX-F上創(chuàng)建VLAN10和VLAN20。
[CX-F]vlan batch 10 20
#在CX-G上創(chuàng)建VLAN20。
[CX-G]vlan 20
在端口上配置VLAN Stacking Push:
#在CX-F的端口GE2/0/1上配置VLAN Stacking Push。
[CX-F]interface GigabitEthernet 2/0/1
[CX-F-GigabitEthernet2/0/1]port vlan-stacking vlan 2 to 500 push vlan 10 inbound
[CX-F-GigabitEthernet2/0/1]port trunk allow-pass vlan 10
[CX-F-GigabitEthernet2/0/1]port vlan-stacking vlan 1000 to 2000 push vlan 20 inbound
[CX-F-GigabitEthernet2/0/1]port trunk allow-pass vlan 20
[CX-F-GigabitEthernet2/0/1]quit
#在CX-F的端口GE3/0/1上配置VLAN Stacking Push。
[CX-F]interface GigabitEthernet 3/0/1
[CX-F-GigabitEthernet3/0/1]port vlan-stacking vlan 100 to 1500 push vlan 10 inbound
[CX-F-GigabitEthernet3/0/1]port trunk allow-pass vlan 10
[CX-F-GigabitEthernet3/0/1]quit
#在CX-G的端口GE1/0/1上配置VLAN Stacking Push。
[CX-G]interface GigabitEthernet 1/0/1
[CX-G-GigabitEthernet1/0/1]port vlan-stacking vlan 1000 to 4094 push vlan 20 inbound
[CX-G-GigabitEthernet1/0/1]port trunk allow-pass vlan 20
[CX-G-GigabitEthernet1/0/1]quit
#在CX-G的端口GE2/0/1上配置VLAN Stacking Push。
[CX-G]interface GigabitEthernet 2/0/1
[CX-G-GigabitEthernet2/0/1]port vlan-stacking vlan 500 to 2500 push vlan 20 inbound
[CX-G-GigabitEthernet2/0/1]port trunk allow-pass vlan 20
[CX-G-GigabitEthernet2/0/1]quit
在端口上配置VLAN Stacking Pop:
#在CX-F的端口GE2/0/1上配置VLAN Stacking Pop。
[CX-F]interface GigabitEthernet 2/0/1
[CX-F-GigabitEthernet2/0/1]port vlan-stacking pop vlan 10 outbound
[CX-F-GigabitEthernet2/0/1]port vlan-stacking pop vlan 20 outbound
[CX-F-GigabitEthernet2/0/1]quit
#在CX-F的端口GE3/0/1上配置VLAN Stacking Pop。
[CX-F]interface GigabitEthernet 3/0/1
[CX-F-GigabitEthernet3/0/1]port vlan-stacking pop vlan 10 outbound
[CX-F-GigabitEthernet3/0/1]quit
#在CX-G的端口GE1/0/1上配置VLAN Stacking Pop。
[CX-G]interface GigabitEthernet 1/0/1
[CX-G-GigabitEthernet1/0/1]port vlan-stacking pop vlan 20 outbound
[CX-G-GigabitEthernet1/0/1]quit
#在CX-G的端口GE2/0/1上配置VLAN Stacking Pop。
[CX-G]interface GigabitEthernet 2/0/1
[CX-G-GigabitEthernet2/0/1]port vlan-stacking pop vlan 20 outbound
[CX-G-GigabitEthernet2/0/1]quit
配置其它端口:
#在CX-F上配置端口GE4/0/1加入VLAN20。
[CX-F]interface GigabitEthernet 4/0/1
[CX-F-GigabitEthernet4/0/1]port trunk allow-pass vlan 20
[CX-F-GigabitEthernet4/0/1]quit
#在CX-G上配置端口GE3/0/1加入VLAN20。
[CX-G]interface GigabitEthernet 3/0/1
[CX-G-GigabitEthernet3/0/1]port trunk allow-pass vlan 20
[CX-G-GigabitEthernet3/0/1]quit
驗證配置結果:
從企業(yè)1任意辦公地內(nèi)任意VLAN的一臺主機ping企業(yè)1其它工作地同一VLAN內(nèi)的主機,如果可以ping通則表示企業(yè)1內(nèi)部可以互相通信。
從企業(yè)2任意辦公地內(nèi)任意VLAN的一臺主機ping企業(yè)2其它工作地同一VLAN內(nèi)的主機,如果可以ping通則表示企業(yè)2內(nèi)部可以互相通信。
從企業(yè)1任意辦公地內(nèi)的任意一臺主機ping企業(yè)2內(nèi)的主機,如果不能ping通則表示企業(yè)1和企業(yè)2是互相隔離的。
部分故障排錯可以參考QinQ排錯部分,這里主要強調(diào)一下VLAN Stacking(靈活QinQ)特別需要注意的地方:
1.注意在65上配置靈活QinQ端口模式必須為Hybrid,且在端口聚合情況下不能使用,如果某端口的GVRP、GMRP、STP或802.1x協(xié)議中的任一個已經(jīng)啟動,則不允許用戶開啟端口的VLAN VPN特性(65的靈活QinQ實現(xiàn)是在QinQ基礎之上需要開啟此功能),反之亦然。;在CX產(chǎn)品上配置VLAN Stacking功能其端口類型應必須為Trunk或Hybrid,且VLAN Stacking功能必須由支持該功能的板卡實現(xiàn)(增強卡/RPR卡)。
2.不同設備上VLAN Stacking配置的規(guī)格不同,規(guī)劃時需要注意。例如CX產(chǎn)品配置VLAN Stacking規(guī)格為每端口4K項(push/pop各算一項),65設備配置的規(guī)格視內(nèi)存大小而定。
3.考慮VLAN Stacking(靈活QinQ)與QinQ主要不同之處是在針對不同Vlan的報文添加2層tag標簽,這里主要強調(diào)一下在應用中配置VLAN Stacking時容易出錯的地方。以CX產(chǎn)品為例,在實現(xiàn)VLAN Stacking功能時對報文添加和去除外層tag標簽的功能需要兩條命令來完成,分別是push和pop兩個操作,配置時很容易忽略這一點。
4.使用了VLAN Stacking功能的兩端設備在添加和去除Vlan標簽的Vlan tag一定要保持一致(原因:CX產(chǎn)品在添加和去除Vlan tag時不會考慮報文是否是帶有兩層Vlan tag,即使是普通的帶一層Vlan tag的報文符合pop操作中的VLANID也會被剝離tag,同樣push操作會給無tag的報文打上tag),在實際使用中需要充分考慮到這些在部署時合理規(guī)劃。
最后,不同產(chǎn)品在實現(xiàn)Vlan Stacking(靈活QinQ)功能上配置有所不同,在了解主要實現(xiàn)方式后在部署時還需要參考產(chǎn)品手冊和相關操作指導書來了解產(chǎn)品特性進行合理規(guī)劃,排錯時也需要充分考慮到不同交換產(chǎn)品在實現(xiàn)上的不同。
[1]雷震甲.網(wǎng)絡工程師教程[M].北京:清華大學出版社,2006
[2]蔡建新.網(wǎng)絡工程概論[M].北京:清華大學出版社,2002