配置基于QinQ的BPDU Tunnel示例
本示例中,PE设备常作为汇聚设备。当PE设备接入大量用户网络时,为了节约运营商网络的VLAN ID及区分不同的用户,在CE设备上针对不同的用户分配不同VLAN ID,在PE设备上针对用户VLAN ID分配不同的外层Tag实现基于QinQ的BPDU(Bridge Protocol Data Unit) Tunnel。
组网需求
如图15-6所示,CE设备通过PE设备相连。CE1和CE2发送到PE的BPDU报文带有Tag100。CE3和CE4发送到PE的BPDU报文带有Tag200。在PE上配置BPDU Tunnel功能,使得:
VLAN100中的设备可以共同完成生成树计算。
VLAN200中的设备可以共同完成生成树计算。
同时,为了节省公网VLAN ID,在PE上配置VLAN Stacking,使得CE发送到PE带有Tag100和Tag200的BPDU报文,都被打上外层Tag 10在运营商网络中传输。此时,运营商网络中传输的BPDU报文就带有两层Tag。
本例采用设备角色不同的配置方法:
CE设备配置为customer类型的设备,默认的BPDU报文的目的MAC地址为0180-C200-0000。
PE设备配置为provider类型的设备,默认的BPDU报文的目的MAC地址为0180-C200-0008。
配置思路
采用如下的思路配置基于QinQ的BPDU Tunnel:
使能CE设备和PE设备的生成树计算功能。
配置CE发送到PE的BPDU报文带有指定的Tag值。
去使能PE上CE侧接口的生成树计算功能,配置PE能够透明传输BPDU报文。
配置PE二层接口的VLAN Stacking功能。使得CE发出的带有不同Tag值的BPDU报文都被打上外层Tag10在运营商网络中传输。
操作步骤
- 将PE和CE的接口转换成二层接口
对于接口已经是二层接口的设备,不需要执行此步配置。
使用portswitch命令,将图15-6中PE设备和CE设备的所有接口都转换成二层接口。具体配置方法请参考配置文件。
- 使能CE设备和PE设备的生成树计算功能
# 配置CE1。
[~CE1] stp enable
[*CE1] commit
# 配置CE2。
[~CE2] stp enable
[*CE2] commit
# 配置CE3。
[~CE3] stp enable
[*CE3] commit
# 配置CE4。
[~CE4] stp enable
[*CE4] commit
# 配置PE1。
[~PE1] stp enable
[*PE1] commit
# 配置PE2。
[~PE2] stp enable
[*PE2] commit
- 配置CE1与CE2发送到PE的BPDU报文带VLAN ID为100。配置CE3与CE4发送到PE的BPDU报文带VLAN
ID为200
# 配置CE1。
[~CE1] vlan 100
[*CE1-vlan100] commit
[~CE1-vlan100] quit
[~CE1] interface gigabitethernet 0/1/1
[~CE1-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*CE1-GigabitEthernet0/1/1] stp bpdu vlan 100
[*CE1-GigabitEthernet0/1/1] commit
[~CE1-GigabitEthernet0/1/1] quit
# 配置CE2。
[~CE2] vlan 100
[*CE2-vlan100] commit
[~CE2-vlan100] quit
[~CE2] interface gigabitethernet 0/1/1
[~CE2-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*CE2-GigabitEthernet0/1/1] stp bpdu vlan 100
[*CE2-GigabitEthernet0/1/1] commit
[~CE2-GigabitEthernet0/1/1] quit
# 配置CE3。
[~CE3] vlan 200
[*CE3-vlan200] commit
[~CE3-vlan200] quit
[~CE3] interface gigabitethernet 0/1/1
[~CE3-GigabitEthernet0/1/1] port trunk allow-pass vlan 200
[*CE3-GigabitEthernet0/1/1] stp bpdu vlan 200
[*CE3-GigabitEthernet0/1/1] commit
[~CE3-GigabitEthernet0/1/1] quit
# 配置CE4。
[~CE4] vlan 200
[*CE4-vlan200] commit
[~CE4-vlan200] quit
[~CE4] interface gigabitethernet 0/1/1
[~CE4-GigabitEthernet0/1/1] port trunk allow-pass vlan 200
[*CE4-GigabitEthernet0/1/1] stp bpdu vlan 200
[*CE4-GigabitEthernet0/1/1] commit
[~CE4-GigabitEthernet0/1/1] quit
- 配置PE为provider类型的设备
# 配置PE1。
[~PE1] bpdu-tunnel stp bridge role provider
[*PE1] commit
# 配置PE2。
[~PE2] bpdu-tunnel stp bridge role provider
[*PE2] commit
- 配置PE的VLAN Stacking功能。使来自CE的VLAN100和VLAN200的报文被打上外层Tag10在运营商网络中传输
# 配置PE1。
[~PE1] vlan 10
[*PE1-Vlan10] commit
[~PE1-Vlan10] quit
[~PE1] interface gigabitethernet 0/1/3
[~PE1-GigabitEthernet0/1/3] port trunk allow-pass vlan 10
[*PE1-GigabitEthernet0/1/3] quit
[*PE1] interface gigabitethernet 0/1/1
[*PE1-GigabitEthernet0/1/1] port vlan-stacking vlan 100 stack-vlan 10
[*PE1-GigabitEthernet0/1/1] stp disable
[*PE1-GigabitEthernet0/1/1] quit
[*PE1] interface gigabitethernet 0/1/2
[*PE1-GigabitEthernet0/1/2] port vlan-stacking vlan 200 stack-vlan 10
[*PE1-GigabitEthernet0/1/2] stp disable
[*PE1-GigabitEthernet0/1/2] quit
[*PE1] commit
# 配置PE2。
[*PE2] vlan 10
[*PE2-Vlan10] commit
[~PE2-Vlan10] quit
[~PE2] interface gigabitethernet 0/1/3
[~PE2-GigabitEthernet0/1/3] port trunk allow-pass vlan 10
[*PE2-GigabitEthernet0/1/3] quit
[*PE2] interface gigabitethernet 0/1/1
[*PE2-GigabitEthernet0/1/1] port vlan-stacking vlan 100 stack-vlan 10
[*PE2-GigabitEthernet0/1/1] stp disable
[*PE2-GigabitEthernet0/1/1] quit
[*PE2] interface gigabitethernet 0/1/2
[*PE2-GigabitEthernet0/1/2] port vlan-stacking vlan 200 stack-vlan 10
[*PE2-GigabitEthernet0/1/2] stp disable
[*PE2-GigabitEthernet0/1/2] quit
[*PE2] commit
- 检查配置结果
配置完成后,在CE1和CE2设备上执行display stp命令可以查看MSTP的根桥。CE1和CE2之间完成生成树计算功能后,CE1上的GE0/1/1为根(Root)端口,CE2上的GE0/1/1为指定(Designated)端口。
[~CE1] display stp
-------[CIST Global Info] [Mode MSTP] ------- CIST Bridge :32768.00e0-fc9f-3257 Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 19 CIST Root/ERPC :32768.00e0-fc12-3458 / 199999 CIST RegRoot/IRPC :32768.00e0-fc12-3456 / 0 CIST RootPortId :128.82 BPDU-Protection :disabled TC or TCN received :6 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 2h:24m:36s Number of TC :2 Last TC occurred :GigabitEthernet0/1/1 ----[Port1(GigabitEthernet0/1/1)] [FORWARDING] ---- Port Protocol :Enabled Port Role :CIST Root Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=200000000 Desg. Bridge/Port :32768.00e0-fc9a-4315 / 128.82 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :147 packets/hello-time Protection Type :None Port STP Mode :MSTP Port Protocol Type :Config=auto / Active=dot1s BPDU Encapsulation :Config=stp / Active=stp PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20 TC or TCN send :2 TC or TCN received :0 BPDU Sent :7 TCN: 0, Config: 0, RST: 0, MST: 7 BPDU Received :105 TCN: 0, Config: 0, RST: 0, MST: 105
[~CE2] display stp
-------[CIST Global Info] [Mode MSTP] ------- CIST Bridge :32768.00e0-fc9a-4315 Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 19 CIST Root/ERPC :32768.00e0-fc12-3458 / 0 CIST RegRoot/IRPC :32768.00e0-fc12-3458 / 0 CIST RootPortId :0.0 BPDU-Protection :disabled TC or TCN received :3 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 2h:26m:42s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port1(GigabitEthernet0/1/1)] [FORWARDING] ---- Port Protocol :enabled Port Role :CIST Designated Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=199999 Desg. Bridge/Port :32768.00e0-fc9a-4315 / 128.82 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :3 packets/hello-time Protection Type :None Port STP Mode :MSTP Port Protocol Type :Config=auto / Active=dot1s BPDU Encapsulation :Config=stp / Active=stp PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 19 TC or TCN send :0 TC or TCN received :0 BPDU Sent :82 TCN: 0, Config: 0, RST: 0, MST: 82 BPDU Received :0 TCN: 0, Config: 0, RST: 0, MST: 0
在CE3和CE4设备上执行display stp命令可以检查MSTP的根。CE3和CE4之间完成了生成树计算功能。CE3上的GE0/1/1为根(Root)端口,CE4上的GE0/1/1为指定(Designated)端口。
[~CE3] display stp
-------[CIST Global Info][Mode MSTP]------- CIST Bridge :32768.00e0-fc12-3459 Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 19 CIST Root/ERPC :32768.00e0-fc12-3457 / 199999 CIST RegRoot/IRPC :32768.00e0-fc12-3459 / 0 CIST RootPortId :128.82 BPDU-Protection :disabled TC or TCN received :0 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 10h:54m:37s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port1(GigabitEthernet0/1/1)][FORWARDING]---- Port Protocol :enabled Port Role :CIST Root Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=199999 Desg. Bridge/Port :32768.00e0-fc12-3457 / 128.82 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :3 packets/hello-time Protection Type :None Port STP Mode :MSTP Port Protocol Type :Config=auto / Active=dot1s BPDU Encapsulation :Config=stp / Active=stp PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20 TC or TCN send :2 TC or TCN received :0 BPDU Sent :7 TCN: 0, Config: 0, RST: 0, MST: 7 BPDU Received :105 TCN: 0, Config: 0, RST: 0, MST: 105
[~CE4] display stp
-------[CIST Global Info][Mode MSTP]------- CIST Bridge :32768.00e0-fc12-3457 Bridge Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20 Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 19 CIST Root/ERPC :32768.00e0-fc12-3457 / 0 CIST RegRoot/IRPC :32768.00e0-fc12-3457 / 0 CIST RootPortId :0.0 BPDU-Protection :disabled TC or TCN received :4 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 8h:59m:18s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port1(GigabitEthernet0/1/1)][FORWARDING]---- Port Protocol :enabled Port Role :CIST Designated Port Port Priority :128 Port Cost(Dot1T ) :Config=auto / Active=199999 Desg. Bridge/Port :32768.00e0-fc12-3457 / 128.82 Port Edged :Config=disabled / Active=disabled Point-to-point :Config=auto / Active=true Transit Limit :3 packets/hello-time Protection Type :None Port STP Mode :MSTP Port Protocol Type :Config=auto / Active=dot1s BPDU Encapsulation :Config=stp / Active=stp PortTimes :Hello 2s MaxAge 20s FwDly 15s RemHop 20 TC or TCN send :2 TC or TCN received :0 BPDU Sent :7 TCN: 0, Config: 0, RST: 0, MST: 7 BPDU Received :105 TCN: 0, Config: 0, RST: 0, MST: 105
在PE设备上执行display vlan命令可以查看QinQ的信息。
以PE1的显示为例。
[*PE1] display vlan 10 verbose
VLAN ID : 10
VLAN Type : Common
Description : VLAN 0010
Status : Enable
Broadcast : Enable
MAC learning : Enable
Statistics : Disable
----------------
Tagged Port: GigabitEthernet0/1/3
----------------
QinQ-stack Port: GigabitEthernet0/1/1 GigabitEthernet0/1/2
配置文件
CE1的配置文件
#
sysname CE1
#
vlan batch 100
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 100
stp bpdu vlan 100
#
return
CE2的配置文件
#
sysname CE2
#
vlan batch 100
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 100
stp bpdu vlan 100
#
return
CE3的配置文件
#
sysname CE3
#
vlan batch 200
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 200
stp bpdu vlan 200
#
return
CE4的配置文件
#
sysname CE4
#
vlan batch 200
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 200
stp bpdu vlan 200
#
return
PE1的配置文件
#
sysname PE1
#
bpdu-tunnel stp bridge role provider
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port vlan-stacking vlan 100 stack-vlan 10
stp disable
#
interface GigabitEthernet0/1/2
undo shutdown
portswitch
port vlan-stacking vlan 200 stack-vlan 10
stp disable
#
interface GigabitEthernet0/1/3
undo shutdown
portswitch
port trunk allow-pass vlan 10
#
return
PE2的配置文件
#
sysname PE2
#
bpdu-tunnel stp bridge role provider
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port vlan-stacking vlan 100 stack-vlan 10
stp disable
#
interface GigabitEthernet0/1/2
undo shutdown
portswitch
port vlan-stacking vlan 200 stack-vlan 10
stp disable
#
interface GigabitEthernet0/1/3
undo shutdown
portswitch
port trunk allow-pass vlan 10
#
return