配置VBST功能示例
组网需求
某企业网如图16-4所示,接入交换机SwitchC和SwitchD分别双归接入到汇聚交换机SwitchA和SwitchB。SwitchC接入VLAN 10、20的业务流量,SwitchD接入VLAN 20、30的业务流量。由于双归接入,在接入层和汇聚层之间形成环形网络。企业希望各VLAN内的业务流量正常转发,同时希望不同VLAN内的业务流量能够在链路上负载分担,以提高链路利用率。
图16-4 配置VBST功能组网图
配置思路
可通过部署VBST避免接入层与汇聚层间的环路,使各VLAN内的业务流量正常转发,同时,使不同VLAN内的业务流量能够在链路上负载分担。配置思路如下:
配置接入交换机和汇聚交换机的二层转发功能。
在处于环形网络中的交换机(SwitchA~SwitchD)上配置VBST基本功能。为使VBST计算产生如图16-4中所示的VLAN生成树。配置时:
将VLAN 10的根桥设置为SwitchA,备份根桥设置为SwitchB;将VLAN20的根桥设置为SwitchA,备份根桥设置为SwitchB;将VLAN30的根桥设置为SwitchB,备份根桥设置为SwitchA,确保根桥设备的可靠性。
将SwitchC的端口GE1/0/2在VLAN10、VLAN20中设置较大的路径开销值,使其分别在VLAN 10、20的生成树中阻塞;将SwitchD的端口GE1/0/2在VLAN20、VLAN30中设置较大的路径开销值,使其分别在VLAN20、VLAN30的生成树中阻塞。
为减少VBST拓扑计算,提高拓扑收敛速率,设置SwitchC和SwitchD连接终端的接口为边缘端口。
操作步骤
配置处于环网中的设备的二层转发功能
在交换设备SwitchA、SwitchB、SwitchC和SwitchD上创建VLAN10、VLAN20和VLAN30。
# 在SwitchA上创建VLAN10、VLAN20和VLAN30。
system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 20 30
# 在SwitchB上创建VLAN10、VLAN20和VLAN30。
system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 10 20 30
# 在SwitchC上创建VLAN10和VLAN20。
system-view
[HUAWEI] sysname SwitchC
[SwitchC] vlan batch 10 20
# 在SwitchD上创建VLAN20和VLAN30。
system-view
[HUAWEI] sysname SwitchD
[SwitchD] vlan batch 20 30
将交换机上接入环路中的端口加入VLAN
# 将SwitchA端口GE1/0/1加入VLAN10、VLAN20和VLAN30。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] port link-type trunk
[SwitchA-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 20 30
[SwitchA-GigabitEthernet1/0/1] quit
# 将SwitchA端口GE1/0/2加入VLAN20和VLAN30。
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] port link-type trunk
[SwitchA-GigabitEthernet1/0/2] port trunk allow-pass vlan 20 30
[SwitchA-GigabitEthernet1/0/2] quit
# 将SwitchA端口GE1/0/3加入VLAN10和VLAN20。
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port link-type trunk
[SwitchA-GigabitEthernet1/0/3] port trunk allow-pass vlan 10 20
[SwitchA-GigabitEthernet1/0/3] quit
# 将SwitchB端口GE1/0/1加入VLAN10、VLAN20和VLAN30。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type trunk
[SwitchB-GigabitEthernet1/0/1] port trunk allow-pass vlan 10 20 30
[SwitchB-GigabitEthernet1/0/1] quit
# 将SwitchB端口GE1/0/2加入VLAN10和VLAN20。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type trunk
[SwitchB-GigabitEthernet1/0/2] port trunk allow-pass vlan 10 20
[SwitchB-GigabitEthernet1/0/2] quit
# 将SwitchB端口GE1/0/3加入VLAN20和VLAN30。
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] port link-type trunk
[SwitchB-GigabitEthernet1/0/3] port trunk allow-pass vlan 20 30
[SwitchB-GigabitEthernet1/0/3] quit
# 将SwitchC端口GE1/0/2加入VLAN10和VLAN20。
[SwitchC] interface gigabitethernet 1/0/2
[SwitchC-GigabitEthernet1/0/2] port link-type trunk
[SwitchC-GigabitEthernet1/0/2] port trunk allow-pass vlan 10 20
[SwitchC-GigabitEthernet1/0/2] quit
# 将SwitchC端口GE1/0/3加入VLAN10和VLAN20。
[SwitchC] interface gigabitethernet 1/0/3
[SwitchC-GigabitEthernet1/0/3] port link-type trunk
[SwitchC-GigabitEthernet1/0/3] port trunk allow-pass vlan 10 20
[SwitchC-GigabitEthernet1/0/3] quit
# 将SwitchC端口GE1/0/4加入VLAN10,GE1/0/5加入VLAN20。
[SwitchC] interface gigabitethernet 1/0/4
[SwitchC-GigabitEthernet1/0/4] port link-type access
[SwitchC-GigabitEthernet1/0/4] port default vlan 10
[SwitchC-GigabitEthernet1/0/4] quit
[SwitchC] interface gigabitethernet 1/0/5
[SwitchC-GigabitEthernet1/0/5] port link-type access
[SwitchC-GigabitEthernet1/0/5] port default vlan 20
[SwitchC-GigabitEthernet1/0/5] quit
# 将SwitchD端口GE1/0/2加入VLAN20和VLAN30。
[SwitchD] interface gigabitethernet 1/0/2
[SwitchD-GigabitEthernet1/0/2] port link-type trunk
[SwitchD-GigabitEthernet1/0/2] port trunk allow-pass vlan 20 30
[SwitchD-GigabitEthernet1/0/2] quit
# 将SwitchD端口GE1/0/3加入VLAN20和VLAN30。
[SwitchD] interface gigabitethernet 1/0/3
[SwitchD-GigabitEthernet1/0/3] port link-type trunk
[SwitchD-GigabitEthernet1/0/3] port trunk allow-pass vlan 20 30
[SwitchD-GigabitEthernet1/0/3] quit
# 将SwitchD端口GE1/0/4加入VLAN20,GE1/0/5加入VLAN30。
[SwitchD] interface gigabitethernet 1/0/4
[SwitchD-GigabitEthernet1/0/4] port link-type access
[SwitchD-GigabitEthernet1/0/4] port default vlan 20
[SwitchD-GigabitEthernet1/0/4] quit
[SwitchD] interface gigabitethernet 1/0/5
[SwitchD-GigabitEthernet1/0/5] port link-type access
[SwitchD-GigabitEthernet1/0/5] port default vlan 30
[SwitchD-GigabitEthernet1/0/5] quit
配置VBST基本功能
配置环网中的交换机的生成树协议工作在VBST模式
# 配置SwitchA的工作模式为VBST。
[SwitchA] stp mode vbst
# 配置交换机SwitchB的工作模式为VBST。
[SwitchB] stp mode vbst
# 配置交换机SwitchC的工作模式为VBST。
[SwitchC] stp mode vbst
# 配置交换机SwitchD的工作模式为VBST。
[SwitchD] stp mode vbst
配置根桥和备份根桥设备
配置VLAN10的根桥和备份根桥。
# 配置SwitchA为VLAN10的根桥。
[SwitchA] stp vlan 10 root primary
# 配置SwitchB为VLAN10的备份根桥。
[SwitchB] stp vlan 10 root secondary
配置VLAN20的根桥和备份根桥。
# 配置SwitchA为VLAN20的根桥。
[SwitchA] stp vlan 20 root primary
# 配置SwitchB为VLAN20的备份根桥。
[SwitchB] stp vlan 20 root secondary
配置VLAN30的根桥和备份根桥。
# 配置SwitchB为VLAN30的根桥。
[SwitchB] stp vlan 30 root primary
# 配置SwitchA为VLAN30的备份根桥。
[SwitchA] stp vlan 30 root secondary
配置各VLAN中端口的路径开销值,实现将该端口阻塞
# 将SwitchC上的端口GE1/0/2在VLAN10中的路径开销值配置为2000000,在VLAN20中的路径开销值配置为2000000。
[SwitchC] interface gigabitethernet 1/0/2
[SwitchC-GigabitEthernet1/0/2] stp vlan 10 cost 2000000
[SwitchC-GigabitEthernet1/0/2] stp vlan 20 cost 2000000
[SwitchC-GigabitEthernet1/0/2] quit
# 将SwitchD上的端口GE1/0/2在VLAN20中的路径开销值配置为2000000,在VLAN30中的路径开销值配置为2000000。
[SwitchD] interface gigabitethernet 1/0/2
[SwitchD-GigabitEthernet1/0/2] stp vlan 20 cost 2000000
[SwitchD-GigabitEthernet1/0/2] stp vlan 30 cost 2000000
[SwitchD-GigabitEthernet1/0/2] quit
使能VBST,实现破除环路
所有设备的VLAN 1去使能VBST
# 在SwitchA上去使能VLAN 1的VBST功能。SwitchB、SwitchC、SwitchD的配置与SwitchA类似,本文不再赘述。
[SwitchA] stp vlan 1 disable
# 将SwitchA上的接口GE1/0/1~GE1/0/3退出VLAN 1。SwitchB、SwitchC、SwitchD的配置与SwitchA类似,本文不再赘述。只不过SwitchC、SwitchD的接口GE1/0/4和GE1/0/5无需退出VLAN 1。
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] undo port trunk allow-pass vlan 1
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] undo port trunk allow-pass vlan 1
[SwitchA-GigabitEthernet1/0/2] quit
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] undo port trunk allow-pass vlan 1
[SwitchA-GigabitEthernet1/0/3] quit
全局使能VBST
# SwitchA全局使能VBST。
[SwitchA] stp enable
# SwitchB全局使能VBST。
[SwitchB] stp enable
# SwitchC全局使能VBST。
[SwitchC] stp enable
# 设备SwitchD全局使能VBST。
[SwitchD] stp enable
全局使能VBST功能
缺省情况下,全局VBST功能已使能。
为确保全局VBST使能,可执行命令display stp global查看VBST的使能状态。如果未使能,请在系统视图执行命令stp enable全局使能VBST功能。
VLAN使能VBST功能
缺省情况下,VLAN上的VBST功能处于使能状态。
为确保VLAN的VBST功能使能,可执行命令display stp vlan vlan-id查看VLAN上的VBST状态。如果提示“The protocol is disabled”,表明该VLAN上VBST功能未使能,请在系统视图执行命令stp vlan vlan-id enable使能该VLAN的VBST功能。
端口使能VBST功能
缺省情况下,二层以太网接口上的VBST功能处于使能状态。
为确保接口上的VBST功能使能,可执行命令display stp interface interface-type interface-number查看接口上的VBST状态。如果提示“The protocol is disabled”,表明该接口上VBST功能未使能,请在该接口视图执行命令stp enable使能该接口上的VBST功能。
配置连接终端的接口为边缘端口,提高收敛速率
# 配置SwitchC连接终端的接口GE1/0/4和GE1/0/5为边缘端口。SwitchD的配置与SwitchC类似,本文不再赘述。
[SwitchC] interface gigabitethernet 1/0/4
[SwitchC-GigabitEthernet1/0/4] stp edged-port enable
[SwitchC-GigabitEthernet1/0/4] quit
[SwitchC] interface gigabitethernet 1/0/5
[SwitchC-GigabitEthernet1/0/5] stp edged-port enable
[SwitchC-GigabitEthernet1/0/5] quit
验证配置结果
经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。
# 在SwitchA上执行display stp bridge local命令,查看STP工作模式,结果如下:
[SwitchA] display stp bridge local
VLAN-ID Bridge ID Hello Max Forward Protocol
Time Age Delay
----- -------------------- ----- --- ------- ---------------------------
10 10.0200-0000-6703 2 20 15 VBST
20 20.0200-0000-6703 2 20 15 VBST
30 4126.0200-0000-6703 2 20 15 VBST
由上述显示信息可以看出,STP工作在VBST模式。
# 在SwitchA上执行display stp brief命令,查看端口状态,结果如下:
[SwitchA] display stp brief
VLAN-ID Port Role STP State Protection
10 GigabitEthernet1/0/1 DESI FORWARDING NONE
10 GigabitEthernet1/0/3 DESI FORWARDING NONE
20 GigabitEthernet1/0/1 DESI FORWARDING NONE
20 GigabitEthernet1/0/2 DESI FORWARDING NONE
20 GigabitEthernet1/0/3 DESI FORWARDING NONE
30 GigabitEthernet1/0/1 ROOT FORWARDING NONE
30 GigabitEthernet1/0/2 DESI FORWARDING NONE
由上述显示信息可以看出,SwitchA分别参加VLAN10、VLAN20和VLAN30的生成树计算。例如,SwitchA在VLAN10和VLAN20中都是根桥,所以在VLAN10中GE1/0/1和GE1/0/3都被选举为指定端口;在VLAN20中GE1/0/1、GE1/0/2和GE1/0/3都被选举为指定端口。SwitchA在VLAN30中是备份根桥,所以VLAN30中GE1/0/1被选举为根端口,GE1/0/2被选举为指定端口。
# 在SwitchA上执行display stp vlan 10命令,查看VLAN10的详细信息,结果如下:
[SwitchA] display stp vlan 10
-------[VLAN 10 Global Info]-------
Bridge ID :10 .0200-0000-6703
Bridge Diameter :7
Config Times :Hello 2s MaxAge 20s FwDly 15s
Active Times :Hello 2s MaxAge 20s FwDly 15s
Root ID / RPC :10 .0200-0000-6703 / 0 (This bridge is the root)
RootPortId :0.0
Root Type :Primary
BPDU-Protection :Disabled
STP Converge Mode :Normal
Time since last TC :0 days 0h:10m:46s
Number of TC :1
----[Port4093(GigabitEthernet1/0/1)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T) :Config=Auto / Active=20000
Desg. Bridge/Port :10 .0200-0000-6703 / 128.4093
Port Edged :Config=Default / Active=Disabled
Point-to-point :Config=Auto / Active=true
Port Revert Slow :Disabled
Port Agreement Legacy :Disabled
Transit Limit :6 packets/hello
Protection Type :None
Port STP Mode :VBST
BPDU Encapsulation :Config=VBST / Active=VBST
----[Port4092(GigabitEthernet1/0/3)][FORWARDING]----
Port Role :Designated Port
Port Priority :128
Port Cost(Dot1T) :Config=Auto / Active=199999
Desg. Bridge/Port :10 .0200-0000-6703 / 128.4092
Port Edged :Config=Default / Active=Disabled
Point-to-point :Config=Auto / Active=true
Port Revert Slow :Disabled
Port Agreement Legacy :Disabled
Transit Limit :6 packets/hello
Protection Type :None
Port STP Mode :VBST
BPDU Encapsulation :Config=VBST / Active=VBST
由上述显示信息可以看出,在VLAN10中,SwitchA被选举为根桥,两个端口GE1/0/1和GE1/0/3都被选举为指定端口,且处于FORWARDING状态。
# 同理,在SwitchB、SwitchC和SwitchD上分别执行display stp brief命令,查看端口状态,结果如下:
[SwitchB] display stp brief
VLAN-ID Port Role STP State Protection
10 GigabitEthernet1/0/1 ROOT FORWARDING NONE
10 GigabitEthernet1/0/2 DESI FORWARDING NONE
20 GigabitEthernet1/0/1 ROOT FORWARDING NONE
20 GigabitEthernet1/0/2 DESI FORWARDING NONE
20 GigabitEthernet1/0/3 DESI FORWARDING NONE
30 GigabitEthernet1/0/1 DESI FORWARDING NONE
30 GigabitEthernet1/0/3 DESI FORWARDING NONE
[SwitchC] display stp brief
VLAN-ID Port Role STP State Protection
10 GigabitEthernet1/0/2 ALTE DISCARDING NONE
10 GigabitEthernet1/0/3 ROOT FORWARDING NONE
10 GigabitEthernet1/0/4 DESI FORWARDING NONE
20 GigabitEthernet1/0/2 ALTE DISCARDING NONE
20 GigabitEthernet1/0/3 ROOT FORWARDING NONE
20 GigabitEthernet1/0/5 DESI FORWARDING NONE
[SwitchD] display stp brief
VLAN-ID Port Role STP State Protection
20 GigabitEthernet1/0/2 ALTE DISCARDING NONE
20 GigabitEthernet1/0/3 ROOT FORWARDING NONE
20 GigabitEthernet1/0/4 DESI FORWARDING NONE
30 GigabitEthernet1/0/2 ALTE DISCARDING NONE
30 GigabitEthernet1/0/3 ROOT FORWARDING NONE
30 GigabitEthernet1/0/5 DESI FORWARDING NONE
由上述显示信息可以看出,SwitchB参与VLAN10、VLAN20和VLAN30的生成树计算,SwitchC参与VLAN10、VLAN20的生成树计算,SwitchD参与VLAN20、VLAN30的生成树计算,计算完成后,各端口分别选举为不同的角色,实现破除环路。
可见,VLAN 10、VLAN 20和VLAN 30分别形成不同的生成树,VLAN 10、VLAN 20、VLAN 30内的业务流量将沿各自的生成树转发,实现负载分担。
配置文件
SwitchA的配置文件
#
sysname SwitchA
#
vlan batch 10 20 30
#
stp mode vbst
#
stp vlan 1 disable
stp vlan 30 root secondary
stp vlan 10 20 root primary
#
interface GigabitEthernet1/0/1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20 30
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20 30
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
#
return
SwitchB的配置文件
#
sysname SwitchB
#
vlan batch 10 20 30
#
stp mode vbst
#
stp vlan 1 disable
stp vlan 10 20 root secondary
stp vlan 30 root primary
#
interface GigabitEthernet1/0/1
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20 30
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20 30
#
return
SwitchC的配置文件
#
sysname SwitchC
#
vlan batch 10 20
#
stp mode vbst
#
stp vlan 1 disable
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
stp vlan 10 20 cost 2000000
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 10 20
#
interface GigabitEthernet1/0/4
port link-type access
port default vlan 10
stp edged-port enable
#
interface GigabitEthernet1/0/5
port link-type access
port default vlan 20
stp edged-port enable
#
return
SwitchD的配置文件
#
sysname SwitchD
#
vlan batch 20 30
#
stp mode vbst
#
stp vlan 1 disable
#
interface GigabitEthernet1/0/2
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20 30
stp vlan 20 30 cost 2000000
#
interface GigabitEthernet1/0/3
port link-type trunk
undo port trunk allow-pass vlan 1
port trunk allow-pass vlan 20 30
#
interface GigabitEthernet1/0/4
port link-type access
port default vlan 20
stp edged-port enable
#
interface GigabitEthernet1/0/5
port link-type access
port default vlan 30
stp edged-port enable
#
return