锐捷网管交换机MSTP多生成树协议基本配置举例

生成树协议是一种二层管理协议,它的主要功能是阻塞网络中的冗余链路来消除二层环路,在链路故障时启用备份链路。

随着网络的发展不断更新,生成树协议已有多种版本:
STP协议(Spanning Tree Protocol,生成树协议),
RSTP协议(Rapid Spanning Tree Protocol,快速生成树协议)
MSTP协议(Multiple SpanningTree Protocol,多生成树协议)。

一、组网需求
如下图,两层拓扑结构,核心层设备为Device A和Device B,接入层设备为Device C,Device C连接内网终端。内网存在4个VLAN,配置MSTP功能满足如下需求:
● VLAN 10和VLAN 30的生成树根桥为Device A,并且从Device C的GigabitEthernet 0/1转发数据。
● VLAN 20和VLAN 40的生成树根桥为Device B,并且从Device C的GigabitEthernet 0/2转发数据。
● 在Device C的根端口上开启环路保护功能。在Device C连接终端的边缘端口上开启BPDU保护功能。

二、组网图
MSTP 基本拓扑

三、配置要点
●在Devcie A、B和C上创建相同的VLAN,配置相同的实例映射:实例1映射VLAN 10和30;实例2映射VLAN20和40。实例0包含其它未创建的VLAN。

●设备通过比较优先级向量< Root Identifier,Root Path Cost,Bridge ID,Port ID >选举出生成树中的设备角色和端口角色,配置实例的桥优先级和端口路径开销,以便算出组网需求中要求的拓扑。为便于管理,实例0配置和实例1同样的生成树。

实例0和1:
※Device A的桥优先级配置为4096,Device B的桥优先级配置为8192,Device C的桥优先级采用缺省值32768(无需配置),使Device A成为根。

※在Device B上,配置GigabitEthernet 0/2端口路径开销为1,GigabitEthernet 0/1端口路径开销为4,使得
GigabitEthernet 0/2成为Device B的根端口。

※在Device C上,配置GigabitEthernet 0/1端口路径开销为1,GigabitEthernet 0/2端口路径开销为4,使得
GigabitEthernet 0/1成为Device C的根端口。

※Device B的桥优先级8192高于Device C的桥优先级32768,Device B的GigabitEthernet 0/1成为指定端口,Device C的GigabitEthernet 0/2成为替换端口。

实例2:
※Device B的桥优先级配置为4096,Device A的桥优先级配置为8192,Device C的桥优先级采用缺省值32768(无需配置),使Device B成为根。

※在Device A上,配置GigabitEthernet 0/2端口路径开销为1,GigabitEthernet 0/1端口路径开销为4,使得GigabitEthernet 0/2成为Device A的根端口。

※在Device C上,配置GigabitEthernet 0/2端口路径开销为1,GigabitEthernet 0/1端口路径开销为4,使得
GigabitEthernet 0/2成为Device C的根端口。

※Device A的桥优先级8192高于Device C的桥优先级32768,Device A的GigabitEthernet 0/1成为指定端口,Device C的GigabitEthernet 0/1成为替换端口。

●在Device C的GigabitEthernet 0/1~0/2上配置MSTP环路保护,当根端口或备份口因收不到BPDU迁移为指定端口时,端口状态将一直保持Discarding(废弃)状态,直到重新收到BPDU进行生成树计算。
● 配置Device C连接终端的接口GigabitEthernet 0/3~0/6为边缘端口。在缺省情况下边缘端口自动识别功能处于开启状态,若GigabitEthernet 0/3~0/6被选举为指定端口后3秒内未接收到BPDU,则被自动识别为边缘端口并立即进入转发状态。若网络中存在丢包或收发报文延迟的现象,可能影响边缘端口自动识别功能。因此,关闭边缘端口自动识别功能,手工配置其为边缘端口,并开启BPDU保护功能。
● 在Devcie A、B和C上全局开启生成树功能,缺省为MSTP模式。
● 配置Devcie A、B和C的互联端口为Trunk口,许可所有VLAN通过。配置Device C连接终端的接口加入所在VLAN。

