• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

03 二层技术-以太网交换配置指导

目录

11-QinQ配置

本章节下载 11-QinQ配置  (281.9 KB)

11-QinQ配置


1 QinQ

1.1  QinQ简介

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协议。通过将一层VLAN Tag封装到私网报文上,使其携带两层VLAN Tag穿越运营商的骨干网络(又称公网),从而使运营商能够利用一个VLAN为包含多个VLAN的用户网络提供服务。

QinQ具备以下优点:

l     缓解公网VLAN资源日益紧缺的问题。

l     用户可以规划自己的私网VLAN,不会导致与公网VLAN冲突。

l     为用户提供了一种简单、灵活的二层VPN解决方案。

l     当运营商进行VLAN规划时,用户网络不必更改原有配置,使用户网络具有了较强的独立性。

1.1.1  QinQ的工作原理

图1-1所示,QinQ报文在运营商网络中传输时带有双层VLAN Tag:

l     内层VLAN Tag:为用户的私网VLAN Tag,对应图中的Customer VLAN Tag(简称CVLAN)。设备依靠该Tag在私网中传送报文。

l     外层VLAN Tag:为运营商分配给用户的公网VLAN Tag,对应图中的Service VLAN Tag(简称SVLAN)。设备依靠该Tag在公网中传送QinQ报文。

图1-1 QinQ的报文结构

 

在公网的传输过程中,设备只根据外层VLAN Tag转发报文,而内层VLAN Tag将被当作报文的数据部分进行传输。

说明

接口的MTU(Maximum Transmission Unit,最大传输单元)值默认为1500字节。由于为报文加上外层VLAN Tag后,报文长度将增加4个字节,因此建议用户适当增加运营商网络中各接口的MTU值(至少为1504字节)。

 

图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,用户网络边缘)设备。

1.1.2  QinQ的实现方式

当端口上配置了QinQ功能后,不论从该端口收到的报文是否带有VLAN Tag,设备都会为该报文添加本端口缺省VLAN的Tag:

l     如果收到的是带有VLAN Tag的报文,该报文就成为带两层Tag的报文;

l     如果收到的是不带VLAN Tag的报文,该报文就成为带有本端口缺省VLAN Tag的报文。

说明

当多个用户以不同的VLAN接入到同一个端口时,QinQ会为所有用户的VLAN报文都添加相同的外层VLAN Tag,即端口缺省VLAN的Tag。

l     如果需要为不同用户的VLAN的报文添加不同的外层VLAN Tag,从而区分同一端口下的不同用户,可以通过1:2 VLAN映射功能实现。有关VLAN映射的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。

l     端口为报文添加外层VLAN Tag后,如果需要修改报文外层VLAN Tag中的802.1p优先级,请参见“1.4  配置外层VLAN Tag的802.1p优先级”。

l     对于带有两层VLAN Tag的报文,如果需要修改内层或外层VLAN ID,或同时修改内外层VLAN ID,可以通过2:2 VLAN映射功能实现。需要注意的是:QinQ功能和2:2 VLAN映射功能互斥。开启QinQ功能后,接口只能识别一层VLAN Tag,所以该接口无法再实现2:2 VLAN映射功能。即设备不支持在同一端口上先为报文添加外层VLAN Tag,再修改该报文的内、外层VLAN ID。

 

1.1.3  协议规范

与QinQ相关的协议规范有:

l     IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks

l     IEEE 802.1ad:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment 4: Provider Bridges

1.2  配置QinQ功能

QinQ功能应在PE设备的用户网络侧接口上进行配置。

1.2.1  使能QinQ功能

使能了QinQ功能的端口将为其收到的报文添加该端口缺省VLAN的Tag。

使能QinQ功能时需要注意:

·     在开启QinQ功能之前,需要先清除VLAN映射相关配置。若先开启了QinQ,则可以配置除2:2 VLAN映射外的其它VLAN映射类型。如果QinQ和VLAN映射的配置冲突,VLAN映射的配置生效。

·     QinQ功能和EVB功能互斥,请不要在同一端口上既使能QinQ功能,又使能EVB功能。有关EVB的详细介绍,请参见“EVB”。

表1-1 使能QinQ功能

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口或二层聚合接口视图

interface interface-type interface-number

-

使能端口的QinQ功能

qinq enable

缺省情况下,端口的QinQ功能处于关闭状态

 

1.2.2  配置VLAN透传功能

