城域以太網論壇 運營商Q-in-Q技術 到MAC-in-MAC

IEEE801.2ad  802.1ah     802.11

 

QinQ技術如何應用於現實生活,爲什麼被稱爲是二層VPN
QinQ是唯一的一種應用於城域網的技術----2層VPN技術,也稱爲802.1Q tunnel

802.1Q tunnel:會打上兩次標籤,外層標籤用來區分不同的客戶端,穿越中間的運營商的交換機,內層標籤爲客戶端對vlan打的標籤,相當於客戶端的交換機和運營商的交換機之間連接起來,然後在客戶端直接打一條tunnel隧道

一、QinQ技術的基礎概述
QinQ技術通過在以太幀中堆疊兩個802.1Q報頭,有效地擴展了VLAN數目,使VLAN的數目最多可達4094x4094個。同時,多個VLAN能夠被複用到一個核心VLAN中。

MSP通常爲每個客戶建立一個VLAN模型,用通用屬性註冊協議/通用VLAN註冊協議(GARP/GVRP)自動監控整個主幹網絡的VLAN,並通過擴展生成樹協議(STP)來加快網絡收斂速度,從而爲網絡提供彈性。

SVLAN技術作爲初始的解決方案是不錯的,但隨着用戶數量的增加,SVLAN模型也會帶來可擴展性的問題。因爲有些用戶可能希望在分支機構間進行數據傳輸時可以攜帶自己的VLAN ID,這就使採用QinQ技術的MSP面臨以下兩個問題:

第一,第一名客戶的VLAN標識可能與其他客戶衝突;
第二,服務提供商將受到客戶可使用標識數量的嚴重限制。
如果允許用戶按他們自己的方式使用各自的VLAN ID空間,那麼核心網絡仍存在4096個VLAN的限制。

二、QinQ技術的原理與報文形式
802.1Q中定義的Tag字段只有12個比特用於表示VLAN ID,所以設備最多可以支持4094個VLAN。

而在實際應用中,尤其是在城域網中,需要大量的VLAN來隔離用戶,4094個VLAN遠遠不能滿足需求。因此誕生了QinQ技術。

QinQ基本原理
是在用戶報文進入運營商網絡之前封裝上一個運營商網絡的VLAN Tag,而把用戶報文中的原有的VLAN Tag當做數據,使報文帶着兩層VLAN Tag穿越運營商網絡。

QinQ是如何傳播的
在運營商網絡中,報文只根據外層VLAN Tag(即運營商網絡的VLAN Tag)傳播,當用戶報文離開運營商網絡時,剝去運營商網絡的VLAN Tag,報文在用戶網絡中,根據私網VLAN Tag傳播。

QinQ報文有固定的格式
就是在802.1Q的標籤之上再打一層802.1Q標籤,QinQ報文比正常的802.1Q報文多4個字節。這4個字節用作外層標籤,即運營商網絡的公網VLAN Tag。
原802.1Q的Tag用作內層標籤,即私網VLAN Tag。

QinQ是對802.1Q的擴展,其核心思想是將用戶私網VLAN tag封裝到公網VLAN tag中,報文帶着兩層tag穿越服務商的骨幹網絡,從而爲用戶提供一種較爲簡單的二層VPN隧道。其特點是基於802.1Q協議中的Trunk端口概念,要求隧道上的設備都必須支持802.1Q協議,不需要信令的支持,僅僅通過靜態配置即可實現,特別適用於小型的,以三層交換機爲骨幹的企業網或小規模城域網。

QinQ的雙幀格式
在QinQ封裝中,各個設備廠商的內層TPID(Tag Protocol Identifier,標籤協議標識)(即內層Etype)的取值爲0x8100,但是對於外層TPID(即外層EType)的取值,各個廠商所使用的值可以是不相同的。

QinQ技術雙VLAN如何實現
QinQ技術使得運營商可以用一個VLAN爲含有多個VLAN的用戶網絡服務。如下圖所示,用戶網絡A的私網VLAN爲VLAN 1~10,用戶網絡B的私網VLAN爲VLAN 1~20。 運營商爲用戶網絡A分配的VLAN爲VLAN 3, 爲用戶網絡B分配的VLAN爲VLAN 4。當用戶網絡A的帶VLAN Tag的報文進入運營商網絡時,報文外面會被封裝上一層VLAN ID爲 3的VLAN Tag;當用戶網絡B的帶VLAN Tag的報文進入運營商網絡時,報文外面會被封裝上一層VLAN ID爲 4的VLAN Tag。這樣,不同用戶網絡的報文在公網傳輸時被完全分開,即使兩個用戶網絡的VLAN範圍存在重疊。

