配置基于VLAN的BPDU Tunnel示例
本示例中,PE设备常作为汇聚设备。当PE设备上的汇聚接口上同时收到来自不同的用户报文时,为了区分不同的用户,在CE设备上针对不同的用户分配不同VLAN ID实现基于VLAN的BPDU(Bridge Protocol Data Unit) Tunnel。
组网需求
如图15-5所示,CE设备和PE设备相连,CE的BPDU报文需要透传PE之间的运营商网络。对于PE的每个接口而言,由于是汇聚接口,PE接收到CE的BPDU报文需要携带Tag以区分不同的用户。此时可以配置基于VLAN的BPDU Tunnel,使得:
VLAN100中的设备可以共同完成生成树计算。
VLAN200中的设备可以共同完成生成树计算。
本例采用设备角色相同的配置方法:CE和PE设备都为customer类型的设备,默认的BPDU报文的目的MAC地址为0180-C200-0000。PE不能透传CE发送来的BPDU报文,PE设备因此需要使能BPDU Tunnel功能。
配置思路
采用如下的思路配置基于VLAN的BPDU Tunnel:
使能CE设备和PE设备的生成树计算功能。
配置CE发送到PE的BPDU报文带有指定的Tag值。
去使能PE上CE侧接口的生成树计算功能,配置PE能够透明传输BPDU报文。
配置PE的运营商网络侧接口允许VLAN100和VLAN200的报文通过。
配置P的普通二层转发功能。允许PE之间的报文能被在运营商网络中传输。
操作步骤
- 将PE和CE的接口转换成二层接口
对于接口已经是二层接口的设备,不需要执行此步配置。
使用portswitch命令,将图15-5中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报文带Tag100。配置CE3与CE4发送到PE的BPDU报文带Tag200
# 配置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
# 配置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
# 配置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
# 配置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
- 配置PE替换接收到CE的BPDU报文的MAC地址
# 配置PE1。
[~PE1] bpdu-tunnel stp group-mac 0100-5e00-0011
[*PE1] commit
# 配置PE2。
[~PE2] bpdu-tunnel stp group-mac 0100-5e00-0011
[*PE2] commit
- 配置PE的接口,使得CE的BPDU报文通过PE汇聚后透明传输到P
# 配置PE1。
[~PE1] vlan 100
[*PE1-vlan100] commit
[~PE1-vlan100] quit
[~PE1] vlan 200
[*PE1-vlan200] commit
[~PE1-vlan200] quit
[~PE1] interface gigabitethernet 0/1/3
[~PE1-GigabitEthernet0/1/3] port trunk allow-pass vlan 100 200
[*PE1-GigabitEthernet0/1/3] commit
[~PE1-GigabitEthernet0/1/3] quit
[~PE1] interface gigabitethernet 0/1/1
[~PE1-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*PE1-GigabitEthernet0/1/1] bpdu-tunnel stp vlan 100
[*PE1-GigabitEthernet0/1/1] stp disable
[*PE1-GigabitEthernet0/1/1] commit
[~PE1-GigabitEthernet0/1/1] quit
[~PE1] interface gigabitethernet 0/1/2
[~PE1-GigabitEthernet0/1/2] port trunk allow-pass vlan 200
[*PE1-GigabitEthernet0/1/2] bpdu-tunnel stp vlan 200
[*PE1-GigabitEthernet0/1/2] stp disable
[*PE1-GigabitEthernet0/1/2] commit
[~PE1-GigabitEthernet0/1/2] quit
# 配置PE2。
[~PE2] vlan 100
[*PE2-vlan100] commit
[~PE2-vlan100] quit
[~PE2] vlan 200
[*PE2-vlan200] commit
[~PE2-vlan200] quit
[~PE2] interface gigabitethernet 0/1/3
[~PE2-GigabitEthernet0/1/3] port trunk allow-pass vlan 100 200
[*PE2-GigabitEthernet0/1/3] commit
[~PE2-GigabitEthernet0/1/3] quit
[~PE2] interface gigabitethernet 0/1/1
[~PE2-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*PE2-GigabitEthernet0/1/1] bpdu-tunnel stp vlan 100
[*PE2-GigabitEthernet0/1/1] stp disable
[*PE2-GigabitEthernet0/1/1] commit
[~PE2-GigabitEthernet0/1/1] quit
[~PE2] interface gigabitethernet 0/1/2
[~PE2-GigabitEthernet0/1/2] port trunk allow-pass vlan 200
[*PE2-GigabitEthernet0/1/2] bpdu-tunnel stp vlan 200
[*PE2-GigabitEthernet0/1/2] stp disable
[*PE2-GigabitEthernet0/1/2] commit
[~PE2-GigabitEthernet0/1/2] quit
- 配置P的普通二层转发功能,并允许来自PE的VLAN100和VLAN200的报文通过
[~P] vlan 100
[*P-vlan100] commit
[~P-vlan100] quit
[~P] vlan 200
[*P-vlan200] commit
[~P-vlan200] quit
[~P] interface gigabitethernet 0/1/2
[~P-GigabitEthernet0/1/2] port trunk allow-pass vlan 100 200
[*P-GigabitEthernet0/1/2] commit
[~P-GigabitEthernet0/1/2] quit
[~P] interface gigabitethernet 0/1/1
[~P-GigabitEthernet0/1/1] port trunk allow-pass vlan 100 200
[*P-GigabitEthernet0/1/1] commit
[~P-GigabitEthernet0/1/1] quit
- 检查配置结果
配置完成后,在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-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-3459 / 199999 CIST RegRoot/IRPC :32768.00e0-fc12-3457 / 0 CIST RootPortId :128.82 BPDU-Protection :disabled TC or TCN received :2 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 3h:53m:43s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port17(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-3459 / 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
[~CE2] 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-3459 / 0 CIST RegRoot/IRPC :32768.00e0-fc12-3459 / 0 CIST RootPortId :0.0 BPDU-Protection :disabled TC or TCN received :1 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 5h:29m:6s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port17(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-3459 / 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 :237 TCN: 0, Config: 0, RST: 0, MST: 237 BPDU Received :120 TCN: 0, Config: 0, RST: 0, MST: 120
在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-3458 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-3456 / 199999 CIST RegRoot/IRPC :32768.00e0-fc12-3458 / 0 CIST RootPortId :128.82 BPDU-Protection :disabled TC or TCN received :4 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 3h:57m:0s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port17(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-3456 / 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 :17 TCN: 0, Config: 0, RST: 0, MST: 17 BPDU Received :105 TCN: 0, Config: 0, RST: 0, MST: 105
[~CE4] display stp
-------[CIST Global Info][Mode MSTP]------- CIST Bridge :32768.00e0-fc12-3456 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-3456 / 0 CIST RegRoot/IRPC :32768.00e0-fc12-3456 / 0 CIST RootPortId :0.0 BPDU-Protection :disabled TC or TCN received :2 TC count per hello :0 STP Converge Mode :Normal Time since last TC received :0 days 5h:33m:17s Number of TC :1 Last TC occurred :GigabitEthernet0/1/1 ----[Port17(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-3456 / 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 :11 TCN: 0, Config: 0, RST: 0, MST: 11 BPDU Received :105 TCN: 0, Config: 0, RST: 0, MST: 105
配置文件
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
#
vlan batch 100 200
#
bpdu-tunnel stp group-mac 0100-5e00-0011
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 100
bpdu-tunnel stp vlan 100
stp disable
#
interface GigabitEthernet0/1/2
undo shutdown
portswitch
port trunk allow-pass vlan 200
bpdu-tunnel stp vlan 200
stp disable
#
interface GigabitEthernet0/1/3
undo shutdown
portswitch
port trunk allow-pass vlan 100 200
#
return
P的配置文件
#
sysname P
#
vlan batch 100 200
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 100 200
#
interface GigabitEthernet0/1/2
undo shutdown
portswitch
port trunk allow-pass vlan 100 200
#
return
PE2的配置文件
#
sysname PE2
#
vlan batch 100 200
#
bpdu-tunnel stp group-mac 0100-5e00-0011
#
stp enable
#
interface GigabitEthernet0/1/1
undo shutdown
portswitch
port trunk allow-pass vlan 100
bpdu-tunnel stp vlan 100
stp disable
#
interface GigabitEthernet0/1/2
undo shutdown
portswitch
port trunk allow-pass vlan 200
bpdu-tunnel stp vlan 200
stp disable
#
interface GigabitEthernet0/1/3
undo shutdown
portswitch
port trunk allow-pass vlan 100 200
#
return