QinQ初識--qinq基礎知識

目錄

一、QinQ簡介

定義:

目的:

優點:

二、原理描述

基本原理:

QinQ報文:

字段解釋:

報文示例:

QinQ封裝:

三、實現方式

基本QinQ:

靈活QinQ:

TPID(Tag Protocol Identifier):

四、QinQ配置實例

(一)配置基本QinQ(二層):

(二)配置靈活QinQ(二層):


一、QinQ簡介

定義:

QinQ(802.1Q-in-802.1Q)技術是一項擴展VLAN空間的技術,通過在802.1Q標籤報文的基礎上再增加一層802.1Q的Tag來達到擴展VLAN空間的功能,可以使私網VLAN透傳公網。由於在骨幹網中傳遞的報文有兩層802.1Q Tag(一層公網Tag,一層私網Tag),即802.1Q-in-802.1Q,所以稱之爲QinQ協議。

…………

目的:

隨着以太網技術在網絡中的大量部署,利用802.1Q VLAN對用戶進行隔離和標識受到很大限制。因爲IEEE802.1Q中定義的VLAN Tag域只有12個比特,僅能表示4096個VLAN,無法滿足以太網中標識大量用戶的需求,於是QinQ技術應運而生。

QinQ是通過在原有的802.1Q報文的基礎上增加一層802.1Q標籤來實現的,使得VLAN數量增加到4094×4094,擴展了VLAN空間。

隨着以太網的發展以及精細化運作的要求,QinQ的雙層標籤又有了進一步的使用場景。它的內外層標籤可以代表不同的信息,如內層標籤代表用戶,外層標籤代表業務。另外,QinQ報文帶着兩層Tag穿越公網時,內層Tag透明傳送,也是一種簡單、實用的VPN技術。因此它又可以作爲核心MPLS VPN在以太網VPN的延伸,最終形成端到端的VPN技術。

優點:

  • 擴展VLAN,對用戶進行隔離和標識不再受到限制。
  • QinQ內外層標籤可以代表不同的信息,如內層標籤代表用戶,外層標籤代表業務,更利於業務的部署。
  • QinQ封裝、終結的方式很豐富,幫助運營商實現業務精細化運營。
  1. 解決日益緊缺的公網VLAN ID 資源問題
  2. 用戶可以規劃自己的私網VLNA ID
  3. 提供一種較爲簡單的二層VPN解決方案
  4. 使用戶網絡具有較高的獨立性

二、原理描述

基本原理:

QinQ是指在802.1Q VLAN的基礎上增加一層802.1Q VLAN標籤,從而拓展VLAN的使用空間。在公網的傳輸過程中,設備只根據外層VLAN Tag轉發報文,並根據報文的外層VLAN Tag進行MAC地址學習,而用戶的私網VLAN Tag將被當作報文的數據部分進行傳輸。

QinQ報文:

QinQ報文有固定的格式,就是在802.1Q的標籤之上再打一層802.1Q標籤,QinQ報文比802.1Q報文多四個字節。

 

中文說明: 

字段解釋:

報文示例:

QinQ抓包示例
QinQ抓包示例

 


QinQ封裝:

QinQ封裝是指如何把單層Q報文轉換成雙層Q報文。

根據不同的封裝數據,QinQ可以分爲幾種不同類型,包括基本QinQ和靈活QinQ兩大類。其中基本QinQ是指基於接口的QinQ,靈活QinQ包括基於VLAN ID的QinQ和基於802.1p優先級的QinQ,具體如下:

  • 基於接口的QinQ封裝

基於接口的封裝是指進入一個接口的所有流量全部封裝一個相同的外層VLAN Tag,封裝方式不夠靈活,用戶業務區分不夠細緻,這種封裝方式也稱作基本QinQ。

  • 基於VLAN ID的QinQ封裝(靈活QinQ)

基於VLAN ID的QinQ封裝可以對不同的數據流選擇是否封裝外層Tag、封裝何種外層Tag,因此這種封裝方式也稱作靈活QinQ。

例如:當同一用戶的不同業務使用不同的VLAN ID時,可以根據VLAN ID區間進行分流。假設PC上網的VLAN ID範圍是101~200;IPTV的VLAN ID範圍是201~300;VoIP的VLAN ID範圍是301~400。根據VLAN ID範圍,對PC上網業務封裝上外層Tag 100,對IPTV封裝上外層Tag 300,對VoIP封裝上外層Tag 500。

  • 基於802.1p優先級的QinQ封裝(基於流的靈活QinQ)

基於802.1p優先級的QinQ封裝可以對不同優先級的數據流選擇是否封裝外層Tag、封裝何種外層Tag,因此這種封裝方式也稱作靈活QinQ。

例如:當同一用戶的不同業務使用不同的優先級,如語音、視頻、數據等。可以根據優先級爲這些業務建立不同的數據傳輸通道,方便對業務進行區分。

三、實現方式

QinQ的實現方式可分爲兩種:基本QinQ和靈活QinQ。

  • 1、基本QinQ
  1. 如果收到的是帶有VLAN Tag的報文,該報文就成爲帶雙Tag的報文。
  2. 如果收到的是不帶VLAN Tag的報文,該報文就成爲帶有本端口缺省VLAN Tag的報文。
  • 2、靈活QinQ
  1. 爲具有不同內層VLAN ID的報文添加不同的外層VLAN Tag。
  2. 根據報文內層VLAN的802.1p優先級標記外層VLAN的802.1p優先級和添加不同的外層VLAN Tag。

