摘 要:QinQ技術通過在以太幀中堆疊兩個802.1Q報頭,有效地擴展了VLAN數目,使VLAN的數目最多可達4096x4096個。同時,多個VLAN能夠被復用到一個核心VLAN中。MSP通常為每個客戶建立一個VLAN模型,用通用屬性注冊協議/通用VLAN注冊協議(GARP/GVRP)自動監控整個主干網絡的VLAN,并通過擴展生成樹協議(STP)來加快網絡收斂速度,從而為網絡提供彈性。
關鍵詞:以太網幀;報頭;協議;收斂
中圖分類號:TP139 文獻標識碼:A 文章編號:1674-7712 (2015) 02-0000-02
QinQ技術[1](也稱Stacked VLAN或Double VLAN)是指將用戶私網VLAN標簽封裝在公網VLAN標簽中,使報文帶著兩層VLAN標簽穿越運營商的骨干網絡,在公網中只根據外層VLAN標簽傳播,私網VLAN標簽被屏蔽,這樣,不僅對數據流進行了區分,而且由于私網VLAN標簽被透明傳送,不同的用戶VLAN標簽可以重復使用,只需要外層VLAN標簽的在公網上唯一即可,實際上也擴大了可利用的VLAN標簽數量。
QinQ的標準是IEEE802.1ad(IEEE802.1ad的全稱是:Virtual Bridged Local Area Networks Amendment4:Provider Bridges)該標準是在2006年5月份才形成正式標準的,所以當前我們常見的各廠商實現的QinQ和該標準有較大的不同,但各廠商的實現均大同小異。
一、QinQ的產生
隨著三層交換機的不斷成熟和大量應用,許多企業網和小型城域網用戶都傾向于使用三層交換機來搭建骨干網,由于以下三個原因,這些用戶一般都不愿意使用基于MPLS或者IP協議的VPN:
(1)配置、維護工作相對比較繁雜;
(2)許多廠商的三層交換機不支持MPLS功能,如果用戶搭建基于MPLS的VPN,勢必要淘汰這些設備,浪費資源;
(3)支持MPLS功能的單板一般價格昂貴,小型用戶難以承受。
而QinQ可以提供一種廉價、簡潔的二層VPN解決方案,不需要信令協議的支持,可以通過純靜態配置實現,而且只需要網絡邊緣設備支持QinQ,內部只需要可以支持802.1Q[2]的設備即可,所以越來越多的小型用戶傾向于使用該功能構建自己的VPN網絡。
此外運營商在通過Ethernet提供Internet接入業務時需要對客戶標識,做到精細化管理,而且隨著新業務的開展(如Triple-Play、Wholesale、VPN),運營商還需要對業務進行細分,以區別提供不同的管道、QoS策略。原有基于802.1Q只有4096個vlan標識不能滿足這樣的需要,QinQ正好可以擴展這樣的標識,同時還可以利用不同的VLAN來區分運營商的服務和不同的客戶。利用QinQ提供接入時具用以下的優點:
(1)可以解決日益緊缺的公網VLAN ID資源問題;
(2)用戶可以規劃自己的私網VLAN ID,不會導致與公網VLAN ID沖突;
(3)提供一種較為簡單的二層VPN解決方案;
(4)使用戶網絡具有較高的獨立性,在服務提供商升級網絡時,用戶網絡不必更改原有的配置;
(5)可以按不同層次的VLAN ID來區分不同的業務;
(6)QinQ技術上完全可以多層嵌套,沒有限制,僅受Ethernet報文長度的限制,具有很好的擴充性。
二、QinQ報文封裝
QinQ的報文封裝就是在原有802.1Q報文中的TAG頭上再加上一層TAG封裝[3],用來擴展VLAN的范圍,如圖1所示:
三、QinQ的報文轉發過程
在通過QinQ實現簡單的二層VPN過程中報文是按如下方式轉發:
圖2中在運營商網中使用VLAN20來標識客戶A、VLAN30標識客戶B,當客戶A的報文到達運營商的邊緣交換機時,邊緣交換機均給客戶A的報文打上一個外層標簽(VLAN20),然后在VLAN20中轉發,報文在離開運營商網絡時再剝離掉外層的標簽,從而實現一個簡單二層VPN功能。
四、QinQ報文的TPID值可調功能
TPID(Tag Protocol Identifier,標簽協議標識)[4]是VLAN Tag中的一個字段,IEEE 802.1Q協議規定該字段的取值為0x8100。IEEE 802.1Q協議定義的以太網幀的Tag報文結構如圖3所示:
通常在QinQ中設備的內外層標簽的TPID值均采用協議規定的0x8100,但是某些廠商的設備將QinQ報文外層Tag的TPID值設置為0x9100或0x9200,為了和這些設備兼容,并提供較高的靈活性,我司支持QinQ功能的交換機基本上均提供了QinQ報文TPID值可調功能(需要注意有的設備整機支持,有的設備是端口支持),能修改QinQ設備的外層標簽的TPID值。(在本文的802.1ad部分我們將會看到802.1ad所規定的TPID為0x88a8,所以當設備同標準802.1ad設備作QinQ對接時也需要TPID可調功能)。
六、靈活的QinQ
在前面我們所講的QinQ中,通常是以物理端口來劃分用戶或用戶網絡,當多個不同用戶以不同的VLAN接入到同一個端口時則無法區分用戶。另外前面的QinQ方案是一種簡單二層VPN的應用,在運行營商接入環境中往往需要根據用戶的應用或接入地點(設備)來區分用戶,基于這種應用產生了靈活QinQ方案。
簡單講靈活QinQ就是根據用戶報文的Tag或其他特征(IP/MAC等),給用戶報文打上相應的外層Tag,以達到區分不同用戶或應用的目的。
當前靈活QinQ主要應用在運營商的接入網絡中,在運營商網絡中給接入用戶分配一個VLAN,以達到便于問題追蹤和防止不同用戶間互訪,用外層標簽區分用戶的應用;或在接入的環境中用外層標簽來區分不同的接入地點,用內外兩層標簽唯一標識出一個接入用戶。在這樣的應用中需要BRAS/SR設備支持QinQ的應用(能夠終結雙Tag)。
因此,靈活QinQ得到了更多的支持,802.1ad就是其一,如同當前常見的靈活QinQ基本一致,在802.1ad中提供了兩種確定用戶所屬S-VLAN的方式:
(1)基于端口(Port-based service interface),在這種模式下用戶是根據接入的端口來選擇S-VLAN(Service Instance)的。
(2)基于C-VLAN(C-Tagged service interfaces),在這種模式下是根據用戶使用的C-VID來先擇S-VLAN(Service Instance),即同當前我們所見的靈活QinQ類似。
七、結束語
在以上基礎上,衍生出靈活QinQ[5],實現方式一種是基于端口的QinQ,一種是基于流分類的靈活QinQ?;诙丝诘腝inQ的實現機理如下:當該設備端口接收到報文,無論報文是否帶有VLAN Tag,交換機都會為該報文打上本端口缺省VLAN的VLAN Tag。這樣,如果接收到的是已經帶有VLAN Tag的報文,該報文就成為雙Tag的報文;如果接收到的是untagged的報文,該報文就成為帶有端口缺省VLAN Tag的報文。由于基于端口的QinQ比較容易實現,所以業界主流廠家的三層交換機都支持。基于端口的QinQ的缺點是外層Vlan Tag封裝方式死板,不能根據業務種類選擇外層Vlan Tag封裝的方式,從而很難有效支持多業務的靈活運營?;诹鞣诸惖撵`活QinQ實現機理如下:基于流的QinQ特性(Selective QinQ),可靈活根據流分類的結果選擇是否打外層VLAN tag、打上何種外層VLAN tag:如根據用戶Vlan tag、MAC地址、IP協議、源地址、目的地址、優先級、或應用程序的端口號等信息實施靈活QinQ特性。借助上述流分類方法,實際實現了根據不同用戶、不同業務、不同優先級等對報文進行外層VLAN tag封裝,對多種業務實施不同承載的方案。
參考文獻:
[1]馬安龍.利用QINQ技術構建扁平化網絡[J].電腦知識與技術,2012(05).
[2]閻琦.關于QINQ技術的探討[J].制造業自動化,2010(11).
[3]劉小紅.分析QinQ技術特點及其在城域網中的應用[J].信息通信,2013(07).
[4]陳衛民.基于QinQ技術的高校校園網研究[J].湖南城市學院學報(自然科學版),2011(06).
[5]謝少武.基于QinQ+PPPoE技術在校園網寬帶接入中的應用[J].電子技術與軟件工程,2013(01).
[作者簡介]吳兆立(1979-),男,山東單縣人,碩士,主要研究方向:網絡安全,計算機應用技術。
[基金項目]江蘇建筑職業技術學院橫向科研項目《基于社交關系的feeds閱讀》,項目編號902508867H14041。