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

01-接入分册

目录

10-QinQ配置

本章节下载 10-QinQ配置  (288.15 KB)

docurl=/cn/Service/Document_Software/Document_Center/Wlan/WX/WX6100E/Configure/Operation_Manual/H3C_WX6100E_OM-Release_6600(V1.00)/01/201006/677488_30005_0.htm

10-QinQ配置


1 QinQ配置

QinQ功能只需在运营商网络进行配置,用户网络不需进行配置。

 

1.1  QinQ简介

QinQ是802.1Q in 802.1Q的简称,它是基于IEEE 802.1Q技术的一种二层隧道协议,通过将用户的私网报文封装上外层VLAN Tag,使其携带两层VLAN Tag穿越运营商的骨干网络(又称公网),从而为用户提供了一种比较简单的二层VPN隧道技术,也使运营商利用一个VLAN为包含多个VLAN的用户网络提供服务成为了可能。

1.1.1  QinQ的产生背景和优点

在IEEE 802.1Q定义的VLAN Tag域中,只有12个比特位用于表示VLAN ID,所以设备最多可以支持4094个VLAN。但在实际应用中,尤其是在城域网中,需要大量的VLAN来隔离用户,4094个VLAN远远不能满足需求。

QinQ使整个网络最多可提供4094×4094个VLAN,从而满足了城域网对VLAN数量的需求。它具备以下优点:

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

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

l              为小型城域网和企业网提供了一种简单、灵活的二层VPN解决方案。

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

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范围存在重叠,在运营商网络中传输时也不会产生冲突。

1.1.3  QinQ的报文结构

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

l              内层VLAN Tag:为用户的私网VLAN Tag;

l              外层VLAN Tag:为运营商分配给用户的公网VLAN Tag。

图1-2 QinQ的报文结构

 

接口的MTU(Maximum Transmission Unit,最大传输单元)值默认为1500字节。由于为报文加上外层VLAN Tag后,报文长度将增加4个字节,因此建议用户适当增加运营商网络中各接口的MTU值(至少为1504字节)。有关接口MTU值的相关配置,请参见“接入分册”中的“以太网端口配置”。

 

1.1.4  QinQ的实现方式

QinQ可分为两种:基本QinQ和灵活QinQ。

l              基本QinQ

基本QinQ是基于端口方式实现的。当端口上配置了基本QinQ功能后,不论从该端口收到报文是否带有VLAN Tag,设备都会为该报文打上本端口缺省VLAN的Tag:

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

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

l              灵活QinQ

灵活QinQ是对QinQ的一种更灵活的实现,它除了能实现所有基本QinQ的功能外,对于同一个端口接收的报文还可以根据报文的内层VLAN ID添加不同的外层VLAN Tag。

WX6100E系列无线控制器以太网交换机通过QoS策略实现灵活QinQ功能,即通过定义流分类规则将用户VLAN ID为指定值的报文进行归类,并通过配置流行为为此类报文封装指定的外层VLAN Tag。

1.1.5  VLAN Tag的TPID值可调功能