四、配置步骤
(1) 配置Device A。
# 创建VLAN,配置实例映射。
DeviceA>enable
DeviceA# configure terminal
DeviceA(config)# vlan range 10,20,30,40
DeviceA(config-vlan-range)# exit
DeviceA(config)# spanning-tree mst configuration
DeviceA(config-mst)# instance 1 vlan 10,30
DeviceA(config-mst)# instance 2 vlan 20,40

# 配置实例0和1的桥优先级为4094,实例2的桥优先级为8192。
DeviceA(config-mst)# spanning-tree mst 0 priority 4096
DeviceA(config)# spanning-tree mst configuration
DeviceA(config-mst)# spanning-tree mst 1 priority 4096
DeviceA(config)# spanning-tree mst configuration
DeviceA(config-mst)# spanning-tree mst 2 priority 8192

# 配置GigabitEthernet 0/2为Trunk口。在实例2中,配置端口路径开销为1。
DeviceA(config)# interface range gigabitethernet 0/2
DeviceA(config-if-GigabitEthernet 0/2)# switchport
DeviceA(config-if-GigabitEthernet 0/2)# switchport mode trunk
DeviceA(config-if-GigabitEthernet 0/2)# spanning-tree mst 2 cost 1
DeviceA(config-if-GigabitEthernet 0/2)# exit

# 配置GigabitEthernet 0/1为Trunk口。在实例2中,配置端口路径开销为4。
DeviceA(config)# interface range gigabitethernet 0/1
DeviceA(config-if-GigabitEthernet 0/1)# switchport
DeviceA(config-if-GigabitEthernet 0/1)# switchport mode trunk
DeviceA(config-if-GigabitEthernet 0/1)# spanning-tree mst 2 cost 4
DeviceA(config-if-GigabitEthernet 0/1)# exit

# 全局开启生成树功能。
DeviceA(config)# spanning-tree
DeviceA(config)# end
DeviceA# write

(2) 配置Device B。
# 创建VLAN,配置实例映射。
DeviceB> enable
DeviceB# configure terminal
DeviceB(config)# vlan range 10,20,30,40
DeviceB(config-vlan-range)# exit
DeviceB(config)# spanning-tree mst configuration
DeviceB(config-mst)# instance 1 vlan 10,30
DeviceB(config-mst)# instance 2 vlan 20,40

# 配置实例2的优先级为4094,实例0和1的桥优先级为8192。
DeviceB(config-mst)# spanning-tree mst 0 priority 8192
DeviceB(config)# spanning-tree mst configuration
DeviceB(config-mst)# spanning-tree mst 1 priority 8192
DeviceB(config)# spanning-tree mst configuration
DeviceB(config-mst)# spanning-tree mst 2 priority 4096

# 配置GigabitEthernet 0/2为Trunk口。在实例0和1中,配置端口路径开销为1。
DeviceB(config)# interface range gigabitethernet 0/2
DeviceB(config-if-GigabitEthernet 0/2)# switchport
DeviceB(config-if-GigabitEthernet 0/2)# switchport mode trunk
DeviceB(config-if-GigabitEthernet 0/2)# spanning-tree mst 0 cost 1
DeviceB(config-if-GigabitEthernet 0/2)# spanning-tree mst 1 cost 1
DeviceB(config-if-GigabitEthernet 0/2)# exit

# 配置GigabitEthernet 0/1为Trunk口。在实例0和1中,配置端口路径开销为4。
DeviceB(config)# interface range gigabitethernet 0/1
DeviceB(config-if-GigabitEthernet 0/1)# switchport
DeviceB(config-if-GigabitEthernet 0/1)# switchport mode trunk
DeviceB(config-if-GigabitEthernet 0/1)# spanning-tree mst 0 cost 4
DeviceB(config-if-GigabitEthernet 0/1)# spanning-tree mst 1 cost 4
DeviceB(config-if-GigabitEthernet 0/1)# exit

# 全局开启生成树功能。
DeviceB(config)# spanning-tree
DeviceB(config)# end
DeviceB# write