端口上使能了QinQ功能后,从该端口收到的报文就会被打上本端口缺省VLAN的Tag。而VLAN透传功能则可使端口在收到带有指定VLAN Tag的报文后,不为其添加外层VLAN Tag而直接在运营商网络中传输。例如,当某VLAN为企业专线VLAN或网管VLAN时,就可以使用VLAN透传功能。

配置VLAN透传功能时,需要注意:

l     建议在配置端口的VLAN透传功能前,配置该端口的链路为Trunk/Hybrid类型,并允许透传VLAN通过。

l     配置VLAN透传功能时,还需在报文传输路径的所有端口上都配置允许透传VLAN通过。

l     配置了端口对指定VLAN的报文进行透传后,请勿在该端口上对这些VLAN再进行修改报文VLAN Tag的相关配置。

表1-2 配置VLAN透传功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网接口或聚合接口视图

interface interface-type interface-number

-

配置端口的链路类型

port link-type { hybrid | trunk }

缺省情况下,端口的链路类型为Access类型

配置端口允许透传VLAN和端口缺省VLAN通过

当端口类型为Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

二者选其一

缺省情况下Trunk端口只允许VLAN 1的报文通过;Hybrid端口只允许VLAN 1的报文以Untagged方式通过

当端口类型为Trunk端口

port trunk permit vlan { vlan-id-list | all }

使能端口的QinQ功能

qinq enable

缺省情况下,端口的QinQ功能处于关闭状态

配置端口的VLAN透传功能

qinq transparent-vlan vlan-list

缺省情况下,端口没有配置VLAN透传功能

 

1.3  配置VLAN TagTPID

TPIDTag Protocol Identifier,标签协议标识符)值可以用来判断报文中是否携带有VLAN Tag。使能QinQ的端口(用户网络侧端口)根据全局配置的内层VLAN Tag的TPID值判断入报文是否携带VLAN Tag,如果入报文的TPID值和全局配置的内层VLAN Tag的TPID值不同,设备认为报文没有携带VLAN Tag。

没有使能QinQ的端口(运营商网络侧端口)根据端口配置的外层VLAN Tag的TPID值判断入报文是否携带VLAN Tag。此外,由于第三方厂商的设备可能将QinQ报文外层VLAN Tag的TPID设为不同的值,为了与这些厂商的设备兼容,配置了外层VLAN Tag的TPID值的端口会将出报文中外层VLAN Tag的TPID值修改为配置值,使发送到公网中的QinQ报文携带的TPID值与第三方厂商的相同,从而实现与这些厂商的设备互通。

例如,PE设备连接的用户网络侧设备设置报文的TPID值为0x8200,PE设备连接的运营商网络侧设备设置报文的TPID值为0x9100,则PE设备应该在全局配置内层VLAN Tag的TPID值为0x8200,在连接运营商网络侧端口配置外层VLAN Tag的TPID值0x9100

QinQ端口为报文添加的外层VLAN Tag的TPID值是0x8100。

1. 配置内层VLAN Tag的TPID值

内层VLAN Tag的TPID值应在PE设备上进行配置。

需要注意的是,配置内层VLAN Tag的TPID值仅用于判断入报文是否携带VLAN Tag,不会对报文内层VLAN Tag的TPID值进行修改。

表1-1 配置内层VLAN Tag的TPID值

操作

命令

说明

进入系统视图

system-view

-

配置内层VLAN Tag的TPID值

qinq ethernet-type customer-tag hex-value

缺省情况下,内层VLAN Tag的TPID值为0x8100

 

2. 配置外层VLAN Tag的TPID值

外层VLAN Tag的TPID值应在PE设备的运营商网络侧的接口上进行配置。

需要注意的是,设备不支持在同一端口上既配置外层VLAN Tag的TPID值,又使能QinQ功能或EVB功能。

表1-2 配置外层VLAN Tag的TPID值

操作

命令

说明

进入系统视图

system-view

-

进入以太网接口或聚合接口视图

interface interface-type interface-number

-

配置外层VLAN Tag的TPID值

qinq ethernet-type service-tag hex-value

缺省情况下,外层VLAN Tag的TPID值为0x8100

 

1.4  配置外层VLAN Tag的802.1p优先级

端口为报文添加外层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优先级。

在未进行本配置时:端口使用QinQ或1:2 VLAN映射功能为报文封装外层VLAN Tag时,如果端口信任报文的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-3 配置外层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优先级的映射或复制功能

将内层802.1p优先级复制为外层VLAN Tag的802.1p优先级

remark dot1p customer-dot1p-trust

退回系统视图

quit

-

定义策略,并进入策略视图

qos policy policy-name

-

在策略中,将之前定义的类和流行为进行绑定,组成QoS策略

