06-QinQ配置
本章節下載: 06-QinQ配置 (308.39 KB)
QinQ是802.1Q in 802.1Q的簡稱,它是基於IEEE 802.1Q技術的一種二層隧道協議,通過將用戶的私網報文封裝上外層VLAN Tag,使其攜帶兩層VLAN Tag穿越運營商的骨幹網絡(又稱公網),從而為用戶提供了一種比較簡單的二層VPN隧道技術,也使運營商利用一個VLAN為包含多個VLAN的用戶網絡提供服務成為了可能。
IEEE802.1Q定義的VLAN ID域隻有12個比特,最多可以支持4094個VLAN。但在實際應用中,尤其是在城域網中,需要大量的VLAN來隔離用戶,4094個VLAN遠遠不能滿足需求。
QinQ是一種簡單、靈活的二層VPN技術,通過給報文打兩層VLAN Tag,從而最多可以提供4094 X 4094個VLAN,滿足了城域網對VLAN數量的需求。
QinQ主要可以解決如下幾個問題:
· 緩解日益緊缺的公網VLAN ID資源問題。
· 用戶可以規劃自己的私網VLAN ID,不會導致和公網VLAN ID衝突。
· 為小型城域網或企業網提供一種較為簡單的二層VPN解決方案。
· 當運營商升級網絡時,用戶網絡不必更改原有配置,使用戶網絡具有了較強的獨立性。
在公網的傳輸過程中,設備隻根據外層VLAN Tag轉發報文,並將報文的源MAC地址表項學習到外層VLAN Tag所在VLAN的MAC地址表中,而用戶的私網VLAN Tag將被當作報文的數據部分進行傳輸。
圖1-1 QinQ典型應用組網圖
如圖1-1所示,用戶網絡A和B的私網VLAN分別為VLAN 1~10和VLAN 1~20。運營商為用戶網絡A和B分配的公網VLAN分別為VLAN 3和VLAN 4。當用戶網絡A和B中帶VLAN Tag的報文進入運營商網絡時,報文外麵就會被分別封裝上VLAN 3和VLAN 4的VLAN Tag。這樣,來自不同用戶網絡的報文在運營商網絡中傳輸時被完全分開,即使這些用戶網絡各自的VLAN範圍存在重疊,在運營商網絡中傳輸時也不會產生衝突。當報文穿過運營商網絡,到達運營商網絡另一側PE設備後,報文會被剝離運營商網絡為其添加的公網VLAN Tag,然後再傳送給用戶網絡的CE設備。
如圖1-2所示,QinQ報文在運營商網絡中傳輸時帶有雙層VLAN Tag:
· 內層VLAN Tag:為用戶的私網VLAN Tag,對應圖中的Customer VLAN Tag;。依靠該Tag在私網中傳送QinQ報文。
· 外層VLAN Tag:為運營商分配給用戶的公網VLAN Tag,對應圖中的Service VLAN Tag。依靠該Tag在公網中傳送QinQ報文,內層VLAN Tag在公網中被屏蔽。
圖1-2 QinQ的報文結構
接口的MTU(Maximum Transmission Unit,最大傳輸單元)值默認為1500字節。由於為報文加上外層VLAN Tag後,報文長度將增加4個字節,因此建議用戶適當增加運營商網絡中各接口的MTU值(至少為1504字節)。有關接口MTU值的相關配置,請參見“接口管理配置指導”中的“以太網接口”。
QinQ的實現方式可分為以下兩種:
基本QinQ是基於端口方式實現的。當端口上配置了基本QinQ功能後,不論從該端口收到報文是否帶有VLAN Tag,設備都會為該報文打上本端口缺省VLAN的Tag:
· 如果收到的是帶有VLAN Tag的報文,該報文就成為帶雙Tag的報文;
· 如果收到的是不帶VLAN Tag的報文,該報文就成為帶有本端口缺省VLAN Tag的報文。
靈活QinQ是基於端口與VLAN相結合的方式實現的,它對QinQ的功能進行了擴展,是對QinQ的一種更靈活的實現。靈活QinQ除了能實現所有基本QinQ的功能外,對於從同一個端口收到的報文,還可以根據VLAN的不同進行不同的操作,包括:
· 根據報文內層VLAN的802.1p優先級標記外層VLAN的802.1p優先級。
通過使用靈活QinQ技術,在能夠隔離運營商網絡和用戶網絡的同時,又能夠提供豐富的業務特性和更加靈活的組網能力。
如圖1-3所示,是IEEE802.1Q協議定義的以太網幀的VLAN Tag結構,TPID(Tag Protocol Identifier,標簽協議標識)是VLAN Tag中的一個字段,用於表示VLAN Tag的協議類型,IEEE 802.1Q協議規定該字段的取值為0x8100。
有關TPID、Priority、CFI和VLAN ID字段的含義,請參見“二層技術-以太網交換配置指導”中的“VLAN”。
不同廠商的設備可能將QinQ報文外層VLAN Tag的TPID字段設為不同的值,為了和其他廠商的設備兼容,設備提供了QinQ報文的TPID值可調功能。用戶通過配置TPID的值,使得發送到公網中的QinQ報文攜帶的TPID值與其他廠商相同,就可以實現與其他廠商的設備互通。
由於TPID字段在以太網報文中所處位置與不帶VLAN Tag的報文中協議類型字段所處位置相同,為避免網絡中報文轉發和接收造成混亂,不允許用戶將TPID值配置為表1-1中列舉的常用協議的類型值。
協議類型 |
協議對應的類型值 |
ARP |
0x0806 |
PUP |
0x0200 |
RARP |
0x8035 |
IP |
0x0800 |
IPv6 |
0x86DD |
PPPoE |
0x8863/0x8864 |
MPLS |
0x8847/0x8848 |
IPX/SPX |
0x8137 |
IS-IS |
0x8000 |
LACP |
0x8809 |
802.1x |
0x888E |
Cluster |
0x88A7 |
設備保留 |
0xFFFD/0xFFFE/0xFFFF |
表1-2 QinQ配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置基本QinQ功能 |
必選 |
||
配置靈活QinQ功能 |
配置添加外層VLAN Tag的策略 |
兩者至少選其一 |
|
配置內外層VLAN Tag中802.1p優先級的映射關係 |
|||
配置VLAN Tag的TPID值 |
可選 |
表1-3 配置基本QinQ功能
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入接口視圖或端口組視圖 |
進入二層以太網接口或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
使能端口的基本QinQ功能 |
qinq enable |
必選 缺省情況下,端口的基本QinQ功能處於關閉狀態 |
基本QinQ功能應在運營商網絡中與用戶網絡相連的設備上進行配置,並且應配置在連接用戶網絡側的端口上。
有關QoS策略的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。
用戶可以通過配置QoS策略,為匹配流分類的報文添加外層VLAN Tag。
表1-4 配置添加外層VLAN Tag的QoS策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
必選 缺省情況下,流分類規則之間的邏輯關係為and,即數據包匹配全部規則才屬於該類 |
定義匹配數據包的規則 |
if-match match-criteria |
必選 請根據實際情況配置匹配規則 |
退回係統視圖 |
quit |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 |
配置插入VLAN tag的流行為 |
nest top-most vlan-id vlan-id-value |
必選 可根據實際情況配置其他流行為 |
退回係統視圖 |
quit |
- |
定義策略並進入策略視圖 |
qos policy policy-name |
必選 |
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
必選 |
退回係統視圖 |
quit |
- |
進入二層以太網接口視圖或者端口組視圖 |
interface interface-type interface-number或 port-group manual port-group-name |
- |
在指定接口的入方向上應用QoS策略 |
qos apply policy policy-name inbound |
必選 |
用戶可以通過配置QoS策略,改變802.1p優先級映射關係,從而為不同內層VLAN的802.1p優先級標記不同的外層VLAN的802.1p優先級。
表1-5 配置內外層VLAN Tag中802.1p優先級的映射關係
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
定義類並進入類視圖 |
traffic classifier tcl-name [ operator { and | or } ] |
必選 缺省情況下,流分類規則之間的邏輯關係為and,即數據包匹配全部規則才屬於該類 |
定義匹配用戶網絡802.1p優先級的規則 |
if-match customer-dot1p 8021p-list |
必選 請根據實際情況配置匹配規則 |
退回係統視圖 |
quit |
- |
定義一個流行為並進入流行為視圖 |
traffic behavior behavior-name |
必選 |
配置標記報文的802.1p優先級 |
remark dot1p 8021p |
必選 可根據實際情況配置其他流行為 |
退回係統視圖 |
quit |
- |
定義策略並進入策略視圖 |
qos policy policy-name |
必選 |
在策略中為類指定采用的流行為 |
classifier tcl-name behavior behavior-name |
必選 |
退回係統視圖 |
quit |
- |
進入二層以太網接口視圖或者端口組視圖 |
interface interface-type interface-number或 port-group manual port-group-name |
- |
應用QoS策略到指定接口 |
qos apply policy policy-name { inbound | outbound } |
必選 |
表1-6 配置QinQ報文外層VLAN Tag的TPID值
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網接口或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置端口添加外層VLAN Tag時采用的TPID值 |
qinq ethernet-type hex-value |
可選 缺省情況下,端口添加外層Tag時采用的TPID值為0x8100 |
· 配置qinq ethernet-type命令的同時,需要在連接用戶網絡側的端口上使能qinq enable命令。建議在設備的同一塊單板上配置qinq ethernet-type命令和qinq enable命令。
· QinQ報文的TPID值可調功能應在運營商網絡中的設備上進行配置,並且應配置在連接運營商網絡側的端口上。
· 對於同一塊單板,除了支持缺省值外,隻能支持其他一個以太網協議類型(TPID)值。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
· 公司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-4 基本QinQ應用組網圖
您必須通過配置保證運營商網絡中的設備之間允許QinQ報文通過。
(1) 配置PE 1
· 配置端口GigabitEthernet4/0/1
# 配置端口為Trunk端口,且允許VLAN 100的報文通過。
<PE1> system-view
[PE1] interface GigabitEthernet 4/0/1
[PE1-GigabitEthernet4/0/1] port link-type trunk
[PE1-GigabitEthernet4/0/1] port trunk permit vlan 100
# 配置端口的缺省VLAN為VLAN 100。
[PE1-GigabitEthernet4/0/1] port trunk pvid vlan 100
# 使能端口的基本QinQ功能。
[PE1-GigabitEthernet4/0/1] qinq enable
[PE1-GigabitEthernet4/0/1] quit
· 配置端口GigabitEthernet4/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE1] interface GigabitEthernet 4/0/2
[PE1-GigabitEthernet4/0/2] port link-type trunk
[PE1-GigabitEthernet4/0/2] port trunk permit vlan 100 200
# 配置端口添加的外層VLAN Tag的TPID值為0x8200。
[PE1-GigabitEthernet4/0/2] qinq ethernet-type 8200
[PE1-GigabitEthernet4/0/2] quit
· 配置端口GigabitEthernet4/0/3
# 配置端口為Trunk端口,且允許VLAN 200的報文通過。
[PE1] interface GigabitEthernet 4/0/3
[PE1-GigabitEthernet4/0/3] port link-type trunk
[PE1-GigabitEthernet4/0/3] port trunk permit vlan 200
# 配置端口的缺省VLAN為VLAN 200。
[PE1-GigabitEthernet4/0/3] port trunk pvid vlan 200
# 使能端口的基本QinQ功能。
[PE1-GigabitEthernet4/0/3] qinq enable
[PE1-GigabitEthernet4/0/3] quit
(2) 配置PE 2
· 配置端口GigabitEthernet4/0/1
# 配置端口為Trunk端口,且允許VLAN 200的報文通過。
<PE2> system-view
[PE2] interface GigabitEthernet 4/0/1
[PE2-GigabitEthernet4/0/1] port link-type trunk
[PE2-GigabitEthernet4/0/1] port trunk permit vlan 200
# 配置端口的缺省VLAN為VLAN 200。
[PE2-GigabitEthernet4/0/1] port trunk pvid vlan 200
# 使能端口的基本QinQ功能。
[PE2-GigabitEthernet4/0/1] qinq enable
[PE2-GigabitEthernet4/0/1] quit
· 配置端口GigabitEthernet4/0/2
# 配置端口為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE2] interface GigabitEthernet 4/0/2
[PE2-GigabitEthernet4/0/2] port link-type trunk
[PE2-GigabitEthernet4/0/2] port trunk permit vlan 100 200
# 配置端口添加的外層VLAN Tag的TPID值為0x8200。
[PE2-GigabitEthernet4/0/2] qinq ethernet-type 8200
[PE2-GigabitEthernet4/0/2] quit
· 配置端口GigabitEthernet4/0/3
# 配置端口為Trunk端口,且允許VLAN 100的報文通過。
[PE2] interface GigabitEthernet 4/0/3
[PE2-GigabitEthernet4/0/3] port link-type trunk
[PE2-GigabitEthernet4/0/3] port trunk permit vlan 100
# 配置端口的缺省VLAN為VLAN 100。
[PE2-GigabitEthernet4/0/3] port trunk pvid vlan 100
# 使能端口的基本QinQ功能。
[PE2-GigabitEthernet4/0/3] qinq enable
[PE2-GigabitEthernet4/0/3] quit
(3) 配置第三方廠商設備
對於PE 1與PE 2之間的第三方廠商設備,其關鍵配置如下:在連通PE 1與PE 2的端口上,都允許VLAN 100和200的報文攜帶VLAN Tag通過。
· Provider A、Provider B作為運營商網絡(Operator Network)接入設備,連接用戶網絡(User Network)設備。
· 用戶網絡VLAN劃分為VLAN 10和VLAN 20。
要求通過配置靈活QinQ實現:用戶網絡的報文添加外層VLAN Tag100後通過運營商網絡。
圖1-5 靈活QinQ配置組網圖
(1) 配置Provider A
# 配置上行策略,給用戶網絡的報文添加外層VLAN Tag100。
<ProviderA> system-view
[ProviderA] traffic classifier nest operator or
[ProviderA-classifier-nest] if-match service-vlan-id 10 20
[ProviderA-classifier-nest] quit
[ProviderA] traffic behavior nest
[ProviderA-behavior-nest] nest top-most vlan-id 100
[ProviderA-behavior-nest] quit
[ProviderA] qos policy nest
[ProviderA-qospolicy-nest] classifier nest behavior nest
[ProviderA-qospolicy-nest] quit
# 配置端口GigabitEthernet4/0/1允許VLAN 100的報文不帶Tag標簽通過。
[ProviderA] intface GigabitEthernet 4/0/1
[ProviderA-GigabitEthernet4/0/1] port link-type hybrid
[ProviderA-GigabitEthernet4/0/1] port hybrid vlan 100 untagged
# 在端口GigabitEthernet4/0/1的入方向應用上行策略。
[ProviderA-GigabitEthernet4/0/1] qos apply policy nest inbound
[ProviderA-GigabitEthernet4/0/1] quit
# 配置端口GigabitEthernet4/0/2允許VLAN 100的報文通過。
[ProviderA] interface GigabitEthernet 4/0/2
[ProviderA-GigabitEthernet4/0/2] port link-type trunk
[ProviderA-GigabitEthernet4/0/2] port trunk permit vlan 100
(2) 配置Provider B
Provider B上的配置與Provider A相類似,請參考Provider A上的配置。
由於用戶網絡的報文僅帶有一層VLAN Tag,因此在定義匹配數據包的規則時,應指定if-match match-criteria命令的參數為service-vlan-id vlan-id-list(用於匹配報文的最外層VLAN ID),而不是customer-vlan-id vlan-id-list(用於匹配帶有雙層VLAN Tag報文的內層VLAN ID)。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!