08-QinQ典型配置举例
本章节下载: 08-QinQ典型配置举例 (299.52 KB)
目 录
本章主要介绍了使用QinQ功能在运营商网络中传输用户数据的配置方式,包括基本QinQ和灵活QinQ两种主要功能。
基本QinQ是基于端口配置的。当端口上配置了基本QinQ功能后,对于带VLAN Tag的报文,设备会为该报文封装本端口缺省VLAN的Tag。如果同一端口接收到不同用户的报文或同一用户不同业务的报文,基本QinQ功能无法隔离不同用户的报文或用户不同业务的报文。
灵活QinQ功能对基本QinQ的功能进行了扩展,对同一端口接收的报文,灵活QinQ可以根据用户网络VLAN的不同或用户业务VLAN的不同为报文封装不同的外层VLAN Tag。
端口配置QinQ功能后,设备会将用户网络的MAC学习到QinQ封装的外层VLAN中。
如图1所示,Customer A和Customer B各有两个分支机构需要通过运营商网络进行通信。运营商网络中可用的VLAN资源包括VLAN 1000和VLAN 2000。现要求通过配置基本QinQ功能,运营商网络能够利用VLAN 1000传输Customer A的数据,利用VLAN2000传输Customer B的数据。
图1 基本QinQ组网示意图
· 请在PE A和PE B连接用户网络的端口上配置基本QinQ功能。
· 为了保证用户网络接收的数据中不会包含运营商网络的VLAN信息,需要配置开启基本QinQ功能的端口发送PVID的报文时不带VLAN Tag。开启基本QinQ功能的端口的链路类型可以是Access,Hybrid或Trunk。如果配置为Hybrid类型,需要配置该端口允许PVID的报文不带VLAN Tag通过。如果配置为Trunk类型,需要配置该端口允许PVID的报文通过。
· 在PE A和PE B的上行端口以及运营商网络的中间设备上,需要保证经QinQ封装过的报文的外层VLAN Tag不被修改或移除。
开启基本QinQ的端口,需要配置端口的缺省VLAN为QinQ封装的外层VLAN(SVLAN)。
(1) PE A的配置
# 创建VLAN 1000和VLAN 2000。
<PE_A> system-view
[PE_A] vlan 1000
[PE_A-vlan1000] quit
[PE_A] vlan 2000
[PE_A-vlan2000] quit
# 配置端口GigabitEthernet 1/0/1为Hybrid端口,缺省VLAN为1000,且在发送VLAN 1000的报文时去掉VLAN Tag,取消允许VLAN 1通过。
[PE_A] interface GigabitEthernet 1/0/1
[PE_A-GigabitEthernet1/0/1] port link-type hybrid
[PE_A-GigabitEthernet1/0/1] port hybrid pvid vlan 1000
[PE_A-GigabitEthernet1/0/1] port hybrid vlan 1000 untagged
[PE_A-GigabitEthernet1/0/1] undo port hybrid vlan 1
# 开启端口GigabitEthernet 1/0/1的QinQ功能。
[PE_A-GigabitEthernet1/0/1] qinq enable
[PE_A-GigabitEthernet1/0/1] quit
# 配置端口GigabitEthernet1/0/2为Access端口,允许VLAN 2000的报文通过。
[PE_A] interface GigabitEthernet 1/0/2
[PE_A-GigabitEthernet1/0/2] port access vlan 2000
# 开启端口GigabitEthernet1/0/2的QinQ功能。
[PE_A-GigabitEthernet1/0/2] qinq enable
[PE_A-GigabitEthernet1/0/2] quit
# 配置端口GigabitEthernet1/0/3为Trunk端口,且允许VLAN 1000和VLAN 2000的报文通过,取消允许VLAN 1通过。
[PE_A] interface GigabitEthernet 1/0/3
[PE_A-GigabitEthernet1/0/3] port link-type trunk
[PE_A-GigabitEthernet1/0/3] port trunk permit vlan 1000 2000
[PE_A-GigabitEthernet1/0/3] undo port trunk permit vlan 1
[PE_A-GigabitEthernet1/0/3] quit
(2) PE B的配置
# 创建VLAN 1000和VLAN 2000。
<PE_B> system-view
[PE_B] vlan 1000
[PE_B-vlan1000] quit
[PE_B] vlan 2000
[PE_B-vlan2000] quit
# 配置端口GigabitEthernet1/0/1为Hybrid端口,缺省VLAN为2000,且在发送VLAN 2000的报文时去掉VLAN Tag,取消允许VLAN 1通过。
[PE_B] interface GigabitEthernet 1/0/1
[PE_B-GigabitEthernet1/0/1] port link-type hybrid
[PE_B-GigabitEthernet1/0/1] port hybrid pvid vlan 2000
[PE_B-GigabitEthernet1/0/1] port hybrid vlan 2000 untagged
[PE_B-GigabitEthernet1/0/1] undo port hybrid vlan 1
# 开启端口GigabitEthernet1/0/1的QinQ功能。
[PE_B-GigabitEthernet1/0/1] qinq enable
[PE_B-GigabitEthernet1/0/1] quit
# 配置端口GigabitEthernet1/0/2为Access端口,允许VLAN 1000的报文通过。
[PE_B] interface GigabitEthernet 1/0/2
[PE_B-GigabitEthernet1/0/2] port access vlan 1000
# 开启GigabitEthernet1/0/2端口的QinQ功能。
[PE_B-GigabitEthernet1/0/2] qinq enable
[PE_B-GigabitEthernet1/0/2] quit
# 配置端口GigabitEthernet1/0/3为Trunk端口,且允许VLAN 1000和VLAN 2000的报文通过,取消允许VLAN 1通过。
[PE_B] interface GigabitEthernet 1/0/3
[PE_B-GigabitEthernet1/0/3] port link-type trunk
[PE_B-GigabitEthernet1/0/3] port trunk permit vlan 1000 2000
[PE_B-GigabitEthernet1/0/3] undo port trunk permit vlan 1
[PE_B-GigabitEthernet1/0/3] quit
(3) 公共网络设备的配置
配置运营商网络中PE A到PE B之间的路径上的设备端口都允许VLAN 1000和VLAN 2000的报文携带VLAN Tag通过。
使用display this命令查看各端口的配置,例如:
# 查看设备PE A端口GigabitEthernt1/0/1的配置。
[PE_A] interface GigabitEthernet 1/0/1
[PE_A-GigabitEthernet1/0/1] display this
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1000 untagged
port hybrid pvid vlan 1000
qinq enable
#
return
· PE A
#
vlan 1000
#
vlan 2000
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1000 untagged
port hybrid pvid vlan 1000
qinq enable
#
interface GigabitEthernet1/0/2
port access vlan 2000
qinq enable
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1000 2000
#
· PE B
#
vlan 1000
#
vlan 2000
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 2000 untagged
port hybrid pvid vlan 2000
qinq enable
#
interface GigabitEthernet1/0/2
port access vlan 1000
qinq enable
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1000 2000
#
如图2所示,Customer A和Customer B各有两个分支机构需要通过运营商网络进行通信。Customer A和Customer B的网络中各有三种不同业务类型的数据需要传输。
现要求通过在运营商网络中配置灵活QinQ功能使用户不同业务类型的数据使用不同的外层VLAN Tag在运营商网络中传输。外层VLAN Tag的添加策略如表1所示。
图2 灵活QinQ组网示意图
表1 灵活QinQ外层VLAN Tag添加策略
用户的业务类型 |
用户网络VLAN |
运营商网络VLAN |
Customer A: |
||
Data |
10 to 20 |
1001 |
Voice |
21 to 30 |
1002 |
Video |
31 to 40 |
1003 |
Customer B: |
||
Data |
15 to 25 |
2001 |
Voice |
26 to 35 |
2002 |
Storage |
36 to 40 |
2003 |
· 请在PE A和PE B连接用户网络的端口上配置灵活QinQ功能。
· 为了保证用户网络接收的数据中不会包含运营商网络的VLAN信息,需要将配置灵活QinQ的端口的链路类型配置为Hybrid,并允许所有QinQ外层VLAN的报文不带VLAN Tag通过。
· 在PE A和PE B的上行端口以及运营商网络的中间设备上,需要保证经QinQ封装过的报文的外层VLAN Tag不被修改或移除。
· 当配置了灵活QinQ的端口接收到报文时,满足灵活QinQ配置的报文将按灵活QinQ处理,不满足灵活QinQ配置的报文将按普通报文处理。
· 使能了QinQ功能的端口只能识别一层VLAN Tag(即外层VLAN Tag),因此在使能了QinQ功能的端口上无法对入报文的内层VLAN Tag进行操作。如果需要修改入报文内层VLAN ID的值,请在PE设备的连接运营商网络的端口上进行配置。
# 创建为用户数据分配的VLAN,即VLAN 1001~VLAN 1003、VLAN 2001~VLAN 2003。
<PE_A> system-view
[PE_A] vlan 1001 to 1003
[PE_A] vlan 2001 to 2003
(1) GigabitEthernet1/0/1端口的配置
# 配置端口为Hybrid端口,允许VLAN 1001~VLAN 1003的报文通过,并且在发送时去掉外层Tag,取消允许VLAN 1通过。
[PE_A] interface gigabitethernet 1/0/1
[PE_A-GigabitEthernet1/0/1] port link-type hybrid
[PE_A-GigabitEthernet1/0/1] undo port hybrid vlan 1
[PE_A-GigabitEthernet1/0/1] port hybrid vlan 1001 to 1003 untagged
# 配置该端口的灵活QinQ功能。
[PE_A-GigabitEthernet1/0/1] qinq vid 1001
[PE_A-GigabitEthernet1/0/1-vid-1001] raw-vlan-id inbound 10 to 20
[PE_A-GigabitEthernet1/0/1-vid-1001] quit
[PE_A-GigabitEthernet1/0/1] qinq vid 1002
[PE_A-GigabitEthernet1/0/1-vid-1002] raw-vlan-id inbound 21 to 30
[PE_A-GigabitEthernet1/0/1-vid-1002] quit
[PE_A-GigabitEthernet1/0/1] qinq vid 1003
[PE_A-GigabitEthernet1/0/1-vid-1003] raw-vlan-id inbound 31 to 40
[PE_A-GigabitEthernet1/0/1-vid-1003] quit
(2) GigabitEthernet1/0/2端口的配置
# 配置端口为Hybrid端口,允许VLAN 2001~VLAN 2003的报文通过,并且在发送时去掉外层Tag,取消允许VLAN 1通过。
[PE_A] interface gigabitethernet 1/0/2
[PE_A-GigabitEthernet1/0/2] port link-type hybrid
[PE_A-GigabitEthernet1/0/2] undo port hybrid vlan 1
[PE_A-GigabitEthernet1/0/2] port hybrid vlan 2001 to 2003 untagged
# 配置该端口的灵活QinQ功能。
[PE_A-GigabitEthernet1/0/2] qinq vid 2001
[PE_A-GigabitEthernet1/0/2-vid-2001] raw-vlan-id inbound 15 to 25
[PE_A-GigabitEthernet1/0/2-vid-2001] quit
[PE_A-GigabitEthernet1/0/2] qinq vid 2002
[PE_A-GigabitEthernet1/0/2-vid-2002] raw-vlan-id inbound 26 to 35
[PE_A-GigabitEthernet1/0/2-vid-2002] quit
[PE_A-GigabitEthernet1/0/2] qinq vid 2003
[PE_A-GigabitEthernet1/0/2-vid-2003] raw-vlan-id inbound 36 to 45
[PE_A-GigabitEthernet1/0/2-vid-2003] quit
GigabitEthernet1/0/3端口的配置
# 配置端口为Trunk端口,且允许VLAN 1001~VLAN 1003和VLAN 2001~VLAN 2003的报文通过,取消允许VLAN 1通过。
[PE_A] interface gigabitethernet 1/0/3
[PE_A-GigabitEthernet1/0/3] port link-type trunk
[PE_A-GigabitEthernet1/0/3] undo port trunk permit vlan 1
[PE_A-GigabitEthernet1/0/3] port trunk permit vlan 1001 to 1003 2001 to 2003
[PE_A-GigabitEthernet1/0/3] quit
# 创建为用户数据分配的VLAN,即VLAN 1001~VLAN 1003、VLAN 2001~VLAN 2003。
<PE_B> system-view
[PE_B] vlan 1001 to 1003
[PE_B] vlan 2001 to 2003
(1) GigabitEthernet1/0/1端口的配置
# 配置端口为Hybrid端口,允许VLAN 2001~VLAN 2003的报文通过,并且在发送时去掉外层Tag,取消允许VLAN 1通过。
[PE_B] interface gigabitethernet 1/0/1
[PE_B-GigabitEthernet1/0/1] port link-type hybrid
[PE_B-GigabitEthernet1/0/1] undo port hybrid vlan 1
[PE_B-GigabitEthernet1/0/1] port hybrid vlan 2001 to 2003 untagged
# 配置该端口的灵活QinQ功能。
[PE_B-GigabitEthernet1/0/1] qinq vid 2001
[PE_B-GigabitEthernet1/0/1-vid-2001] raw-vlan-id inbound 15 to 25
[PE_B-GigabitEthernet1/0/1-vid-2001] quit
[PE_B-GigabitEthernet1/0/1] qinq vid 2002
[PE_B-GigabitEthernet1/0/1-vid-2002] raw-vlan-id inbound 26 to 35
[PE_B-GigabitEthernet1/0/1-vid-2002] quit
[PE_B-GigabitEthernet1/0/1] qinq vid 2003
[PE_B-GigabitEthernet1/0/1-vid-2003] raw-vlan-id inbound 36 to 45
[PE_B-GigabitEthernet1/0/1-vid-2003] quit
(2) GigabitEthernet1/0/2端口的配置
# 配置端口为Hybrid端口,允许VLAN 1001~VLAN 1003的报文通过,并且在发送时去掉外层Tag,取消允许VLAN 1通过。
[PE_B] interface gigabitethernet 1/0/2
[PE_B-GigabitEthernet1/0/2] port link-type hybrid
[PE_B-GigabitEthernet1/0/2] undo port hybrid vlan 1
[PE_B-GigabitEthernet1/0/2] port hybrid vlan 1001 to 1003 untagged
# 配置该端口的灵活QinQ功能。
[PE_B-GigabitEthernet1/0/2] qinq vid 1001
[PE_B-GigabitEthernet1/0/2-vid-1001] raw-vlan-id inbound 10 to 20
[PE_B-GigabitEthernet1/0/2-vid-1001] quit
[PE_B-GigabitEthernet1/0/2] qinq vid 1002
[PE_B-GigabitEthernet1/0/2-vid-1002] raw-vlan-id inbound 21 to 30
[PE_B-GigabitEthernet1/0/2-vid-1002] quit
[PE_B-GigabitEthernet1/0/2] qinq vid 1003
[PE_B-GigabitEthernet1/0/2-vid-1003] raw-vlan-id inbound 31 to 40
[PE_B-GigabitEthernet1/0/2-vid-1003] quit
(3) GigabitEthernet1/0/3端口的配置
# 配置端口为Trunk端口,且允许VLAN 1001~VLAN 1003和VLAN 2001~VLAN 2003的报文通过,取消允许VLAN 1通过。
[PE_B] interface gigabitethernet 1/0/3
[PE_B-GigabitEthernet1/0/3] port link-type trunk
[PE_B-GigabitEthernet1/0/3] undo port trunk permit vlan 1
[PE_B-GigabitEthernet1/0/3] port trunk permit vlan 1001 to 1003 2001 to 2003
[PE_B-GigabitEthernet1/0/3] quit
配置运营商网络中PE A到PE B之间的路径上的设备端口都允许VLAN 1001~VLAN 1003和VLAN 2001~VLAN 2003的报文携带VLAN Tag通过。
(1) 使用display this命令查看端口的配置,例如:
# 查看PE A上端口GigabitEthernet1/0/1的配置。
[PE_A] interface GigabitEthernet 1/0/1
[PE_A-GigabitEthernet1/0/1] display this
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1001 to 1003 untagged
qinq vid 1001
raw-vlan-id inbound 10 to 20
qinq vid 1002
raw-vlan-id inbound 21 to 30
qinq vid 1003
raw-vlan-id inbound 31 to 40
#
return
[PE_A-GigabitEthernet1/0/1] quit
· PE A
#
vlan 1001 to 1003
#
vlan 2001 to 2003
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1001 to 1003 untagged
qinq vid 1001
raw-vlan-id inbound 10 to 20
qinq vid 1002
raw-vlan-id inbound 21 to 30
qinq vid 1003
raw-vlan-id inbound 31 to 40
#
interface GigabitEthernet1/0/2
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 2001 to 2003 untagged
qinq vid 2001
raw-vlan-id inbound 15 to 25
qinq vid 2002
raw-vlan-id inbound 26 to 35
qinq vid 2003
raw-vlan-id inbound 36 to 45
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1001 to 1003 2001 to 2003
#
· ProviderB的配置
#
vlan 1001 to 1003
#
vlan 2001 to 2003
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 2001 to 2003 untagged
qinq vid 2001
raw-vlan-id inbound 15 to 25
qinq vid 2002
raw-vlan-id inbound 26 to 35
qinq vid 2003
raw-vlan-id inbound 36 to 45
#
interface GigabitEthernet1/0/2
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1001 to 1003 untagged
qinq vid 1001
raw-vlan-id inbound 10 to 20
qinq vid 1002
raw-vlan-id inbound 21 to 30
qinq vid 1003
raw-vlan-id inbound 31 to 40
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1001 to 1003 2001 to 2003
TPID(Tag Protocol Identifier,标签协议标识符)是VLAN Tag中的一个字段,用来判断报文中是否携带有VLAN Tag。TPID缺省取值是0x8100。
如图3所示,PE是一台运营商网络边缘设备。PE的下行端口GigabitEthernet1/0/1开启了基本QinQ功能。P设备发送的报文的VLAN Tag中的TPID值为0x9100。
现要求通过配置PE设备运营商侧端口的TPID,使端口能正确识别运营商网络报文的VLAN Tag,并且P设备也能够正确识别PE发送的报文中的VLAN Tag。
图3 配置VLAN Tag的TPID组网示意图
· 配置TPID值仅用于判断入报文是否携带VLAN Tag,不会对报文内层VLAN Tag的TPID值进行修改。
· 交换机根据端口上配置的TPID值来判断接收到的报文是否携带VLAN Tag。由于第三方厂商的设备可能将QinQ报文外层VLAN Tag的TPID设为不同的值,为了与这些厂商的设备兼容,配置了TPID值的端口会将出报文中外层VLAN Tag的TPID值修改为配置值,使发送到公网中的QinQ报文携带的TPID值与第三方厂商的相同,从而实现与这些厂商的设备互通。
· 为了使PE设备能够正确识别接收的运营商网络的报文是否携带VLAN Tag,和发送给P设备的报文能被P设备正常的接收处理,需要在PE设备连接P设备的端口GigabitEthernet1/0/2上配置运营商网络的TPID值为0x9100。
开启QinQ功能的端口为报文添加的外层VLAN Tag中的TPID值是默认的0x8100。
# 创建VLAN 1000(假设PE设备为用户网络封装的外层VLAN为VLAN 1000)。
<PE> system-view
[PE] vlan 1000
[PE-vlan1000] quit
(1) GigabitEthernet1/0/1端口的配置
# 配置端口为Hybrid端口,缺省VLAN为1000,且在发送VLAN 1000的报文时去掉VLAN Tag,取消允许VLAN 1通过。
[PE] interface GigabitEthernet 1/0/1
[PE-GigabitEthernet1/0/1] port link-type hybrid
[PE-GigabitEthernet1/0/1] port hybrid pvid vlan 1000
[PE-GigabitEthernet1/0/1] port hybrid vlan 1000 untagged
[PE-GigabitEthernet1/0/1] undo port hybrid vlan 1
# 开启GigabitEthernet1/0/1端口的QinQ功能。
[PE-GigabitEthernet1/0/1] qinq enable
[PE-GigabitEthernet1/0/1] quit
(2) GigabitEthernet1/0/2端口的配置
# 配置端口为Trunk端口,且允许VLAN 1000的报文通过,取消允许VLAN 1通过。
[PE] interface GigabitEthernet 1/0/2
[PE-GigabitEthernet1/0/2] port link-type trunk
[PE-GigabitEthernet1/0/2] port trunk permit vlan 1000
[PE-GigabitEthernet1/0/2] undo port trunk permit vlan 1
# 配置端口的TPID值为0x9100。
[PE-GigabitEthernet1/0/2] qinq ethernet-type 9100
[PE-GigabitEthernet1/0/2] quit
# 在端口上使用display this查看运营商网络的TPID是否正确配置。
[PE] interface GigabitEthernet 1/0/2
[PE-GigabitEthernet1/0/2] display this
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1000
qinq ethernet-type 9100
#
return
如果您配置的TPID值为缺省值0x8100,则执行display this时不会显示TPID值的配置。
#
vlan 1000
#
interface GigabitEthernet1/0/1
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 1000 untagged
port hybrid pvid vlan 1000
qinq enable
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 1000
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!