改进
端口细分
在STP基础上将NDP细分为AP替换端口,BP备份端口,Edge port边缘端口
AP作为RP端口备份
BP作为DP端口备份
Edge port用于连接终端设备,接入后无需等待直接进入转发状态
状态机缩减
为Discarding,Learning,Forwarding
拓扑稳定后
RSTP非根网桥能周期发送配置报文
超时时间
变为3倍HELLO time 6s
处理次优BPDU报文
不再依赖于任何定时器(即不再依赖于BPDU老化)解决拓扑收敛,同时RSTP的任何端口角色都会处理次优BPDU,从而加快了拓扑收敛。
P/A协商
当一个端口被选举成为指定端口之后,会先进入Discarding状态,再通过P/A机制快速进入Forwarding状态
1.SW1和SW2间新增加了一条链路
2.两边互发RST BPDU
3. 此时SW2意识到自己不是DP停止发送,SW1的指定端口进入Discarding状态,发送P置位为1的RST BPSU
4.下游开始将自己的所有端口(边缘端口除外)进入同步状态,当上游端口进入Forwarding,SW2回复A置位为1的RST BPDU
5.SW1收到的A位置位的RST BPDU是对刚刚自己发出的P的回应,于是指定端口马上进入Forwarding状态
6.重复此过程
拓扑变更
判断标准:一个非边缘端口迁移到Forwarding状态
一旦发生本交换设备的所有非边缘指定端口和根端口启动一个TC While Timer,该计时器值是Hello Time的两倍(4s)。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。
同时,由非边缘指定端口和根端口向外发送RST BPDU,其中TC置1。一旦TC While Timer超时,则停止发送RST BPDU。
其他交换设备接收到RST BPDU后,清空所有端口(除了收到RST BPDU的端口和边缘端口)学习到MAC地址,然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。
保护机制
BPDU保护
如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。
系统视图下stp bpdu-protection
根保护
启用根保护功能的指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文。经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。
接口视图下stp root-protection
环路保护
在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在Discarding状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。
接口视图下stp loop-protection
防TC-BPDU保护
设置处理阈值,对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的。
系统视图下stp tc-protection
通过以下指令可将时间间隔改为10s
stp tc-protection interval interval-value 10
配置设备在设定时间内处理拓扑变化报文的最大数量为3
stp tc-protection threshold 3
配置完记得commit
缺点
无法负载分担,某些设备通信时存在次优路径,对链路使用率不高