classifier classifier-name  behavior behavior-name

-

退回系统视图

quit

-

进入以太网接口视图

interface interface-type interface-number

-

配置端口信任报文的802.1p优先级

qos trust dot1p

缺省情况下,端口不信任报文携带的802.1p优先级

重标记外层VLAN Tag的802.1p优先级时必须配置

将内层VLAN Tag的802.1p优先级复制为外层VLAN Tag的802.1p优先级时可选

开启端口的QinQ功能

qinq enable

-

在端口的入方向应用QoS策略

qos apply policy policy-name inbound

-

 

1.5  QinQ显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示使能了QinQ功能的端口,通过查看显示信息验证配置的效果。

表1-3 QinQ显示和维护

操作

命令

显示使能了QinQ功能的端口

display qinq [ interface interface-type interface-number ]

 

1.6  QinQ典型配置举例

1.6.1  QinQ配置举例

1. 组网需求

l     公司A的两个分支机构Site 1和Site 2通过运营商网络进行通信,该公司各业务使用的VLAN为VLAN 10~70;公司B的两个分支机构Site 3和Site 4也通过运营商网络进行通信,该公司各业务使用的VLAN为VLAN 30~90。

l     PE 1和PE 2为运营商网络的边缘设备,且二者通过TPID值为0x8200的第三方厂商设备进行连接。

l     通过配置,利用运营商提供的VLAN 100使公司A的两个分支机构之间实现互通,利用运营商提供的VLAN 200使公司B的两个分支机构之间实现互通。

2. 组网图

图1-3 QinQ配置组网图

 

3. 配置步骤

(1)     配置PE 1

l     配置端口Ten-GigabitEthernet1/0/1

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 10~70的报文通过。

<PE1> system-view

[PE1] interface ten-gigabitethernet 1/0/1

[PE1-Ten-GigabitEthernet1/0/1] port link-type trunk

