前言 IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning Tree Protocol),该协议基于STP协议,对原有的STP协议进行了更加细致的修改和补充。 STP的不足之处 STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。STP的不足之处如下: 1) 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。 2) 从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。 3) 根端口和指定端口可以都处于Listening状态,也可能都处于Forwarding状态。 4) STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。 5) STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。
RSTP对STP的改进 根据STP的不足,RSTP删除了3种端口状态,新增加了2种端口角色,并且把端口属性充分的按照状态和角色解耦;此外,RSTP还增加了相应的一些增强特性和保护措施,实现网络的稳定和快速收敛。
端口状态的重新划分 RSTP的状态规范把原来的5种状态缩减为3种。根据端口是否转发用户流量和学习MAC地址来划分: • 如果不转发用户流量也不学习MAC地址,那么端口状态就是Discarding状态。 • 如果不转发用户流量但是学习MAC地址,那么端口状态就是Learning状态。 • 如果既转发用户流量又学习MAC地址,那么端口状态就是Forwarding状态。
STP与RSTP端口状态角色对应表
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了端口角色。在配置BPDU报文的格式上,除了保证和STP格式基本一致之外,RSTP作了一些小变化: • Type字段,配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。 • Flags字段,使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU,如下图所示。 RSTP Flag字段格式
|