08-QinQ配置
本章節下載: 08-QinQ配置 (309.59 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接入到同一個端口時則無法區分用戶。如果需要為不同用戶的VLAN的報文添加不同的外層VLAN Tag,可以通過VLAN映射或QoS Nest功能實現。
· 為不同內層VLAN Tag的報文添加不同的外層VLAN Tag,建議使用1:2 VLAN映射功能。
· 對於帶有兩層VLAN Tag的報文,如果需要修改內層或外層VLAN ID,或同時修改內外層VLAN ID,可以通過2:2 VLAN映射功能實現。
· 如果運營商網絡需要使用VLAN ID之外的匹配條件更靈活的匹配用戶網絡報文,或在為報文添加外層VLAN Tag時,需要同時配置其它流行為,請使用QoS Nest功能。
· 端口為報文添加外層VLAN Tag後,如果需要修改報文外層VLAN Tag中的802.1p優先級,請參見“1.6 配置外層VLAN Tag的802.1p優先級”。
有關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功能和2:2 VLAN映射功能互斥。即設備不支持在同一端口上先為報文添加外層VLAN Tag,再修改該報文的內、外層VLAN ID。
開啟了QinQ功能的端口將為其收到的報文添加該端口PVID的Tag。
開啟或關閉QinQ功能之前,要先清除已有的VLAN映射表項。有關VLAN映射的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“VLAN映射”。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口或二層聚合接口視圖。
interface interface-type interface-number
(3) 配置端口的鏈路類型。
port link-type { access | hybrid | trunk }
缺省情況下,端口的鏈路類型為Access。
(4) 配置端口允許PVID和CVLAN的報文通過。請根據端口的鏈路類型選擇其中一項進行配置。
¡ 配置Access端口的所屬VLAN。
port access vlan vlan-id
缺省情況下,所有Access端口都屬於VLAN 1。
Access端口的PVID和CVLAN均為其所屬VLAN,且發送所屬VLAN的報文時不帶Tag。
¡ 配置Hybrid端口允許PVID的報文不帶Tag通過,允許CVLAN的報文帶Tag通過。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時所屬VLAN的報文以Untagged方式通過。
¡ 配置Trunk端口允許PVID和CVLAN的報文通過。
port trunk permit vlan { vlan-id-list | all }
缺省情況下,Trunk端口隻允許VLAN 1的報文通過。
(5) 開啟端口的QinQ功能。
qinq enable
缺省情況下,端口的QinQ功能處於關閉狀態。
端口上開啟了QinQ功能後,從該端口收到的報文就會被打上本端口PVID的Tag。而VLAN透傳功能則可使端口在收到帶有指定VLAN Tag的報文後,不為其添加外層VLAN Tag而直接在運營商網絡中傳輸。例如,當某VLAN為企業專線VLAN或網管VLAN時,就可以使用VLAN透傳功能。
配置VLAN透傳功能時,需要注意:
· 配置VLAN透傳功能時,還需在報文傳輸路徑的所有端口上都配置允許透傳VLAN通過。
· 配置了用戶側端口對指定VLAN的報文進行透傳後,請勿在該端口上對這些VLAN再進行修改報文VLAN Tag的相關配置。
· 同一接口上透傳VLAN和VLAN映射表項的原始VLAN及轉換後VLAN(對於攜帶兩層VLAN Tag的報文,原始VLAN及轉換後VLAN都僅指外層VLAN)不允許相同。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口或二層聚合接口視圖。
interface interface-type interface-number
(3) 配置端口的鏈路類型為Hybrid或Trunk。
port link-type { hybrid | trunk }
缺省情況下,端口的鏈路類型為Access。
(4) 配置端口允許透傳VLAN的報文通過。請根據端口的鏈路類型選擇其中一項進行配置。
¡ 配置Hybrid端口允許透傳VLAN的報文通過。
port hybrid vlan vlan-id-list { tagged | untagged }
缺省情況下,Hybrid端口隻允許該端口在鏈路類型為Access時所屬VLAN的報文以Untagged方式通過。
¡ 配置Trunk端口允許透傳VLAN的報文通過。
port trunk permit vlan { vlan-id-list | all }
缺省情況下,Trunk端口隻允許VLAN 1的報文通過。
(5) 配置端口的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設備的運營商網絡側的接口上進行配置。
(1) 進入係統視圖。
system-view
(2) 配置內層VLAN Tag的TPID值。
qinq ethernet-type customer-tag hex-value
缺省情況下,內層VLAN Tag的TPID值為0x8100。
(1) 進入係統視圖。
system-view
(2) 進入二層以太網接口或二層聚合接口視圖。
interface interface-type interface-number
(3) 配置外層VLAN Tag的TPID值。
qinq ethernet-type service-tag hex-value
缺省情況下,外層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
# 配置端口Twenty-FiveGigE1/0/1為Trunk端口,且允許VLAN 100和VLAN 10~70的報文通過。
<PE1> system-view
[PE1] interface twenty-fivegige 1/0/1
[PE1-Twenty-FiveGigE1/0/1] port link-type trunk
[PE1-Twenty-FiveGigE1/0/1] port trunk permit vlan 100 10 to 70
# 配置端口Twenty-FiveGigE1/0/1的PVID為VLAN 100。
[PE1-Twenty-FiveGigE1/0/1] port trunk pvid vlan 100
# 開啟端口Twenty-FiveGigE1/0/1的QinQ功能。
[PE1-Twenty-FiveGigE1/0/1] qinq enable
[PE1-Twenty-FiveGigE1/0/1] quit
# 配置端口Twenty-FiveGigE1/0/2為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE1] interface twenty-fivegige 1/0/2
[PE1-Twenty-FiveGigE1/0/2] port link-type trunk
[PE1-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 200
# 在端口Twenty-FiveGigE1/0/2上配置外層VLAN Tag的TPID值為0x8200。
[PE1-Twenty-FiveGigE1/0/2] qinq ethernet-type service-tag 8200
[PE1-Twenty-FiveGigE1/0/2] quit
# 配置端口Twenty-FiveGigE1/0/3為Trunk端口,且允許VLAN 200和VLAN 30~90的報文通過。
[PE1] interface twenty-fivegige 1/0/3
[PE1-Twenty-FiveGigE1/0/3] port link-type trunk
[PE1-Twenty-FiveGigE1/0/3] port trunk permit vlan 200 30 to 90
# 配置端口Twenty-FiveGigE1/0/3的PVID為VLAN 200。
[PE1-Twenty-FiveGigE1/0/3] port trunk pvid vlan 200
# 開啟端口Twenty-FiveGigE1/0/3的QinQ功能。
[PE1-Twenty-FiveGigE1/0/3] qinq enable
[PE1-Twenty-FiveGigE1/0/3] quit
(2) 配置PE 2
# 配置端口Twenty-FiveGigE1/0/1為Trunk端口,且允許VLAN 200和VLAN 30~90的報文通過。
<PE2> system-view
[PE2] interface twenty-fivegige 1/0/1
[PE2-Twenty-FiveGigE1/0/1] port link-type trunk
[PE2-Twenty-FiveGigE1/0/1] port trunk permit vlan 200 30 to 90
# 配置端口Twenty-FiveGigE1/0/1的PVID為VLAN 200。
[PE2-Twenty-FiveGigE1/0/1] port trunk pvid vlan 200
# 開啟端口Twenty-FiveGigE1/0/1的QinQ功能。
[PE2-Twenty-FiveGigE1/0/1] qinq enable
[PE2-Twenty-FiveGigE1/0/1] quit
# 配置端口Twenty-FiveGigE1/0/2為Trunk端口,且允許VLAN 100和VLAN 200的報文通過。
[PE2] interface twenty-fivegige 1/0/2
[PE2-Twenty-FiveGigE1/0/2] port link-type trunk
[PE2-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 200
# 在端口Twenty-FiveGigE1/0/2上配置外層VLAN Tag的TPID值為0x8200。
[PE2-Twenty-FiveGigE1/0/2] qinq ethernet-type service-tag 8200
[PE2-Twenty-FiveGigE1/0/2] quit
# 配置端口Twenty-FiveGigE1/0/3為Trunk端口,且允許VLAN 100和VLAN 10~70的報文通過。
[PE2] interface twenty-fivegige 1/0/3
[PE2-Twenty-FiveGigE1/0/3] port link-type trunk
[PE2-Twenty-FiveGigE1/0/3] port trunk permit vlan 100 10 to 70
# 配置端口Twenty-FiveGigE1/0/3的PVID為VLAN 100。
[PE2-Twenty-FiveGigE1/0/3] port trunk pvid vlan 100
# 開啟端口Twenty-FiveGigE1/0/3的QinQ功能。
[PE2-Twenty-FiveGigE1/0/3] qinq enable
[PE2-Twenty-FiveGigE1/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
# 配置端口Twenty-FiveGigE1/0/1為Trunk端口,且允許VLAN 10~50、VLAN 100和VLAN 3000的報文通過。
<PE1> system-view
[PE1] interface twenty-fivegige 1/0/1
[PE1-Twenty-FiveGigE1/0/1] port link-type trunk
[PE1-Twenty-FiveGigE1/0/1] port trunk permit vlan 100 3000 10 to 50
# 配置端口Twenty-FiveGigE1/0/1的PVID為VLAN 100。
[PE1-Twenty-FiveGigE1/0/1] port trunk pvid vlan 100
# 開啟端口Twenty-FiveGigE1/0/1的QinQ功能。
[PE1-Twenty-FiveGigE1/0/1] qinq enable
# 配置端口對VLAN 3000的報文進行透傳。
[PE1-Twenty-FiveGigE1/0/1] qinq transparent-vlan 3000
[PE1-Twenty-FiveGigE1/0/1] quit
# 配置端口Twenty-FiveGigE1/0/2為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
[PE1] interface twenty-fivegige 1/0/2
[PE1-Twenty-FiveGigE1/0/2] port link-type trunk
[PE1-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 3000
[PE1-Twenty-FiveGigE1/0/2] quit
(2) 配置PE 2
# 配置端口Twenty-FiveGigE1/0/1為Trunk端口,且允許VLAN 10~50、VLAN 100和VLAN 3000的報文通過。
<PE2> system-view
[PE2] interface twenty-fivegige 1/0/1
[PE2-Twenty-FiveGigE1/0/1] port link-type trunk
[PE2-Twenty-FiveGigE1/0/1] port trunk permit vlan 100 3000 10 to 50
# 配置端口Twenty-FiveGigE1/0/1的PVID為VLAN 100。
[PE2-Twenty-FiveGigE1/0/1] port trunk pvid vlan 100
# 開啟端口Twenty-FiveGigE1/0/1的QinQ功能。
[PE2-Twenty-FiveGigE1/0/1] qinq enable
# 配置端口Twenty-FiveGigE1/0/1對VLAN 3000的報文進行透傳。
[PE2-Twenty-FiveGigE1/0/1] qinq transparent-vlan 3000
[PE2-Twenty-FiveGigE1/0/1] quit
# 配置端口Twenty-FiveGigE1/0/2為Trunk端口,且允許VLAN 100和VLAN 3000的報文通過。
[PE2] interface twenty-fivegige 1/0/2
[PE2-Twenty-FiveGigE1/0/2] port link-type trunk
[PE2-Twenty-FiveGigE1/0/2] port trunk permit vlan 100 3000
[PE2-Twenty-FiveGigE1/0/2] quit
(3) 配置公共網絡設備
配置運營商網絡中PE 1到PE 2之間路徑上的設備端口都允許VLAN 100和VLAN 3000的報文攜帶VLAN Tag通過,且這些端口的MTU值至少為1504字節。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!