(3) 配置Device C。
# 创建VLAN,配置实例映射。
DeviceC> enable
DeviceC# configure terminal
DeviceC(config)# vlan range 10,20,30,40
DeviceC(config-vlan-range)# exit
DeviceC(config)# spanning-tree mst configuration
DeviceC(config-mst)# instance 1 vlan 10,30
DeviceC(config-mst)# instance 2 vlan 20,40
DeviceC(config-mst)# exit

# 配置上联口GigabitEthernet 0/1为Trunk口。在实例0和1中配置端口路径开销为1,在实例2中配置端口路径开销为4。配置端口环路保护。
DeviceC(config)# interface gigabitethernet 0/1
DeviceC(config-if-GigabitEthernet 0/1)# switchport
DeviceC(config-if-GigabitEthernet 0/1)# switchport mode trunk
DeviceC(config-if-GigabitEthernet 0/1)# spanning-tree mst 0 cost 1
DeviceC(config-if-GigabitEthernet 0/1)# spanning-tree mst 1 cost 1
DeviceC(config-if-GigabitEthernet 0/1)# spanning-tree mst 2 cost 4
DeviceC(config-if-GigabitEthernet 0/1)# spanning-tree guard loop
DeviceC(config-if-GigabitEthernet 0/1)# exit

# 配置上联口GigabitEthernet 0/2为Trunk口。在实例2中配置端口路径开销为1,在实例0和1中配置端口路径开销为4。配置端口环路保护。
DeviceC(config)# interface gigabitethernet 0/2
DeviceC(config-if-GigabitEthernet 0/2)# switchport
DeviceC(config-if-GigabitEthernet 0/2)# switchport mode trunk
DeviceC(config-if-GigabitEthernet 0/2)# spanning-tree mst 0 cost 4
DeviceC(config-if-GigabitEthernet 0/2)# spanning-tree mst 1 cost 4
DeviceC(config-if-GigabitEthernet 0/2)# spanning-tree mst 2 cost 1
DeviceC(config-if-GigabitEthernet 0/2)# spanning-tree guard loop
DeviceC(config-if-GigabitEthernet 0/2)# exit

# 配置下联口GigabitEthernet 0/3~0/6加入指定VLAN。配置接口为边缘端口,配置BPDU保护功能。
DeviceC(config)# interface gigabitethernet 0/3
DeviceC(config-if-GigabitEthernet 0/3)# switchport
DeviceC(config-if-GigabitEthernet 0/3)# switchport mode access
DeviceC(config-if-GigabitEthernet 0/3)# switchport access vlan 10
DeviceC(config-if-GigabitEthernet 0/3)# spanning-tree autoedge disabled
DeviceC(config-if-GigabitEthernet 0/3)# spanning-tree portfast
DeviceC(config-if-GigabitEthernet 0/3)# spanning-tree bpduguard enable
DeviceC(config-if-GigabitEthernet 0/3)# exit
DeviceC(config)# interface gigabitethernet 0/4
DeviceC(config-if-GigabitEthernet 0/4)# switchport
DeviceC(config-if-GigabitEthernet 0/4)# switchport mode access
DeviceC(config-if-GigabitEthernet 0/4)# switchport access vlan 20
DeviceC(config-if-GigabitEthernet 0/4)# spanning-tree autoedge disabled
DeviceC(config-if-GigabitEthernet 0/4)# spanning-tree portfast
DeviceC(config-if-GigabitEthernet 0/4)# spanning-tree bpduguard enable
DeviceC(config-if-GigabitEthernet 0/4)# exit
DeviceC(config)# interface gigabitethernet 0/5
DeviceC(config-if-GigabitEthernet 0/5)# switchport
DeviceC(config-if-GigabitEthernet 0/5)# switchport mode access
DeviceC(config-if-GigabitEthernet 0/5)# switchport access vlan 30
DeviceC(config-if-GigabitEthernet 0/5)# spanning-tree autoedge disabled
DeviceC(config-if-GigabitEthernet 0/5)# spanning-tree portfast
DeviceC(config-if-GigabitEthernet 0/5)# spanning-tree bpduguard enable
DeviceC(config-if-GigabitEthernet 0/5)# exit
DeviceC(config)# interface gigabitethernet 0/6
DeviceC(config-if-GigabitEthernet 0/6)# switchport
DeviceC(config-if-GigabitEthernet 0/6)# switchport mode access
DeviceC(config-if-GigabitEthernet 0/6)# switchport access vlan 40
DeviceC(config-if-GigabitEthernet 0/6)# spanning-tree autoedge disabled
DeviceC(config-if-GigabitEthernet 0/6)# spanning-tree portfast
DeviceC(config-if-GigabitEthernet 0/6)# spanning-tree bpduguard enable
DeviceC(config-if-GigabitEthernet 0/6)# exit

