STP、RSTP、MSTP的配置
本篇介绍STP、RSTP、MSTP的配置和常用的管理命令。
STP/RSTP/MSTP简介
以太网中为了进行链路备份,提高网络可靠性,通常会使用冗余链路,但是这也带来了网络环路的问题。网络环路会引发广播风暴和MAC地址表振荡等问题,导致用户通信质量差,甚至通信中断。为了解决环路问题,IEEE先后提出了生成树协议STP、快速生成树协议RSTP、多生成树协议MSTP。
RSTP在STP基础上进行了改进,可实现网络拓扑的快速收敛。
STP和RSTP不能按VLAN阻塞冗余链路,局域网内所有的VLAN共享一棵生成树,所有VLAN的报文都沿着一棵生成树进行转发,因此无法在VLAN间实现流量的负载分担;同时,链路被阻塞后将不承载任何流量,造成带宽浪费,还有可能造成部分VLAN的报文无法转发。MSTP弥补了STP和RSTP的缺陷,兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个路径,在数据转发过程中实现VLAN数据的负载均衡。
生成树协议的比较:
基本概念
BPDU报文:
生成树拓扑计算是基于设备之间交互BPDU报文实现的,BPDU报文中携带了生成树拓扑计算需要的信息,BPDU报文分为几类。
根桥、根端口和指定端口的选举原则:
BPDU报文中携带的Root Identifier、Root Path Cost、Bridge Identifier、Port Identifier字段构成了消息优先级向量{ 根桥ID,根路径开销,发送设备BID,发送端口PID }。设备通过交互并比较消息优先级向量中各字段的值确定根桥、根端口、指定端口。
桥ID由桥优先级(Bridge Priority)与桥MAC地址构成,高16位是桥优先级,其余的低48位是MAC地址。
根路径开销RPC(Root Path Cost)就是某端口到根桥所经过的各个桥上的各端口路径开销的累加值。
端口ID由两部分构成的,高4位是端口优先级,低12位是端口号。
根桥选举
最小BID原则:BID最小的设备被选举为根桥。
根端口选举
最小路径开销原则:非根桥设备上,根路径开销之和最小的端口被选举为根端口。
指定端口选举
选举原则:根路径开销相同的情况下,桥ID小的端口被选举为指定端口,阻塞桥ID值较大的设备端口。
阻塞端口:
即不是根端口也不是指定端口的端口一般被设置成阻塞端口。
实践
拓扑图:
STP配置:
SWA、SWB、SWC配置:
[H3C]sysname SWA
[SWA]stp mode stp
[H3C]sysname SWB
[SWB]stp mode stp
[H3C]sysname SWC
[SWC]stp mode stp
==========================================
1、查看STP的重要信息及参数
[SWA]display stp
-------[CIST Global Info][Mode STP]------- #生成树模式是STP
Bridge ID : 32768.2edf-db52-0100 #交换机的桥ID(BID)
Bridge times : Hello 2s MaxAge 20s FwdDelay 15s MaxHops 20 #交换机的Hello、老化、转发延迟等时间,MST域的最大跳数
Root ID/ERPC : 32768.2edf-db52-0100, 0 #网络中根桥的ID、外部路径开销(即本设备到该桥的路径开销)
RegRoot ID/IRPC : 32768.2edf-db52-0100, 0 #网络中本桥的ID、内部路径开销(即本设备到该桥的路径开销)
RootPort ID : 0.0 #根端口的端口ID。“0.0”表示本设备为根设备,没有根端口,根端口是在非根桥设备上
BPDU-Protection : Disabled #BPDU保护功能的全局状态
Bridge Config-
Digest-Snooping : Disabled #摘要侦听功能的全局状态
TC or TCN received : 5 #收到的TC及TCN报文数
Time since last TC : 0 days 0h:9m:57s #最近一次拓扑变化后目前维持的时间
2、查看各交换机的端口角色
[SWA]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
[SWB]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ROOT FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
[SWC]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 ROOT FORWARDING NONE
0 GigabitEthernet1/0/2 ALTE DISCARDING NONE #该端口被阻塞
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
#ROOT-根端口、DESI-指定端口、ALTE -阻塞端口
3、设置SWA、SWC的桥优先级分别为0、4096,SWB保持默认。
[SWA]stp priority 0
[SWC]stp priority 4096
此时SWB的GEthernet1/0/3端口被阻塞
[SWB]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ROOT FORWARDING NONE
0 GigabitEthernet1/0/3 ALTE DISCARDING NONE #该端口被阻塞
[SWC]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 ROOT FORWARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
4、修改SWB与SWA直连的GEthernet1/0/2链路开销值为500,使得GEthernet1/0/3成为根端口。
[SWB]interface GigabitEthernet 1/0/2
[SWB-GigabitEthernet1/0/2]stp cost 500
[SWB-GigabitEthernet1/0/2]quit
[SWB]
[SWB]display stp interface GigabitEthernet 1/0/2
----[CIST][Port3(GigabitEthernet1/0/2)][DISCARDING]----
Port protocol : Enabled
Port role : Alternate Port (Boundary)
Port ID : 128.3
Port cost(Legacy) : Config=500, Active=500 #端口的开销值
Desg.bridge/port : 0.2edf-db52-0100, 128.2
Port edged : Config=disabled, Active=disabled
此时SWB的GEthernet1/0/3端口为根端口(也可以修改协商速率,不同的速率有默认的开销值,不建议此方式)
[SWB]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ALTE DISCARDING NONE
0 GigabitEthernet1/0/3 ROOT FORWARDING NONE
5、修改端口的优先级
[SWB]interface GigabitEthernet 1/0/2
[SWB-GigabitEthernet1/0/2]stp port priority 0
[SWB-GigabitEthernet1/0/2]quit
[SWB]
[SWB]display stp interface GigabitEthernet 1/0/2
----[CIST][Port3(GigabitEthernet1/0/2)][DISCARDING]----
Port protocol : Enabled
Port role : Alternate Port (Boundary)
Port ID : 0.3 #端口优先级为0,3是端口号
Port cost(Legacy) : Config=500, Active=500
6、配置某些端口为边缘端口,该端口状态不会引起拓扑变化,一般防止终端的开关机影响网络拓扑,以SWC的GEthernet 1/0/3为例
[SWC]interface GigabitEthernet 1/0/3
[SWC-GigabitEthernet1/0/3]stp edged-port
[SWC-GigabitEthernet1/0/3]quit
[SWC]
[SWC]display stp interface GigabitEthernet 1/0/3
----[CIST][Port4(GigabitEthernet1/0/3)][FORWARDING]----
Port protocol : Enabled
Port role : Designated Port (Boundary)
Port ID : 128.4
Port cost(Legacy) : Config=auto, Active=20
Desg.bridge/port : 4096.2edf-e77b-0300, 128.4
Port edged : Config=enabled, Active=enabled #端口是否为边缘端口:Config:表示配置值,Active:表示实际值
Point-to-Point : Config=auto, Active=true
RSTP配置:
SWA、SWB、SWC配置:
[H3C]sysname SWA
[SWA]stp mode rstp
[H3C]sysname SWB
[SWB]stp mode rstp
[H3C]sysname SWC
[SWC]stp mode rstp
RSTP较STP收敛较快,端口状态由5种变成3种,与MSTP一样。
MSTP配置:
传统的STP/RSTP采用的是共享生成树。多生成树协议可以实现生成树的自定义,每一个实例可以自由的映射一个或者多个VLAN关系。
拓扑图
这里配置两个实例,实例100映射VLAN10,实例200映射VLAN20和VLAN30,通过优化配置使得实例100阻塞SWB的GEthernet 1/0/2,使得实例200阻塞SWB的GEthernet 1/0/3。
1、基本VLAN配置(略)
创建VLAN、允许接口的VLAN通过
2、SWA配置:
[SWA]stp region-configuration
[SWA-mst-region]region-name h3c
[SWA-mst-region]revision-level 1
[SWA-mst-region]instance 100 vlan 10
[SWA-mst-region]instance 200 vlan 20 30
[SWA-mst-region]active region-configuration
[SWA-mst-region]quit
SWB配置:
[SWB]stp region-configuration
[SWB-mst-region]region-name h3c
[SWB-mst-region]revision-level 1
[SWB-mst-region]instance 100 vlan 10
[SWB-mst-region]instance 200 vlan 20 30
[SWB-mst-region]active region-configuration
[SWB-mst-region]quit
SWC配置:
[SWC]stp region-configuration
[SWC-mst-region]region-name h3c
[SWC-mst-region]revision-level 1
[SWC-mst-region]instance 100 vlan 10
[SWC-mst-region]instance 200 vlan 20 30
[SWC-mst-region]active region-configuration
[SWC-mst-region]quit
完成以上配置后查看结果信息
[SWA]display stp root
MST ID Root Bridge ID ExtPathCost IntPathCost Root Port
0 32768.2edf-db52-0100 0 0
100 32768.2edf-db52-0100 0 0
200 32768.2edf-db52-0100 0 0
[SWA]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
100 GigabitEthernet1/0/1 DESI FORWARDING NONE
100 GigabitEthernet1/0/2 DESI FORWARDING NONE
200 GigabitEthernet1/0/1 DESI FORWARDING NONE
200 GigabitEthernet1/0/2 DESI FORWARDING NONE
[SWB]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ROOT FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
100 GigabitEthernet1/0/1 DESI FORWARDING NONE
100 GigabitEthernet1/0/2 ROOT FORWARDING NONE
100 GigabitEthernet1/0/3 DESI FORWARDING NONE
200 GigabitEthernet1/0/2 ROOT FORWARDING NONE
200 GigabitEthernet1/0/3 DESI FORWARDING NONE
[SWC]display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 ROOT FORWARDING NONE
0 GigabitEthernet1/0/2 ALTE DISCARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
100 GigabitEthernet1/0/1 ROOT FORWARDING NONE
100 GigabitEthernet1/0/2 ALTE DISCARDING NONE
100 GigabitEthernet1/0/3 DESI FORWARDING NONE
200 GigabitEthernet1/0/1 ROOT FORWARDING NONE
200 GigabitEthernet1/0/2 ALTE DISCARDING NONE
通过配置实例100在SWB的GEthernet 1/0/2接口的1000开销值来阻塞该端口。
通过配置SWC上实例200为备份根桥,来阻塞SWB的GEthernet 1/0/3在实例200中的阻塞。
[SWB]interface GigabitEthernet 1/0/2
[SWB-GigabitEthernet1/0/2]stp instance 100 cost 1000
[SWB-GigabitEthernet1/0/2]quit
[SWC]stp instance 200 root secondary
查看SWB实现的结果:
[SWB]dis stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ROOT FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
100 GigabitEthernet1/0/1 DESI FORWARDING NONE
100 GigabitEthernet1/0/2 ALTE DISCARDING NONE
100 GigabitEthernet1/0/3 ROOT FORWARDING NONE
200 GigabitEthernet1/0/2 ROOT FORWARDING NONE
200 GigabitEthernet1/0/3 ALTE DISCARDING NONE