11-QinQ配置
本章節下載: 11-QinQ配置 (289.80 KB)
IEEE 802.1Q定義的VLAN ID域有12個比特,最多可以提供4094個VLAN。但在實際應用中,尤其是在城域網中,需要大量的VLAN來隔離用戶,4094個VLAN遠遠不能滿足需求。QinQ使整個網絡最多可以提供4094×4094個VLAN,滿足了城域網對VLAN數量的需求。
QinQ是802.1Q in 802.1Q的簡稱,是基於IEEE 802.1Q技術的一種比較簡單的二層VPN(Virtual Private Network,虛擬專用網絡)協議。通過將一層VLAN Tag封裝到私網報文上,使其攜帶兩層VLAN Tag穿越運營商的骨幹網絡(又稱公網),從而使運營商能夠利用一個VLAN為包含多個VLAN的用戶網絡提供服務。
QinQ具備以下優點:
· 緩解公網VLAN資源日益緊缺的問題。
· 用戶可以規劃自己的私網VLAN,不會導致與公網VLAN衝突。
· 為用戶提供了一種簡單、靈活的二層VPN解決方案。
· 當運營商進行VLAN規劃時,用戶網絡不必更改原有配置,使用戶網絡具有了較強的獨立性。
如圖1-1所示,QinQ報文在運營商網絡中傳輸時帶有雙層VLAN Tag:
· 內層VLAN Tag:為用戶的私網VLAN Tag,對應圖中的Customer VLAN Tag(簡稱CVLAN)。設備依靠該Tag在私網中傳送報文。
· 外層VLAN Tag:為運營商分配給用戶的公網VLAN Tag,對應圖中的Service VLAN Tag(簡稱SVLAN)。設備依靠該Tag在公網中傳送QinQ報文。
圖1-1 QinQ的報文結構
在公網的傳輸過程中,設備隻根據外層VLAN Tag轉發報文,而內層VLAN Tag將被當作報文的數據部分進行傳輸。
圖1-2 QinQ典型應用組網圖
如圖1-2所示,用戶網絡A和B的私網VLAN分別為VLAN 1~10和VLAN 1~20。運營商為用戶網絡A和B分配的公網VLAN分別為VLAN 3和VLAN 4。
(1) 當用戶網絡A和B中帶私網VLAN Tag的報文進入運營商網絡時,報文外麵就會被分別封裝上VLAN 3和VLAN 4的公網VLAN Tag。
(2) 來自不同用戶網絡的報文在運營商網絡中傳輸時被隔離,即使這些用戶網絡各自的VLAN範圍存在重疊,因為分配到的公網VLAN不同,在運營商網絡中傳輸時也不會產生衝突。
(3) 當報文穿過運營商網絡,到達運營商網絡另一側PE(Provider Edge,服務提供商網絡邊緣)設備後,報文被剝離公網VLAN Tag,然後再傳送給用戶網絡的CE(Customer Edge,用戶網絡邊緣)設備。
當端口上配置了QinQ功能後,不論從該端口收到的報文是否帶有VLAN Tag,設備都會為該報文添加本端口缺省VLAN的Tag:
· 如果收到的是帶有VLAN Tag的報文,該報文就成為帶兩層Tag的報文;
· 如果收到的是不帶VLAN Tag的報文,該報文就成為帶有本端口缺省VLAN Tag的報文。
QinQ功能是以端口來劃分用戶或用戶網絡,但當多個不同用戶以不同的VLAN接入到同一個端口時則無法區分用戶。如果需要為不同用戶的VLAN的報文添加不同的外層VLAN Tag,可以通過1:2 VLAN映射或QoS Nest功能實現。
· 為不同內層VLAN Tag的報文添加不同的外層VLAN Tag,建議使用1:2 VLAN映射功能。
· 如果運營商網絡需要使用VLAN ID之外的匹配條件更靈活的匹配用戶網絡報文,或在為報文添加外層VLAN Tag時,需要同時配置其它流行為,請使用QoS Nest功能。
端口為報文添加外層VLAN Tag後,如果需要修改報文外層VLAN Tag中的802.1p優先級,請參見“1.4 配置外層VLAN Tag的802.1p優先級”。
對於帶有兩層VLAN Tag的報文,如果需要修改內層或外層VLAN ID,或同時修改內外層VLAN ID,可以通過2:2 VLAN映射功能實現。需要注意的是:QinQ功能和2:2 VLAN映射功能互斥。即設備不支持在同一端口上先為報文添加外層VLAN Tag,再修改該報文的內、外層VLAN ID。
有關VLAN映射的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN映射”。有關QoS的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。
與QinQ相關的協議規範有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
· IEEE 802.1ad:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment 4: Provider Bridges
QinQ功能應在PE設備的用戶網絡側接口上進行配置。
配置QinQ功能時,需要注意:
· QinQ為報文加上外層VLAN Tag後,內層VLAN Tag將被當作報文的數據部分進行傳輸,報文長度將增加4個字節。因此建議用戶適當增加QinQ報文傳輸路徑上各接口的MTU(Maximum Transmission Unit,最大傳輸單元)值(至少為1504字節)。
· 若用戶同時通過配置QinQ和VLAN映射或QoS策略來添加報文的VLAN Tag,且配置衝突時,按如下優先順序配置生效:QoS策略->VLAN映射->QinQ。
使能了QinQ功能的端口將為其收到的報文添加該端口缺省VLAN的Tag。
使能或關閉QinQ功能之前,要先清除已有的VLAN映射表項。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入二層以太網接口或二層聚合接口視圖 |
interface interface-type interface-number |
- |
使能端口的QinQ功能 |
qinq enable |
缺省情況下,端口的QinQ功能處於關閉狀態 |
端口上使能了QinQ功能後,從該端口收到的報文就會被打上本端口缺省VLAN的Tag。而VLAN透傳功能則可使端口在收到帶有指定VLAN Tag的報文後,不為其添加外層VLAN Tag而直接在運營商網絡中傳輸。例如,當某VLAN為企業專線VLAN或網管VLAN時,就可以使用VLAN透傳功能。
配置VLAN透傳功能時,需要注意:
· 建議在配置用戶側端口的VLAN透傳功能前,配置該端口的鏈路為Trunk/Hybrid類型,並允許透傳VLAN通過。
· 配置VLAN透傳功能時,還需在報文傳輸路徑的所有端口上都配置允許透傳VLAN通過。
· 配置了用戶側端口對指定VLAN的報文進行透傳後,請勿在該端口上對這些VLAN再進行修改報文VLAN Tag的相關配置。
· 同一接口上同時配置VLAN透傳和VLAN映射時:
¡ 透傳VLAN不能為1:1 VLAN映射、1:2 VLAN映射和N:1 VLAN映射的原始VLAN和轉換後VLAN。
¡ 透傳VLAN不能為2:2 VLAN映射的原始外層VLAN和轉換後外層VLAN。
表1-2 配置VLAN透傳功能
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入二層以太網接口或二層聚合接口視圖 |
interface interface-type interface-number |
- |
|
配置端口允許透傳VLAN和端口缺省VLAN通過 |
缺省情況下,Trunk端口隻允許VLAN 1的報文通過;Hybrid端口隻允許該端口在鏈路類型為Access時的所屬VLAN的報文以Untagged方式通過 |
||
配置端口的VLAN透傳功能 |
qinq transparent-vlan vlan-id-list |
缺省情況下,未配置VLAN透傳功能 |
TPID(Tag Protocol Identifier,標簽協議標識符)值可以用來判斷報文中是否帶有VLAN Tag。例如,在設備上配置用戶VLAN Tag和運營商VLAN Tag的TPID值分別為0x8200和0x9100,如果該設備收到的報文實際攜帶的內、外層VLAN Tag的TPID值分別為0x8100和0x9100,由於該報文外層VLAN Tag的TPID值與配置值相同,而內層VLAN Tag的TPID值與配置值不同,該設備會認為該報文隻攜帶運營商VLAN Tag,而沒有攜帶用戶VLAN Tag;對於該設備收到的隻帶有一層VLAN Tag的報文,如果該VLAN Tag的TPID值不為0x9100,則該設備會認為該報文沒有攜帶VLAN Tag。
第三方廠商的設備可能將QinQ報文外層VLAN Tag的TPID設為不同的值。為了與這些廠商的設備兼容,用戶可以通過修改TPID值,使發送到的QinQ報文攜帶的TPID值與第三方廠商的相同,從而實現與這些廠商的設備互通。
內層VLAN Tag的TPID值應在PE設備上進行配置。
需要注意的是,配置內層VLAN Tag的TPID值僅用於判斷入報文是否攜帶VLAN Tag,不會對報文內層VLAN Tag的TPID值進行修改。
表1-3 配置內層VLAN Tag的TPID值
配置內層VLAN Tag的TPID值 |
缺省情況下,內層VLAN Tag的TPID值為0x8100 |
外層VLAN Tag的TPID值應在PE設備的運營商網絡側的接口上進行配置。
需要注意的是,設備不支持在同一端口上既配置外層VLAN Tag的TPID值,又使能QinQ功能。
表1-4 配置外層VLAN Tag的TPID值
配置外層VLAN Tag的TPID值 |
缺省情況下,外層VLAN Tag的TPID值為0x8100 |
對於攜帶兩層VLAN Tag的報文,如果需要修改外層VLAN Tag的802.1p優先級,可以通過QoS策略實現以下兩種功能中的一種:
· 根據內層VLAN Tag的802.1p優先級或內層VLAN ID來標記外層VLAN Tag的802.1p優先級。
· 將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級。
配置外層VLAN Tag的802.1p優先級前,需要注意:
· 在未進行本配置時,如果端口信任報文的802.1p優先級(qos trust dot1p),會將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級;如果端口不信任報文的802.1p優先級,會將接收端口的優先級複製為外層VLAN Tag的802.1p優先級(端口優先級缺省值0)。
· 有關QoS策略相關命令的詳細介紹,請參見“ACL和QoS命令參考”中的“QoS策略”;有關優先級信任模式的配置,請參見“ACL和QoS配置指導”中的“優先級映射”。
表1-5 配置外層VLAN Tag的802.1p優先級
操作 |
命令 |
說明 |
||
進入係統視圖 |
system-view |
- |
||
創建流分類,並進入流分類視圖 |
traffic classifier classifier-name [ operator { and | or } ] |
缺省情況下,不存在流分類 |
||
定義匹配報文的規則 |
定義匹配內層VLAN ID的規則 |
if-match customer-vlan-id vlan-id-list |
二者選其一 |
|
定義匹配內層VLAN Tag的802.1p優先級的規則 |
if-match customer-dot1p dot1p-value&<1-8> |
|||
退回係統視圖 |
quit |
- |
||
創建流行為,並進入流行為視圖 |
traffic behavior behavior-name |
缺省情況下,不存在流行為 |
||
配置報文外層VLAN Tag的802.1p優先級 |
重標記外層VLAN Tag的802.1p優先級 |
remark dot1p dot1p-value |
二者選其一 用戶可以根據需要選擇不同的動作,實現內外層VLAN Tag的802.1p優先級的映射或複製功能 |
|
將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級 |
remark dot1p customer-dot1p-trust |
|||
退回係統視圖 |
quit |
- |
||
創建QoS策略,並進入策略視圖 |
qos policy policy-name |
缺省情況下,不存在QoS策略 |
||
在策略中為類指定采用的流行為 |
classifier classifier-name behavior behavior-name |
- |
||
退回係統視圖 |
quit |
- |
||
進入二層以太網接口視圖 |
interface interface-type interface-number |
- |
||
重標記外層VLAN Tag的802.1p優先級時必須配置 將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級時可選 |
||||
在接口的入方向應用QoS策略 |
qos apply policy policy-name inbound |
- |
||
在完成上述配置後,在任意視圖下執行display命令可以顯示使能了QinQ功能的端口,通過查看顯示信息驗證配置的效果。
表1-6 QinQ顯示和維護
操作 |
命令 |
顯示使能了QinQ功能的端口 |
display qinq [ interface interface-type interface-number ] |
· 公司A的兩個分支機構Site 1和Site 2通過運營商網絡進行通信,該公司各業務使用的VLAN為VLAN 10~70;公司B的兩個分支機構Site 3和Site 4也通過運營商網絡進行通信,該公司各業務使用的VLAN為VLAN 30~90。
· PE 1和PE 2為運營商網絡的邊緣設備,且二者通過TPID值為0x8200的運營商網絡設備進行連接。
· 通過配置,利用運營商提供的VLAN 100使公司A的兩個分支機構之間實現互通,利用運營商提供的VLAN 200使公司B的兩個分支機構之間實現互通。
圖1-3 QinQ配置組網圖
(1) 配置PE 1
· 配置端口GigabitEthernet1/0/1
# 配置端口為Trunk端口,且允許VLAN 100的報文通過。
<PE1> system-view
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] port link-type trunk
[PE1-GigabitEthernet1/0/1] port trunk permit vlan 100
# 配置端口的缺省VLAN為VLAN 100。
[PE1-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE1-GigabitEthernet1/0/1] qinq enable
[PE1-GigabitEthernet1/0/1] quit
· 配置端口GigabitEthernet1/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] port link-type trunk
[PE1-GigabitEthernet1/0/2] port trunk permit vlan 100 200
# 配置外層VLAN Tag的TPID值為0x8200。
[PE1-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200
[PE1-GigabitEthernet1/0/2] quit
· 配置端口GigabitEthernet1/0/3
# 配置端口為Trunk端口,且允許VLAN 200的報文通過。
[PE1] interface gigabitethernet 1/0/3
[PE1-GigabitEthernet1/0/3] port link-type trunk
[PE1-GigabitEthernet1/0/3] port trunk permit vlan 200
# 配置端口的缺省VLAN為VLAN 200。
[PE1-GigabitEthernet1/0/3] port trunk pvid vlan 200
# 使能端口的QinQ功能。
[PE1-GigabitEthernet1/0/3] qinq enable
[PE1-GigabitEthernet1/0/3] quit
(2) 配置PE 2
· 配置端口GigabitEthernet1/0/1
# 配置端口為Trunk端口,且允許VLAN 200的報文通過。
<PE2> system-view
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] port link-type trunk
[PE2-GigabitEthernet1/0/1] port trunk permit vlan 200
# 配置端口的缺省VLAN為VLAN 200。
[PE2-GigabitEthernet1/0/1] port trunk pvid vlan 200
# 使能端口的QinQ功能。
[PE2-GigabitEthernet1/0/1] qinq enable
[PE2-GigabitEthernet1/0/1] quit
· 配置端口GigabitEthernet1/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] port link-type trunk
[PE2-GigabitEthernet1/0/2] port trunk permit vlan 100 200
# 配置外層VLAN Tag的TPID值為0x8200。
[PE2-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200
[PE2-GigabitEthernet1/0/2] quit
· 配置端口GigabitEthernet1/0/3
# 配置端口為Trunk端口,且允許VLAN 100的報文通過。
[PE2] interface gigabitethernet 1/0/3
[PE2-GigabitEthernet1/0/3] port link-type trunk
[PE2-GigabitEthernet1/0/3] port trunk permit vlan 100
# 配置端口的缺省VLAN為VLAN 100。
[PE2-GigabitEthernet1/0/3] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE2-GigabitEthernet1/0/3] qinq enable
[PE2-GigabitEthernet1/0/3] quit
(3) 配置公共網絡設備
配置運營商網絡中PE 1到PE 2之間路徑上的設備端口都允許VLAN 100和VLAN 200的報文攜帶VLAN Tag通過,且這些端口的MTU值至少為1504字節。
· 某公司的兩個分支機構Site 1和Site 2通過運營商網絡進行通信,該公司各業務使用的VLAN為VLAN 10~50和VLAN 3000,其中VLAN 3000為企業專線VLAN。
· PE 1和PE 2為運營商網絡的邊緣設備。
· 通過配置,使公司使用的VLAN 10~50利用運營商提供的VLAN 100實現互通,VLAN 3000不利用運營商提供的VLAN就能實現互通。
圖1-4 VLAN透傳配置組網圖
(1) 配置PE 1
· 配置端口GigabitEthernet1/0/1
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
<PE1> system-view
[PE1] interface gigabitethernet 1/0/1
[PE1-GigabitEthernet1/0/1] port link-type trunk
[PE1-GigabitEthernet1/0/1] port trunk permit vlan 100 3000
# 配置端口的缺省VLAN為VLAN 100。
[PE1-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE1-GigabitEthernet1/0/1] qinq enable
# 配置端口對VLAN 3000的報文進行透傳。
[PE1-GigabitEthernet1/0/1] qinq transparent-vlan 3000
[PE1-GigabitEthernet1/0/1] quit
· 配置端口GigabitEthernet1/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
[PE1] interface gigabitethernet 1/0/2
[PE1-GigabitEthernet1/0/2] port link-type trunk
[PE1-GigabitEthernet1/0/2] port trunk permit vlan 100 3000
[PE1-GigabitEthernet1/0/2] quit
(2) 配置PE 2
· 配置端口GigabitEthernet1/0/1
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
<PE2> system-view
[PE2] interface gigabitethernet 1/0/1
[PE2-GigabitEthernet1/0/1] port link-type trunk
[PE2-GigabitEthernet1/0/1] port trunk permit vlan 100 3000
# 配置端口的缺省VLAN為VLAN 100。
[PE2-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 使能端口的QinQ功能。
[PE2-GigabitEthernet1/0/1] qinq enable
# 配置端口對VLAN 3000的報文進行透傳。
[PE2-GigabitEthernet1/0/1] qinq transparent-vlan 3000
[PE2-GigabitEthernet1/0/1] quit
· 配置端口GigabitEthernet1/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
[PE2] interface gigabitethernet 1/0/2
[PE2-GigabitEthernet1/0/2] port link-type trunk
[PE2-GigabitEthernet1/0/2] port trunk permit vlan 100 3000
[PE2-GigabitEthernet1/0/2] quit
(3) 配置公共網絡設備
配置運營商網絡中PE 1到PE 2之間路徑上的設備端口都允許VLAN 100和VLAN 3000的報文攜帶VLAN Tag通過,且這些端口的MTU值至少為1504字節。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!