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

H3C S7500E系列以太网交换机 操作手册(Release 6100系列 V1.01)

04-QinQ-BPDU TUNNEL操作

本章节下载  (290.85 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S7500E/S7500E/Configure/Operation_Manual/H3C_S7500E_OM(Release_6100_V1.01)/201205/744929_30005_0.htm

04-QinQ-BPDU TUNNEL操作


第1章  QinQ配置

1.1  QinQ简介

1.1.1  QinQ原理简介

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

S7500E系列交换机提供的QinQ特性是一种简单、灵活的二层VPN技术,它通过在运营商接入端为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag穿越运营商的骨干网络(公网)。内层VLAN Tag为用户私网VLAN Tag,外层VLAN Tag为运营商分配给用户的VLAN Tag。在公网中,报文只根据外层VLAN Tag进行转发,并将报文的源MAC地址表项学习到外层Tag所在VLAN的MAC地址表中,而用户的私网VLAN Tag在传输过程中将被当作报文中的数据部分来进行传输。

QinQ的报文结构如图1-1所示。QinQ特性使设备最多可以提供4094X4094个VLAN,满足城域网对VLAN数量的需求。

图1-1 QinQ的报文结构

QinQ主要可以解决如下几个问题:

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

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

l              为小型城域网或企业网提供一种较为简单的二层VPN解决方案。

&  说明:

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

 

1.1.2  QinQ的实现方式

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

l              基本QinQ

基本QinQ是基于端口方式实现的。开启端口的基本QinQ功能后,当该端口接收到报文,交换机会为该报文打上本端口缺省VLAN的VLAN Tag。如果接收到的是已经带有VLAN Tag的报文,该报文就成为双Tag的报文;如果接收到的是不带VLAN Tag的报文,该报文就成为带有端口缺省VLAN Tag的报文。

l              灵活QinQ

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

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

1.1.3  VLAN Tag的TPID值可调功能

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

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

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

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

不同厂商的设备可能将QinQ报文外层VLAN Tag的TPID字段设为不同的值。为了和这些设备兼容,S7500E系列交换机提供了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.2  配置基本QinQ功能

表1-2 配置基本QinQ功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网端口视图或端口组视图

进入以太网端口视图

interface interface-type interface-number

二者必选其一

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

进入端口组视图

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

开启端口的基本QinQ功能

qinq enable

必选

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

 

1.3  配置灵活QinQ功能

表1-3 配置灵活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

-

开启端口的基本QinQ功能

qinq enable

必选

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

qos apply policy policy-name inbound

必选

 

  注意:

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

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

 

1.4  配置VLAN Tag的TPID值

表1-4 配置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

 

1.5  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-3 配置QinQ功能组网图

3. 配置步骤

&  说明:

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

 

(1)        Provider A的配置

# 进入系统视图。

<ProviderA> system-view

l              Ethernet2/0/1端口的配置

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

[ProviderA] interface ethernet 2/0/1

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

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

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

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

[ProviderA-Ethernet2/0/1] qinq enable

[ProviderA-Ethernet2/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

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

[ProviderA] interface Ethernet 2/0/1

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

l              Ethernet2/0/2端口的配置

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

[ProviderA] interface ethernet 2/0/2

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

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

[ProviderA-Ethernet2/0/2] qinq enable

[ProviderA-Ethernet2/0/2] quit

l              Ethernet2/0/3端口的配置

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

[ProviderA] interface ethernet 2/0/3

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

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

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

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

(2)        Provider B的配置

l              Ethernet2/0/1端口的配置

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

<ProviderB> system-view

[ProviderB] interface ethernet 2/0/1

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

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

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

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

[ProviderB-Ethernet2/0/1] quit

l              Ethernet2/0/2端口的配置

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

[ProviderB] interface ethernet 2/0/2

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

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

[ProviderB-Ethernet2/0/2] qinq enable

[ProviderB-Ethernet2/0/2] quit

l              Ethernet2/0/3端口的配置

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

[ProviderB] interface ethernet 2/0/3

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

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

[ProviderB-Ethernet2/0/3] qinq enable

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

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

 


第2章  BPDU TUNNEL配置

2.1  BPDU TUNNEL简介

2.1.1  BPDU TUNNEL的作用

为了避免网络中出现环路,用户可以开启设备的STP功能。但是,由于BPDU报文(STP协议通过在设备之间传递BPDU报文来确定网络的拓扑结构)是二层组播报文,所有开启STP功能的设备都会接收并处理,因此不同网络的生成树一起计算,导致每个网络都无法生成正确的生成树,当网络中存在冗余链路时必然出现环路。

BPDU TUNNEL功能可以解决上述问题,它可使运行STP功能的不同网络拥有各自的生成树,互不干扰,它具有下列作用:

l              可以对不同网络的BPDU报文进行隔离,本网络中的拓扑结构计算不会受其它网络的BPDU报文的影响。

l              可以使同一个用户网络的BPDU报文在运营商网络内指定的VLAN中进行广播,使得在不同地域的同一个用户网络可以跨越运营商网络进行统一的生成树计算。

2.1.2  BPDU TUNNEL的工作原理

BPDU TUNNEL可以实现下列两个功能:

l              对BPDU报文进行隔离

l              对BPDU报文进行透明传输

1. 对BPDU报文进行隔离

当端口收到BPDU报文时,将之丢弃,使之不参与生成树的计算。用户可以使用“2.2  配置BPDU报文隔离”配置来实现该功能。

2. 对BPDU报文进行透明传输

图2-1中,上部为运营商网络,下部为用户网络,用户网络分为用户网络A和用户网络B两个部分。通过在运营商网络两端的报文输入/输出设备上配置“2.3  配置BPDU报文透明传输”,可以实现用户网络的BPDU报文在运营商网络中进行透明传输,且不同用户网络的生成树独立进行计算。

图2-1 BPDU TUNNEL网络层次示意图

l              在报文输入端,设备将来自用户网络的BPDU报文的目的MAC地址0x0180-C200-0000修改为特殊的组播MAC地址(默认为0x010F-E200-0003)。在运营商网络中,修改后的BPDU报文被当作数据报文在用户所属的VLAN中进行转发。

l              在报文输出端,设备将目的MAC地址为BPDU TUNNEL报文特有的组播MAC地址(默认为0x010F-E200-0003)的报文识别出来,将其目的MAC地址还原为BPDU报文的原目的MAC地址0x0180-C200-0000,然后将BPDU报文送到指定的用户网络。

&  说明:

用户必须通过配置保证用户网络的BPDU报文在运营商网络中进行透明传输的过程中,其VLAN Tag不能被改变也不能被去掉,否则,系统无法对用户网络的BPDU报文进行正确的透明传输。

 

2.2  配置BPDU报文隔离

开启全局和端口的BPDU TUNNEL功能后,该端口可以对BPDU报文进行隔离。

表2-1 配置BPDU报文隔离

操作

命令

说明

进入系统视图

system-view

-

开启全局的BPDU TUNNEL功能

bpdu-tunnel dot1q enable

可选

缺省情况下,全局BPDU TUNNEL功能处于开启状态

进入以太网端口视图或端口组视图

进入以太网端口视图

interface interface-type interface-number

二者必选其一

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

进入端口组视图

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

开启端口的BPDU TUNNEL功能

bpdu-tunnel dot1q enable

必选

缺省情况下,所有端口的BPDU TUNNEL功能关闭

 

&  说明:

l      只有全局BPDU TUNNEL功能打开后,端口的BPDU TUNNEL功能才能生效。

l      BPDU TUNNEL功能与GVRP功能不兼容,两者不可以同时应用。关于GVRP的介绍,请参见“VLAN”部分的介绍。

 

2.3  配置BPDU报文透明传输

在打开BPDU TUNNEL功能的端口上开启端口的STP协议的BPDU TUNNEL功能后,该端口收到的用户网络的BPDU报文可以在运营商网络中进行透明传输。

表2-2 配置BPDU报文透明传输

操作

命令

说明

进入系统视图

system-view

-

开启全局的BPDU TUNNEL功能

bpdu-tunnel dot1q enable

可选

缺省情况下,全局BPDU TUNNEL功能打开

进入以太网端口视图或端口组视图

进入以太网端口视图

interface interface-type interface-number

二者必选其一

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

进入端口组视图

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

开启端口的BPDU TUNNEL功能

bpdu-tunnel dot1q enable

必选

缺省情况下,所有端口的BPDU TUNNEL功能关闭

关闭端口的STP功能

stp disable

必选

缺省情况下,端口的STP功能处于开启状态

开启端口的STP协议的BPDU TUNNEL功能

bpdu-tunnel dot1q stp

必选

缺省情况下,端口的STP协议的BPDU TUNNEL功能没有开启

 

&  说明:

l      只有全局BPDU TUNNEL功能打开后,端口的BPDU TUNNEL功能才能生效。

l      BPDU TUNNEL功能与GVRP功能不兼容,两者不可以同时应用。关于GVRP的介绍,请参见“VLAN”部分的介绍。

 

2.4  配置BPDU TUNNEL报文采用的组播目的MAC地址

BPDU TUNNEL报文采用的组播目的MAC地址默认为0x010F-E200-0003,用户可以通过下面的配置将其修改为0x0100-0CCD-CDD0、0x0100-0CCD-CDD1或0x0100-0CCD-CDD2。

表2-3 配置BPDU TUNNEL报文采用的组播目的MAC地址

操作

命令

说明

进入系统视图

system-view

-

配置BPDU TUNNEL报文采用的组播目的MAC地址

bpdu-tunnel tunnel-dmac mac-address

可选

缺省情况下,BPDU TUNNEL报文采用的组播目的MAC地址为0x010F-E200-0003

 

2.5  BPDU TUNNEL典型配置举例

1. 组网需求

l              Customer A、Customer B、Customer C、Customer D为用户网络接入设备;

l              Provider A、Provider B、Provider C为运营商网络接入设备,它们之间通过配置好的Trunk端口实现连接。

要求配置实现下列功能:

l              处于不同地域的用户Customer A、Customer C、Customer D可以跨越运营商网络进行统一的生成树计算。

l              对用户Customer B的BPDU报文进行隔离,使之不参与生成树的计算。

2. 组网图

图2-2 配置BPDU TUNNEL组网图

3. 配置步骤

(1)        Provider A的配置

# 在Ethernet2/0/1端口配置BPDU报文透明传输功能。

<ProviderA> system-view

[ProviderA] interface ethernet 2/0/1

[ProviderA-Ethernet2/0/1] port access vlan 2

[ProviderA-Ethernet2/0/1] stp disable

[ProviderA-Ethernet2/0/1] bpdu-tunnel dot1q enable

[ProviderA-Ethernet2/0/1] bpdu-tunnel dot1q stp

(2)        Provider B的配置

# 在Ethernet2/0/2端口配置BPDU报文隔离功能。

<ProviderB> system-view

[ProviderB] interface ethernet 2/0/2

[ProviderB-Ethernet2/0/2] port access vlan 4

[ProviderB-Ethernet2/0/2] bpdu-tunnel dot1q enable

(3)        Provider C的配置

# 在Ethernet2/0/3端口配置BPDU报文透明传输功能。

<ProviderC> system-view

[ProviderC] interface ethernet 2/0/3

[ProviderC-Ethernet2/0/3] port access vlan 2

[ProviderC-Ethernet2/0/3] stp disable

[ProviderC-Ethernet2/0/3] bpdu-tunnel dot1q enable

[ProviderC-Ethernet2/0/3] bpdu-tunnel dot1q stp

# 在Ethernet2/0/4端口配置BPDU报文透明传输功能。

[ProviderC-Ethernet2/0/3] quit

[ProviderC] interface ethernet 2/0/4

[ProviderC-Ethernet2/0/4] port access vlan 2

[ProviderC-Ethernet2/0/4] stp disable

[ProviderC-Ethernet2/0/4] bpdu-tunnel dot1q enable

[ProviderC-Ethernet2/0/4] bpdu-tunnel dot1q stp

&  说明:

当用户网络的STP状态稳定后,如果Customer A是根桥,则在Customer C和Customer D上与Provider C相连的端口都可以收到Customer A发出的STP报文;Customer B上由于配置了BPDU报文隔离功能,所以在Customer B与Provider B相连的端口上收不到Customer A发出的STP报文。

 

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

新华三官网
联系我们