[PE1-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 10 to 70

# 配置端口的缺省VLAN为VLAN 100。

[PE1-Ten-GigabitEthernet1/0/1] port trunk pvid vlan 100

# 使能端口的QinQ功能。

[PE1-Ten-GigabitEthernet1/0/1] qinq enable

[PE1-Ten-GigabitEthernet1/0/1] quit

l     配置端口Ten-GigabitEthernet1/0/2

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 200的报文通过。

[PE1] interface ten-gigabitethernet 1/0/2

[PE1-Ten-GigabitEthernet1/0/2] port link-type trunk

[PE1-Ten-GigabitEthernet1/0/2] port trunk permit vlan 100 200

# 配置外层VLAN Tag的TPID值为0x8200。

[PE1-Ten-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200

[PE1-Ten-GigabitEthernet1/0/2] quit

l     配置端口Ten-GigabitEthernet1/0/3

# 配置端口为Trunk端口,且允许VLAN 200和VLAN 30~90的报文通过。

[PE1] interface ten-gigabitethernet 1/0/3

[PE1-Ten-GigabitEthernet1/0/3] port link-type trunk

[PE1-Ten-GigabitEthernet1/0/3] port trunk permit vlan 200 30 to 90

# 配置端口的缺省VLAN为VLAN 200。

[PE1-Ten-GigabitEthernet1/0/3] port trunk pvid vlan 200

# 使能端口的QinQ功能。

[PE1-Ten-GigabitEthernet1/0/3] qinq enable

[PE1-Ten-GigabitEthernet1/0/3] quit

(2)     配置PE 2

l     配置端口Ten-GigabitEthernet1/0/1

# 配置端口为Trunk端口,且允许VLAN 200和VLAN 30~90的报文通过。

<PE2> system-view

[PE2] interface ten-gigabitethernet 1/0/1

[PE2-Ten-GigabitEthernet1/0/1] port link-type trunk

[PE2-Ten-GigabitEthernet1/0/1] port trunk permit vlan 200 30 to 90

# 配置端口的缺省VLAN为VLAN 200。

[PE2-Ten-GigabitEthernet1/0/1] port trunk pvid vlan 200

# 使能端口的QinQ功能。

[PE2-Ten-GigabitEthernet1/0/1] qinq enable

[PE2-Ten-GigabitEthernet1/0/1] quit

l     配置端口Ten-GigabitEthernet1/0/2

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 200的报文通过。

[PE2] interface ten-gigabitethernet 1/0/2

[PE2-Ten-GigabitEthernet1/0/2] port link-type trunk

[PE2-Ten-GigabitEthernet1/0/2] port trunk permit vlan 100 200

# 配置外层VLAN Tag的TPID值为0x8200。

[PE2-Ten-GigabitEthernet1/0/2] qinq ethernet-type service-tag 8200

[PE2-Ten-GigabitEthernet1/0/2] quit

l     配置端口Ten-GigabitEthernet1/0/3

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 10~70的报文通过。

[PE2] interface ten-gigabitethernet 1/0/3

[PE2-Ten-GigabitEthernet1/0/3] port link-type trunk

[PE2-Ten-GigabitEthernet1/0/3] port trunk permit vlan 100 10 to 70

# 配置端口的缺省VLAN为VLAN 100。

[PE2-Ten-GigabitEthernet1/0/3] port trunk pvid vlan 100

# 使能端口的QinQ功能。

[PE2-Ten-GigabitEthernet1/0/3] qinq enable

[PE2-Ten-GigabitEthernet1/0/3] quit

(2)     配置公共网络设备

配置运营商网络中PE 1到PE 2之间路径上的设备端口都允许VLAN 100和VLAN 200的报文携带VLAN Tag通过,且这些端口的MTU值至少为1504字节。

1.6.2  VLAN透传配置举例

1. 组网需求

l     某公司的两个分支机构Site 1和Site 2通过运营商网络进行通信,该公司各业务使用的VLAN为VLAN 10~50和VLAN 3000,其中VLAN 3000为企业专线VLAN。

l     PE 1和PE 2为运营商网络的边缘设备。

l     通过配置,使公司使用的VLAN 10~50利用运营商提供的VLAN 100实现互通,VLAN 3000不利用运营商提供的VLAN就能实现互通。

2. 组网图

图1-4 VLAN透传配置组网图

 

3. 配置步骤

(1)     配置PE 1

l     配置端口Ten-GigabitEthernet1/0/1

# 配置端口为Trunk端口,且允许VLAN 100、VLAN 3000和VLAN 10~50的报文通过。

<PE1> system-view

[PE1] interface ten-gigabitethernet 1/0/1

[PE1-Ten-GigabitEthernet1/0/1] port link-type trunk

[PE1-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 3000 10 to 50

# 配置端口的缺省VLAN为VLAN 100。

[PE1-Ten-GigabitEthernet1/0/1] port trunk pvid vlan 100

# 使能端口的QinQ功能。

[PE1-Ten-GigabitEthernet1/0/1] qinq enable

# 配置端口对VLAN 3000的报文进行透传。

[PE1-Ten-GigabitEthernet1/0/1] qinq transparent-vlan 3000

[PE1-Ten-GigabitEthernet1/0/1] quit

l     配置端口Ten-GigabitEthernet1/0/2

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 3000的报文通过。

[PE1] interface ten-gigabitethernet 1/0/2

[PE1-Ten-GigabitEthernet1/0/2] port link-type trunk

[PE1-Ten-GigabitEthernet1/0/2] port trunk permit vlan 100 3000

[PE1-Ten-GigabitEthernet1/0/2] quit

(2)     配置PE 2

l     配置端口Ten-GigabitEthernet1/0/1

# 配置端口为Trunk端口,且允许VLAN 100、VLAN 3000和VLAN 10~50的报文通过。

<PE2> system-view

[PE2] interface ten-gigabitethernet 1/0/1

[PE2-Ten-GigabitEthernet1/0/1] port link-type trunk

[PE2-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 3000 10 to 50

# 配置端口的缺省VLAN为VLAN 100。

[PE2-Ten-GigabitEthernet1/0/1] port trunk pvid vlan 100

# 使能端口的QinQ功能。

[PE2-Ten-GigabitEthernet1/0/1] qinq enable

# 配置端口对VLAN 3000的报文进行透传。

[PE2-Ten-GigabitEthernet1/0/1] qinq transparent-vlan 3000

[PE2-Ten-GigabitEthernet1/0/1] quit

l     配置端口Ten-GigabitEthernet1/0/2

# 配置端口为Trunk端口,且允许VLAN 100和VLAN 3000的报文通过。

[PE2] interface ten-gigabitethernet 1/0/2

[PE2-Ten-GigabitEthernet1/0/2] port link-type trunk

[PE2-Ten-GigabitEthernet1/0/2] port trunk permit vlan 100 3000

[PE2-Ten-GigabitEthernet1/0/2] quit

(3)     配置公共网络设备

配置运营商网络中PE 1到PE 2之间路径上的设备端口都允许VLAN 100和VLAN 3000的报文携带VLAN Tag通过,且这些端口的MTU值至少为1504字节。

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们