QinQ的報文格式如圖所示:


QinQ技術分爲基本QinQ和靈活QinQ兩種

基本QinQ
基於端口方式實現。開啓端口的基本 QinQ功能後,當該端口接收到報文,設備會爲該報文打上本端口缺省 VLAN的 VLAN Tag。如果接收到的是已經帶有 VLAN Tag的報文,該報文就成爲雙 Tag的報文;如果接收到的是不帶 VLAN Tag的報文,該報文就成爲帶有端口缺省 VLAN Tag的報文。

靈活QinQ
靈活 QinQ 是對 QinQ 的一種更靈活的實現,它是基於端口與 VLAN 相結合的方式實現的,可以實現以下功能:
爲具有不同內層 VLAN ID的報文添加不同的外層 VLAN Tag。

指定外層標籤的User Priority
指定外層標籤的TPID(即外層EType)

三、QinQ技術的相關協議
QinQ也稱Stacked VLAN 或Double VLAN。標準出自IEEE802.1ad,當前該標準仍處於草案階段。其實現爲在802.1q協議標籤前再次封裝802.1q協議 標籤,其中一層標識用戶系統網絡(customer network),一層標識網絡運營網絡(service provider network),將其擴展實現用戶線路標識。當前部分交換機可以支持QinQ功能。

QinQ 允許運營商爲每個用戶分配最大到4K的第二個VLAN ID。運營商VLAN標記在IPDSLAM網絡側插入,在用戶側刪除。BAS通過識別用戶的第二個VLAN確定用戶線路標識。QinQ也較好地解決了VLAN(最大4k) 數量不足問題。
在802.1Q中規定TPID(Tag Protocol Identifier)的EType的值爲0x8100。在QinQ封裝中,各個設備廠商的內層TPID的EType的值爲0x8100,但是對於外層TPID的EType,各個廠商所使用的值不相同。

在IEEE 802.1ad中規定外層TPID的 EType字段的定義爲0x88a8。

四、QinQ技術的特點

沒有協議交互過程,不需要任何配置;
與業務不關聯,對DSLAM無影響;
擴展了4k VLAN;
二層VLAN統一規劃,同時要求運營商二層網絡必須支持二層VLAN tag,對設備要求比較高。
報文有效載荷降低,同時造成可能分片、重組;
協議擴展性不強,不支持用戶其他控制屬性。
相對基於MPLS的二層VPN,QinQ具有如下特點:

爲用戶提供了一種更爲簡單的二層VPN隧道;
不需要信令協議的支持,可以通過純靜態配置實現;
由於QinQ的實現是基於802.1Q協議中的Trunk端口概念,要求隧道上的設備都必須支持802.1Q協議。
QinQ主要可以解決如下幾個問題:

緩解日益緊缺的公網VLAN ID資源問題;
用戶可以規劃自己的私網VLAN ID,不會導致和公網VLAN ID衝突;
爲小型城域網或企業網提供一種較爲簡單的二層VPN解決方案
QinQ功能應用場景:
應用場合:Internet 業務、VOD/VoIP、大客戶接入及VPN、FMC全業務

五、QinQ技術在交換機的配置
客戶端配置:設置ISP接口爲trunk接口

sw1(config)#int f0/1
sw1(config-if)#switchport access vlan 100
sw1(config-if)#switchport mode dot1q-tunnel
sw1(config-if)#Protocol-tunnel  cdp

六、QinQ技術的發展方向
靈活QinQ QinQ實現方式 QinQ實現方式一種是基於端口的QinQ,一種是基於流分類的靈活QinQ。

基於端口的QinQ的實現機理如下:
當該設備端口接收到報文,無論報文是否帶有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封裝,對多種業務實施不同承載的方案。

創作者:Eric· Charles
————————————————
版權聲明:本文爲CSDN博主「Eric· Charles」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_42197548/article/details/87971048

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章