# 全局开启生成树功能。
DeviceC(config)# spanning-tree
DeviceC(config)# end
DeviceC# write

五、验证配置结果
(1) 查看各设备上的实例映射关系相同。
# 查看Device A上的实例映射关系。
DeviceA# show spanning-tree mst configuration
Multi spanning tree protocol : Enable
………………………………………

# 查看Device B上的实例映射关系。
DeviceB# show spanning-tree mst configuration
Multi spanning tree protocol : Enable
………………………………………

# 查看Device C上的实例映射关系。
DeviceC# show spanning-tree mst configuration
Multi spanning tree protocol : Enable
………………………………………

(2) 在Device A上查看实例生成树拓扑及端口转发状态。
# 在实例0和1中,Device A(0074.9cee.f49e)为的根。Device A的GigabitEthernet 0/1~0/2为指定端口
(Desg);端口均处于转发状态(FWD)。
DeviceA# show spanning-tree summary
Spanning tree enabled protocol mstp
MST 0 vlans map : 1-9, 11-19, 21-29, 31-39, 41-4094
………………………………………

(3) 在Device B上查看实例生成树拓扑及端口转发状态。
# 在实例0和1中,Device A(0074.9cee.f49e)为的根。Device B的GigabitEthernet 0/1的为根端口(Root),端口路径开销(Cost)为1;Device B的GigabitEthernet 0/2为指定端口(Desg),端口路径开销
为4;端口均处于转发状态(FWD)。
DeviceB# show spanning-tree summary
Spanning tree enabled protocol mstp
MST 0 vlans map : 1-9, 11-19, 21-29, 31-39, 41-4094
………………………………………

# 在实例2中,Device B(00d0.f8ee.8c1e)为的根。Device B的GigabitEthernet 0/1~0/2为指定端口(Desg);端口均处于转发状态(FWD)。

(4) 在Device C上查看实例生成树拓扑及端口转发状态。
# 在实例0和1中,Device A(0074.9cee.f49e)为的根。Device C的GigabitEthernet 0/1的为根端口(Root),端口路径开销(Cost)为1,端口处于转发状态(FWD)。Device C的GigabitEthernet 0/2为替换端口(Altn),端口路径开销为4,端口处于阻塞状态(BLK)。Device C的GigabitEthernet 0/3~0/6为边缘端口(OperEdge),端口均处于转发状态(FWD)。
DeviceC# show spanning-tree summary
Spanning tree enabled protocol mstp
MST 0 vlans map : 1-9, 11-19, 21-29, 31-39, 41-4094
………………………………………

# 在实例2中,Device B(00d0.f8ee.8c1e)为的根。Device C的GigabitEthernet 0/2的为根端口(Root),端口路径开销(Cost)为1,端口处于转发状态(FWD)。Device C的GigabitEthernet 0/1为替换端口(Altn),端口路径开销为4,端口处于阻塞状态(BLK)。Device C的GigabitEthernet 0/3~0/6为边缘端口(OperEdge),端口均处于转发状态(FWD)。

(5) 查看实例1中各设备的根(DesignatedRoot)、根端口(RootPort)和到根路径开销(RootCost)。实例0和2的查看方式类似,过程略。
# Device A为根,到根路径开销为0。
DeviceA# show spanning-tree mst 1
###### MST 1 vlans mapped : 10, 30
BridgeAddr : 0074.9cee.f49
………………………………………

# Device B通过根端口GigabitEthernet 0/2到根(4097.0074.9cee.f49e)的路径开销(RootCost)为1
DeviceB# show spanning-tree mst 1
###### MST 1 vlans mapped : 10, 30
BridgeAddr : 00d0.f8ee.8c1e
………………………………………

 