TPID(Tag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,用于表示VLAN Tag的协议类型,IEEE 802.1Q协议规定该字段的取值为0x8100。

IEEE802.1Q协议定义的以太网帧的VLAN Tag结构如图1-3所示。

图1-3 以太网帧的VLAN Tag结构

 

WX6100E系列无线控制器以太网交换机可以根据TPID值来识别报文中是否携带对应的VLAN Tag:当端口收到报文时,根据设备的TPID值与报文中相应的字段进行比较,如果二者一致,则表示报文中携带相应的VLAN Tag。

不同厂商的设备可能将QinQ报文外层VLAN Tag的TPID字段设为不同的值。为了和这些设备兼容,WX6100E系列无线控制器以太网交换机提供了QinQ报文的TPID值可调功能,可以进行调节的TPID值包括:

l              用户网络的TPID值:用来使交换机判断从用户网络接收的报文是否携带VLAN Tag,以及当用户报文不带Tag时,为其封装使用该TPID值的标签。

l              运营商网络的TPID值:交换机在为用户报文封装外层Tag时将使用该TPID值,以实现与其他厂商设备的互通,该值还可用于使交换机识别来自运营商网络的报文是否携带VLAN Tag。

由于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

集群

0x88A7

设备保留

0xFFFD/0xFFFE/0xFFFF

 

1.1.6  设置外层标签优先级

缺省情况下,WX6100E系列无线控制器以太网交换机在为用户报文封装外层标签时,使用接收端口的端口优先级作为外层标签的802.1p优先级。在接入用户较多,报文类型复杂的情况下,用户报文优先级的设置可能与运营商网络中的数据传输策略不符,此时可以使用WX6100E系列无线控制器以太网交换机提供的QoS策略功能,通过以下两种方式设置报文外层标签的优先级:

l              外层优先级与内层VLAN的映射:将报文内层VLAN作为流分类的分类依据,并在流行为中设置外层标签优先级,实现优先级与内层VLAN的映射。

l              内外层标签优先级的映射:将报文内层标签中的优先级作为流分类的分类的依据,在流行为中设置外层标签优先级,实现内外层优先级的映射。

1.1.7  协议规范

与QinQ相关的协议规范有:

l              IEEE 802.1Q:IEEE standard for local and metropolitan area networks: Virtual Bridged Local Area Networks

1.2  配置基本QinQ功能

1.2.1  开启基本QinQ功能

表1-2 开启基本QinQ功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图、二层聚合端口组视图或端口组视图

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

interface interface-type interface-number

二者必选其一

进入以太网端口或二层聚合端口组视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group { manual port-group-name | aggregation agg-id }

开启端口的基本QinQ功能

qinq enable

必选

缺省情况下,端口的基本QinQ功能关闭

 

l    基本QinQ功能应在连接用户网络的接口上进行配置。

l    通常情况下,请不要在开启了RRPP功能的端口上配置QinQ功能,以防止RRPP报文被被传输到错误的VLAN而使RRPP功能失效。如实际组网中确有此需求,可以在该端口上配置VLAN映射功能,将RRPP的控制VLAN同时配置为CVLAN和SVLAN,使RRPP报文跳过QinQ功能的操作,继续在控制VLAN内传输。

l    所有的QinQ相关配置都不能在镜像反射口上进行配置。有关镜像反射口的相关介绍,请参见“接入分册”中的“镜像配置”。

 

1.2.2  配置VLAN透传功能

端口上使能了基本QinQ功能后,从该端口收到的报文就会被打上本端口缺省VLAN的Tag。而VLAN透传功能则可使端口在收到带有指定VLAN Tag的报文后,不为其添加外层VLAN Tag而直接在运营商网络中传输。

表1-3 配置VLAN透传功能

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

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

interface interface-type interface-number

二者必选其一

进入端口组视图

port-group manual port-group-name

开启端口的基本QinQ功能

qinq enable

必选

缺省情况下,端口的基本QinQ功能关闭

配置端口的VLAN透传功能

qinq transparent-vlan vlan-list

必选

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

 

l    如果在端口上没有配置基本QinQ功能,则VLAN透传功能配置后不能生效。

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

l    配置了端口对指定VLAN的报文进行透传后,请勿在该端口上对这些VLAN再进行VLAN映射的相关配置。有关VLAN映射的相关介绍,请参见“接入分册”中的“VLAN映射配置”。

 

1.3  配置灵活QinQ功能

表1-4 配置灵活QinQ功能

操作

命令

说明

进入系统视图

system-view

-

创建类并进入类视图

traffic classifier classifier-name [ operator { and | or } ]

必选

缺省情况下,类视图下各规则之间的关系为and,即逻辑与

配置匹配报文的规则,即指定报文的内层VLAN ID

if-match customer-vlan-id vlan-id-list

必选

退出至系统视图

quit

-

创建流行为并进入流行为视图

traffic behavior behavior-name

必选

定义流行为,即指定为报文封装的外层VLAN ID

nest top-most vlan-id vlan-id

必选

退出至系统视图

quit

-

创建QoS策略并进入QoS策略视图

qos policy policy-name

必选

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

classifier classifier-name  behavior behavior-name

必选

退出至系统视图

quit

-

进入连接用户的以太网端口视图、二层聚合端口组视图或端口组视图

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

interface interface-type interface-number

二者必选其一

进入以太网端口或二层聚合端口组视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group { manual port-group-name | aggregation agg-id }

开启端口的基本QinQ功能

qinq enable

必选

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

qos apply policy policy-name inbound

必选

 

l    开启灵活QinQ前必须先配置端口的基本QinQ功能,灵活QinQ的优先级高于基本QinQ,即当端口接收的报文不能匹配流分类规则的情况下,才根据基本QinQ的功能封装外层VLAN Tag。

l    灵活QinQ的配置是基于QoS策略实现的,关于QoS策略的更多详细信息,请参见QoS分册中“QoS配置”部分的介绍。

 

1.4  配置VLAN Tag的TPID值

表1-5 配置VLAN Tag的TPID值

操作

命令

说明

进入系统视图

system-view

-

配置用户网络中的TPID值

qinq ethernet-type customer-tag hex-value

可选

缺省情况下,用户网络中的TPID值为0x8100

进入连接运营商网络的以太网端口视图、二层聚合端口视图或端口组视图

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

interface interface-type interface-number

二者必选其一

进入以太网端口或二层聚合端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group { manual port-group-name | aggregation agg-id }

配置运营商网络中的TPID值

qinq ethernet-type service-tag hex-value

可选

缺省情况下,运营商网络的TPID值为0x8100

 

l    对于没有开启基本QinQ功能和用户侧QinQ功能的端口,交换机将根据端口上的运营商网络TPID值来判断接收到的报文是否携带VLAN Tag;对于开启了QinQ功能或用户侧QinQ功能的端口,交换机将根据全局配置的用户网络TPID值来判断接收到的报文是否携带VLAN Tag。

l    关于用户侧QinQ功能的介绍,请参见接入分册的“VLAN映射配置”部分。

l    运营商网络中的TPID值和QinQ功能不能在端口上同时配置。

 

1.5  配置外层标签优先级

表1-6 配置灵活QinQ功能

操作

命令

说明

进入系统视图

system-view

-

创建类并进入类视图

traffic classifier classifier-name [ operator { and | or } ]

必选

缺省情况下,类视图下各规则之间的关系为and,即逻辑与

配置匹配报文的规则

配置内层VLAN作为匹配规则

if-match customer-vlan-id vlan-id-list

二者选其一

配置内层标签优先级作为匹配规则

if-match customer-dot1p 8021p-list

退出至系统视图

quit

-

创建流行为并进入流行为视图

traffic behavior behavior-name

必选

定义流行为,即标记报文外层标签的优先级

remark dot1p 8021p

必选

退出至系统视图

quit

-

创建QoS策略并进入QoS策略视图

qos policy policy-name

必选

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

classifier classifier-name  behavior behavior-name

必选

退出至系统视图

quit

-

进入连接用户网络的以太网端口视图、二层聚合端口视图或端口组视图

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

interface interface-type interface-number

二者必选其一

进入以太网端口或二层聚合端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group { manual port-group-name | aggregation agg-id }

开启端口的基本QinQ功能

qinq enable

必选

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

qos apply policy policy-name inbound

必选

 

外层标签优先级的配置是基于QoS策略实现的,关于QoS策略的更多详细信息,请参见QoS分册中“QoS配置”部分的介绍。

 

1.6  QinQ典型配置举例

1. 组网需求

l              Provider A、Provider B作为运营商网络接入设备。

l              Customer A、Customer B、Customer C、CustomerD为用户网络接入设备。

l              Provider A、Provider B之间通过Trunk端口连接,允许运营商网络的VLAN1000、VLAN2000和VLAN3000通过。

l              Provider A和Provider B之间,运营商采用其他厂商的设备,TPID值为0x8200。

希望配置完成后达到下列要求:

l              Customer A的VLAN10的报文可以和Customer B的VLAN10的报文经过运营商网络的VLAN1000转发后互通;

l              Customer A的VLAN20的报文可以和Customer C的VLAN20的报文经过运营商网络的VLAN2000转发后互通。

l              Customer A的其余VLAN的报文可以通过运营商网络的VLAN3000转发至Customer D。

2. 组网图

图1-4 配置QinQ功能组网图

 

3. 配置步骤

用户必须通过配置保证运营商网络中的设备之间允许QinQ报文通过。

 

(1)        Provider A的配置

# 进入系统视图。

<ProviderA> system-view

l              GigabitEthernet2/0/1端口的配置

# 配置端口为Hybrid端口,且允许VLAN1000、VLAN2000和VLAN3000的报文通过,并且在发送时去掉外层Tag。

[ProviderA] interface gigabitethernet 2/0/1

[ProviderA-GigabitEthernet2/0/1] port link-type hybrid

[ProviderA-GigabitEthernet2/0/1] port hybrid vlan 1000 2000 3000 untagged

# 将VLAN3000配置为该端口的缺省VLAN,并配置基本QinQ功能,为接收的报文封装VLAN3000的Tag。

[ProviderA-GigabitEthernet2/0/1] port hybrid pvid vlan 3000

[ProviderA-GigabitEthernet2/0/1] qinq enable

[ProviderA-GigabitEthernet2/0/1] quit

# 创建流分类规则,将Customer A的VLAN10的报文定义为“A10”类。

[ProviderA] traffic classifier A10

[ProviderA-classifier-A10] if-match customer-vlan-id 10

[ProviderA-classifier-A10] quit

# 定义流行为,为报文封装VLAN1000的外层VLAN Tag,流行为命名为“P1000”。

[ProviderA] traffic behavior P1000

[ProviderA-behavior-P1000] nest top-most vlan-id 1000

[ProviderA-behavior-P1000] quit

# 与以上配置类似,创建流分类“A20”匹配用户VLAN ID为20的报文,并创建流行为,为此类报文封装外层VLAN2000的Tag。

[ProviderA] traffic classifier A20

[ProviderA-classifier-A20] if-match customer-vlan-id 20

[ProviderA-classifier-A20] quit

[ProviderA] traffic behavior P2000

[ProviderA-behavior-P2000] nest top-most vlan-id 2000

[ProviderA-behavior-P2000] quit

# 创建QoS策略,将流分类“A10”和流行为“P1000”进行关联,将流分类“A20”和流行为“P2000”关联,策略命名为“qinq”。

[ProviderA] qos policy qinq

[ProviderA-qospolicy-qinq] classifier A10 behavior P1000

[ProviderA-qospolicy-qinq] classifier A20 behavior P2000

[ProviderA-qospolicy-qinq] quit

# 在GigabitEthernet2/0/1端口的接收方向应用“qinq”规则。

[ProviderA] interface Gigabitethernet2/0/1

[ProviderA-GigabitEthernet2/0/1] qos apply  policy qinq inbound

l              GigabitEthernet2/0/2端口的配置

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

[ProviderA] interface gigabitethernet 2/0/2

[ProviderA-GigabitEthernet2/0/2] port access vlan 1000

# 配置端口的基本QinQ功能,将来自VLAN10的报文封装VLAN ID为1000的外层Tag。

[ProviderA-GigabitEthernet2/0/2] qinq enable

[ProviderA-GigabitEthernet2/0/2] quit

l              GigabitEthernet2/0/3端口的配置

# 配置端口为Trunk端口,且允许VLAN1000、VLAN2000和VLAN3000的报文通过。

[ProviderA] interface gigabitethernet 2/0/3

[ProviderA-GigabitEthernet2/0/3] port link-type trunk

[ProviderA-GigabitEthernet2/0/3] port trunk permit vlan 1000 2000 3000

# 为与公共网络中的设备进行互通,配置运营商网络的TPID为0x8200,即配置端口在添加外层Tag时使用的TPID值为0x8200。

[ProviderA-GigabitEthernet2/0/3] qinq ethernet-type service-tag 8200

(2)        Provider B的配置

l              GigabitEthernet2/0/1端口的配置

# 配置端口为Trunk端口,且允许VLAN1000、VLAN2000和VLAN3000的报文通过。

<ProviderB> system-view

[ProviderB] interface gigabitethernet 2/0/1

[ProviderB-GigabitEthernet2/0/1] port link-type trunk

[ProviderB-GigabitEthernet2/0/1] port trunk permit vlan 1000 2000 3000

# 为与公共网络中的设备进行互通,配置运营商网络的TPID为0x8200,即配置端口添加外层Tag时使用的TPID值为0x8200。

[ProviderB-GigabitEthernet2/0/1] qinq ethernet-type service-tag 8200

[ProviderB-GigabitEthernet2/0/1] quit

l              GigabitEthernet2/0/2端口的配置

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

[ProviderB] interface gigabitethernet 2/0/2

[ProviderB-GigabitEthernet2/0/2] port access vlan 2000

# 配置端口的基本QinQ功能,将来自VLAN20的报文封装VLAN ID为2000的外层Tag。

[ProviderB-GigabitEthernet2/0/2] qinq enable

[ProviderB-GigabitEthernet2/0/2] quit

l              GigabitEthernet2/0/3端口的配置

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

[ProviderB] interface gigabitethernet 2/0/3

[ProviderB-GigabitEthernet2/0/3] port access vlan 3000

# 配置端口的基本QinQ功能,为来自所有用户VLAN的报文封装VLAN ID为3000的外层Tag。

[ProviderB-GigabitEthernet2/0/3] qinq enable

(3)        公共网络设备的配置

由于Provider A和Provider B之间使用的公共网络设备可能来自于其他厂商,这里只介绍基本原理:配置公共网络中与Provider A的GigabitEthernet2/0/3端口和Provider B的GigabitEthernet2/0/1端口连接的设备,使其相应的端口允许VLAN1000、VLAN2000和VLAN3000的报文携带VLAN Tag进行发送即可。

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

新华三官网
联系我们