05-QinQ配置
本章節下載: 05-QinQ配置 (293.86 KB)
目 錄
QinQ是802.1Q in 802.1Q的簡稱,是基於IEEE 802.1Q技術的一種比較簡單的二層VPN(Virtual Private Network,虛擬專用網絡)協議。QinQ通過將一層VLAN Tag封裝到私網報文上,使其攜帶兩層VLAN Tag穿越運營商的骨幹網絡(又稱公網),從而使運營商能夠利用一個VLAN為包含多個VLAN的用戶網絡提供服務。QinQ最多可以提供4094×4094個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,設備都會為該報文添加本端口PVID的Tag:
· 如果收到的是帶有VLAN Tag的報文,該報文就成為帶兩層Tag的報文。
· 如果收到的是不帶VLAN Tag的報文,該報文就成為帶有本端口PVID的Tag的報文。
QinQ功能是以端口來劃分用戶或用戶網絡,但當多個不同用戶以不同的VLAN接入到同一個端口時則無法區分用戶。
與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功能的端口將為其收到的報文添加該端口PVID的Tag。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入VEB接口視圖。
interface ve-bridge interface-number
(3) 配置端口的鏈路類型。
port link-type { access | hybrid | trunk }
缺省情況下,端口的鏈路類型為Access。
(4) 請根據端口的鏈路類型選擇其中一項進行配置。
¡ 配置Access端口的所屬VLAN。
port access vlan vlan-id
缺省情況下,所有Access端口都屬於VLAN 1。
¡ 配置Hybrid端口允許PVID的報文不帶Tag通過,允許CVLAN的報文帶Tag通過。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時所屬VLAN的報文以Untagged方式通過。
port trunk permit vlan { vlan-id-list | all }
缺省情況下,Trunk端口隻允許VLAN 1的報文通過。
(5) 開啟端口的QinQ功能。
qinq enable
缺省情況下,端口的QinQ功能處於關閉狀態。
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值可以在全局和端口上配置。其中,全局配置對所有端口都有效,端口上的配置對一個或多個端口有效。對於某個端口來說,優先采用端口上的配置。
VLAN Tag的TPID值應在PE設備的運營商網絡側的接口上進行配置。
(1) 進入係統視圖。
system-view
(2) 配置內層VLAN Tag的TPID值。
qinq ethernet-type customer-tag { hex-value | dot1ad | dot1q }
缺省情況下,內層VLAN Tag的TPID值都為0x8100。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入VEB接口視圖。
interface ve-bridge interface-number
(3) 配置外層VLAN Tag的TPID值。
qinq ethernet-type service-tag { hex-value | dot1ad | dot1q }
缺省情況下,外層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優先級。
有關QoS策略和優先級信任模式的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS策略”和“優先級映射”。
(1) 開啟端口的QinQ功能。配置方法請參見“1.3 開啟QinQ功能”。
若要根據報文內層VLAN ID或內層VLAN Tag的802.1p優先級修改外層VLAN Tag的802.1p優先級,必須先在端口上開啟QinQ功能。
(2) 使用qos trust dot1p命令配置端口信任報文的802.1p優先級。配置方法請參見“ACL和QoS配置指導”中的“QoS/優先級映射”。
重標記外層VLAN Tag的802.1p優先級時必須配置。將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級時可選。
通過QoS策略修改報文外層VLAN Tag的802.1p優先級配置任務如下:
(1) 創建流分類並定義報文匹配規則
(2) 創建流行為並配置流行為的動作
(3) 定義策略
(4) 應用策略
(1) 進入係統視圖。
system-view
(2) 創建流分類,並進入流分類視圖。
traffic classifier classifier-name [ operator { and | or } ]
(3) 定義匹配報文的規則。請選擇其中一項進行配置。
¡ 定義匹配內層VLAN ID的規則。
if-match customer-vlan-id vlan-id-list
¡ 定義匹配內層VLAN Tag的802.1p優先級的規則。
if-match customer-dot1p dot1p-value&<1-8>
(1) 進入係統視圖。
system-view
(2) 創建流行為,並進入流行為視圖。
traffic behavior behavior-name
(3) 配置報文外層VLAN Tag的802.1p優先級。請選擇其中一項進行配置。
¡ 重標記外層VLAN Tag的802.1p優先級。
remark dot1p dot1p-value
¡ 將內層VLAN Tag的802.1p優先級複製為外層VLAN Tag的802.1p優先級。
remark dot1p customer-dot1p-trust
(1) 進入係統視圖。
system-view
(2) 創建QoS策略,並進入策略視圖。
qos policy policy-name
(3) 在策略中為類指定采用的流行為。
classifier classifier-name behavior behavior-name
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口視圖。
interface interface-type interface-number
(3) 在接口的入方向應用QoS策略。
qos apply policy policy-name inbound
在完成上述配置後,在任意視圖下執行display命令可以顯示開啟了QinQ功能的端口,通過查看顯示信息驗證配置的效果。
表1-1 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和VLAN 10~70的報文通過。
<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 10 to 70
# 配置端口GigabitEthernet1/0/1的PVID為VLAN 100。
[PE1-GigabitEthernet1/0/1] port trunk pvid vlan 100
# 開啟端口GigabitEthernet1/0/1的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
# 在端口GigabitEthernet1/0/2上配置外層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和VLAN 30~90的報文通過。
[PE1] interface gigabitethernet 1/0/3
[PE1-GigabitEthernet1/0/3] port link-type trunk
[PE1-GigabitEthernet1/0/3] port trunk permit vlan 200 30 to 90
# 配置端口GigabitEthernet1/0/3的PVID為VLAN 200。
[PE1-GigabitEthernet1/0/3] port trunk pvid vlan 200
# 開啟端口GigabitEthernet1/0/3的QinQ功能。
[PE1-GigabitEthernet1/0/3] qinq enable
[PE1-GigabitEthernet1/0/3] quit
(2) 配置PE 2
# 配置端口GigabitEthernet1/0/1為Trunk端口,且允許VLAN 200和VLAN 30~90的報文通過。
<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 30 to 90
# 配置端口GigabitEthernet1/0/1的PVID為VLAN 200。
[PE2-GigabitEthernet1/0/1] port trunk pvid vlan 200
# 開啟端口GigabitEthernet1/0/1的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
# 在端口GigabitEthernet1/0/2上配置外層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和VLAN 10~70的報文通過。
[PE2] interface gigabitethernet 1/0/3
[PE2-GigabitEthernet1/0/3] port link-type trunk
[PE2-GigabitEthernet1/0/3] port trunk permit vlan 100 10 to 70
# 配置端口GigabitEthernet1/0/3的PVID為VLAN 100。
[PE2-GigabitEthernet1/0/3] port trunk pvid vlan 100
# 開啟端口GigabitEthernet1/0/3的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字節。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!