# Device C通过根端口GigabitEthernet 0/1到根(4097.0074.9cee.f49e)的路径开销(RootCost)为1。
DeviceC# show spanning-tree mst 1
###### MST 1 vlans mapped : 10, 30
BridgeAddr : 0074.9cee.53ca
………………………………………

(6) 查看Device C上联口GigabitEthernet 0/1~0/2的环路保护功能(PortGuardmode:Guard loop)处于开启状
态,如下以GigabitEthernet 0/1为例。
DeviceC# show spanning-tree interface gigabitethernet 0/1
PortAdminPortFast : Disabled
PortOperPortFast : Disabled
………………………………………

六、配置文件
●Device A的配置文件
spanning-tree mst configuration
instance 0 vlan 1-9, 11-19, 21-29, 31-39, 41-4094
instance 1 vlan 10, 30
instance 2 vlan 20, 40
!
spanning-tree mst 0 priority 4096
spanning-tree mst 1 priority 4096
spanning-tree mst 2 priority 8192
spanning-tree
!
sysmac 0074.9cee.f49e
!
vlan range 1,10,20,30,40
!
interface GigabitEthernet 0/1
switchport mode trunk
spanning-tree mst 2 cost 4
!
interface GigabitEthernet 0/2
switchport mode trunk
spanning-tree mst 2 cost 1

● Device B的配置文件
spanning-tree mst configuration
instance 0 vlan 1-9, 11-19, 21-29, 31-39, 41-4094
instance 1 vlan 10, 30
instance 2 vlan 20, 40
!
spanning-tree mst 0 priority 8192
spanning-tree mst 1 priority 8192
spanning-tree mst 2 priority 4096
spanning-tree
!
sysmac 00d0.f8ee.8c1e
!
vlan range 1,10,20,30,40
!
interface GigabitEthernet 0/1
switchport mode trunk
spanning-tree mst 1 cost 4
spanning-tree mst 0 cost 4
!
interface GigabitEthernet 0/2
switchport mode trunk
spanning-tree mst 1 cost 1
spanning-tree mst 0 cost 1

● Device C的配置文件
spanning-tree mst configuration
instance 0 vlan 1-9, 11-19, 21-29, 31-39, 41-4094
instance 1 vlan 10, 30
instance 2 vlan 20, 40
!
spanning-tree
!
sysmac 0074.9cee.53ca
!
vlan range 1,10,20,30,40
!
interface GigabitEthernet 0/1
switchport mode trunk
spanning-tree guard loop
spanning-tree mst 2 cost 4
spanning-tree mst 1 cost 1
spanning-tree mst 0 cost 1
!
interface GigabitEthernet 0/2
switchport mode trunk
spanning-tree guard loop
spanning-tree mst 2 cost 1
spanning-tree mst 1 cost 4
spanning-tree mst 0 cost 4
!
interface GigabitEthernet 0/3
switchport access vlan 10
spanning-tree bpduguard enable
spanning-tree portfast
spanning-tree autoedge disabled
!
interface GigabitEthernet 0/4
switchport access vlan 20
spanning-tree bpduguard enable
spanning-tree portfast
spanning-tree autoedge disabled
!
interface GigabitEthernet 0/5
switchport access vlan 30
spanning-tree bpduguard enable
spanning-tree portfast
spanning-tree autoedge disabled
!
interface GigabitEthernet 0/6
switchport access vlan 40
spanning-tree bpduguard enable
spanning-tree portfast
spanning-tree autoedge disabled

注:常见错误
● 当设备非根时,若未配置低于根且高于接入设备的桥优先级,在生成树计算中,非根核心设备和接入设备将通过比较MAC地址确认上游设备,可能导致计算结果不符合组网需求。
● 当设备非根时,若未配置端口路径开销,因为链路情况的不同,可能导致生成树计算结果不符合组网需求。
●将根保护功能配置在根端口、Master端口或替换端口,可能会错误地将端口阻塞。

 

ICP备案号:晋ICP备18007549号-1
站长微信:15534641008