• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

04-二層技術-以太網交換配置指導

目錄

06-QinQ配置

本章節下載 06-QinQ配置  (308.39 KB)

06-QinQ配置


1 QinQ

1.1  QinQ簡介

QinQ是802.1Q in 802.1Q的簡稱,它是基於IEEE 802.1Q技術的一種二層隧道協議,通過將用戶的私網報文封裝上外層VLAN Tag,使其攜帶兩層VLAN Tag穿越運營商的骨幹網絡(又稱公網),從而為用戶提供了一種比較簡單的二層VPN隧道技術,也使運營商利用一個VLAN為包含多個VLAN的用戶網絡提供服務成為了可能。

1.1.1  QinQ的產生背景

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解決方案。

·     當運營商升級網絡時,用戶網絡不必更改原有配置,使用戶網絡具有了較強的獨立性。

1.1.2  QinQ的實現原理

在公網的傳輸過程中,設備隻根據外層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.1.3  QinQ的報文結構

圖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值的相關配置,請參見“接口管理配置指導”中的“以太網接口”。

 

1.1.4  QinQ的實現方式

QinQ的實現方式可分為以下兩種:

1. 基本QinQ

基本QinQ是基於端口方式實現的。當端口上配置了基本QinQ功能後,不論從該端口收到報文是否帶有VLAN Tag,設備都會為該報文打上本端口缺省VLAN的Tag:

·     如果收到的是帶有VLAN Tag的報文,該報文就成為帶雙Tag的報文;

·     如果收到的是不帶VLAN Tag的報文,該報文就成為帶有本端口缺省VLAN Tag的報文。

2. 靈活QinQ

靈活QinQ是基於端口與VLAN相結合的方式實現的,它對QinQ的功能進行了擴展,是對QinQ的一種更靈活的實現。靈活QinQ除了能實現所有基本QinQ的功能外,對於從同一個端口收到的報文,還可以根據VLAN的不同進行不同的操作,包括:

·     為匹配流分類的報文添加外層VLAN Tag。

·     根據報文內層VLAN的802.1p優先級標記外層VLAN的802.1p優先級。

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

1.1.5  VLAN Tag的TPID值可調功能

圖1-3所示,是IEEE802.1Q協議定義的以太網幀的VLAN Tag結構,TPID(Tag Protocol Identifier,標簽協議標識)是VLAN Tag中的一個字段,用於表示VLAN Tag的協議類型,IEEE 802.1Q協議規定該字段的取值為0x8100。

圖1-3 以太網幀的VLAN Tag報文結構

 

說明

有關TPID、Priority、CFI和VLAN ID字段的含義,請參見“二層技術-以太網交換配置指導”中的“VLAN”。

 

不同廠商的設備可能將QinQ報文外層VLAN Tag的TPID字段設為不同的值,為了和其他廠商的設備兼容,設備提供了QinQ報文的TPID值可調功能。用戶通過配置TPID的值,使得發送到公網中的QinQ報文攜帶的TPID值與其他廠商相同,就可以實現與其他廠商的設備互通。

由於TPID字段在以太網報文中所處位置與不帶VLAN Tag的報文中協議類型字段所處位置相同,為避免網絡中報文轉發和接收造成混亂,不允許用戶將TPID值配置為表1-1中列舉的常用協議的類型值。

表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配置任務簡介

表1-2 QinQ配置任務簡介

配置任務

說明

詳細配置

配置基本QinQ功能

必選

1.3 

配置靈活QinQ功能

配置添加外層VLAN Tag的策略

兩者至少選其一

1.4.1 

配置內外層VLAN Tag中802.1p優先級的映射關係

1.4.2 

配置VLAN TagTPID

可選

1.5 

 

1.3  配置基本QinQ功能

表1-3 配置基本QinQ功能

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖或端口組視圖

進入二層以太網接口或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

使能端口的基本QinQ功能

qinq enable

必選

缺省情況下,端口的基本QinQ功能處於關閉狀態

 

注意

基本QinQ功能應在運營商網絡中與用戶網絡相連的設備上進行配置,並且應配置在連接用戶網絡側的端口上。

 

1.4  配置靈活QinQ功能

說明

有關QoS策略的詳細介紹,請參見“ACL和QoS配置指導”中的“QoS”。

 

1.4.1  配置添加外層VLAN Tag的策略

用戶可以通過配置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

必選

 

1.4.2  配置內外層VLAN Tag中802.1p優先級的映射關係

用戶可以通過配置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.5  配置VLAN TagTPID

表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)值。

 

1.6  QinQ典型配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。

 

1.6.1  基本QinQ典型配置舉例

1. 組網需求

·     公司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的兩個分支機構之間實現互通。

2. 組網圖

圖1-4 基本QinQ應用組網圖

 

3. 配置步驟

說明

您必須通過配置保證運營商網絡中的設備之間允許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

# 配置端口的缺省VLANVLAN 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

# 配置端口的缺省VLANVLAN 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

# 配置端口的缺省VLANVLAN 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通過。

1.6.2  靈活QinQ典型配置舉例

1. 組網需求

·     Provider A、Provider B作為運營商網絡(Operator Network)接入設備,連接用戶網絡(User Network)設備。

·     用戶網絡VLAN劃分為VLAN 10和VLAN 20。

要求通過配置靈活QinQ實現:用戶網絡的報文添加外層VLAN Tag100後通過運營商網絡。

2. 組網圖

圖1-5 靈活QinQ配置組網圖

 

3. 配置步驟

(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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們