通過使用靈活QinQ技術,在能夠隔離運營商網絡和用戶網絡的同時,又能夠提供豐富的業務特性和更加靈活的組網能力。

  • 3、QinQ/Dot1q終結子接口:

終結主要是指設備對報文的單層或者雙層Tag進行識別,然後根據後續的轉發行爲對單層或者雙層Tag進行剝離或繼續傳送。

終結一般在路由子接口上執行,即:終結子接口。

QinQ技術在和MPLS/IP核心網連接時,根據不同的情況,會用到不同的終結方法。

  • 如果路由子接口是對報文的單層Tag終結,那麼該子接口稱爲Dot1q終結子接口。
  • 如果路由子接口是對報文的雙層Tag終結,那麼該子接口稱爲QinQ終結子接口。

注意:

Dot1q終結子接口和QinQ終結子接口不支持透傳不帶VLAN的報文,收到不帶VLAN的報文會直接丟棄。

基本QinQ:

基本QinQ,是基於接口方式實現的。開啓接口的基本QinQ功能後,當該接口接收到報文,設備會爲該報文打上配置的外層Tag。如果接收到的是已經帶有VLAN Tag的報文,則爲其加上外層VLAN Tag;如果接收到的是不帶VLAN Tag的報文,則先爲其加上內層VLAN Tag,再加上外層Tag。

靈活QinQ:

  • 基於VLAN ID的靈活QinQ:爲具有不同內層VLAN ID的報文添加不同的外層VLAN Tag。
  • 基於802.1p優先級的靈活QinQ:根據報文的原有內層VLAN的802.1p優先級添加不同的外層VLAN Tag。

靈活QinQ功能是對基本QinQ功能的擴展,它比基本QinQ的功能更靈活。二者之間的主要區別是:

  • 基本QinQ:對進入二層QinQ接口的所有幀都加上相同的外層Tag。
  • 靈活QinQ:對進入二層QinQ接口的幀,可以根據不同的內層Tag而加上不同的外層Tag,對於用戶VLAN的劃分更加細緻。

TPID(Tag Protocol Identifier):

標籤協議標識TPID(Tag Protocol Identifier)是VLAN Tag中的一個字段,表示VLAN Tag的協議類型,IEEE 802.1Q協議規定該字段的取值爲0x8100。

IEEE802.1Q協議定義的以太網幀的VLAN Tag。802.1Q Tag位於SA(Source Address)和Length/Type之間。通過檢查對應的TPID值,設備可確定收到的幀承載的是運營商VLAN標記還是用戶VLAN標記。接收到幀之後,設備將配置的TPID值與幀中TPID字段的值進行比較。如果二者匹配,則該幀承載的是對應的VLAN標記。例如,如果幀承載TPID值爲0x8100的VLAN標記,而用戶網絡VLAN標記的TPID值配置爲0x8200,設備將認爲該幀沒有用戶VLAN標記。也就是說,設備認爲該幀是Untagged報文。

另外,不同運營商的系統可能將QinQ幀外層VLAN標記的TPID設置爲不同值。爲實現與這些系統的兼容性,可以修改TPID值,使QinQ幀發送到公網時,承載與特定運營商相同的TPID值,從而實現與該運營商設備之間的互操作性。以太網幀的TPID與不帶VLAN標記的幀的協議類型字段位置相同。爲避免在網絡中轉發和處理數據包時出現問題,不可將TPID值設置爲下表中的任意值:

協議類型及對應值描述表:

四、QinQ配置實例

(一)配置基本QinQ(二層):

如下圖,通過配置基本QinQ,實現客戶網絡在運營商網絡中的傳輸。

配置文件:

LSW1和LSW4配置相同:

<SW1>dis current-configuration 
#
sysname SW1
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 10 20
#

LSW2和LSW3配置相同:

<SW2>dis current-configuration 
#
sysname SW2
#
vlan batch 100
#
interface GigabitEthernet0/0/1
 port link-type dot1q-tunnel //使能二層QinQ功能
 port default vlan 100 //劃分接口到VLAN100
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100
#

(二)配置靈活QinQ(二層):

拓撲如上,LSW1和LSW4配置同上。

LSW2和LSW3配置如下:

<SW2>dis current-configuration 
#
sysname SW2
#
vlan batch 100 200
#
interface GigabitEthernet0/0/1
qinq vlan-translation enable
//開啓QinQ的VLAN轉換功能
port hybrid untagged vlan 100 200
//定義接口出方向剝離VLAN100和VLAN200的標籤
port vlan-stacking vlan 10 stack-vlan 100
//接口收到來自VLAN10的數據幀後疊加一層VLAN100的外層標籤
port vlan-stacking vlan 20 stack-vlan 200
//接口收到來自VLAN20的數據幀後疊加一層VLAN200的外層標籤
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 100 200
#

注:

靈活QinQ只能用在hybrid接口,trunk口無法實現。

qing protocol 9100 \只會修改針對內層VLAN TAG的以太類型的改寫,用於不同廠商的設備互通。華爲默認爲8100,可配置範圍爲0x0600~0xFFFF。

**基本QinQ可配置多層,而靈活QinQ只能配置兩層,**想要配多層,第三層開始得結合配置基本QinQ。

參考文檔:華爲HedEx文檔

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