快速生成树协议 RSTP
一、概述
STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量,如果STP网络的拓扑结构频繁变化,网络会频繁失去连通性,从而导致用户通信频繁中断。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。
二、STP的问题
收敛时间:30-50秒
三、RSTP端口角色
RSTP与STP比较,除了R、D端口以外,还有Backup、Altemate端口。
(1)Backup端口:作为指定端口的备份端口,提供了另外一条从根桥到非根桥的备份链路。
(2)Altemate端口:作为根端口的备份端口,提供了从指定桥到根桥的备份链路。
(3)Edge Port端口:不接收也不处理BPDU,不参与RSTP运算,通常用户连接PC或是服务器。
四、RSTP与STP的端口状态
STP协议端口的Disabled、Blocking、Listening三种状态,在RSTP协议中,端口的状态都是Discarding。
五、RSTP BPDU
STP的配置BPDU中Flag字段中间6位在RSTP中得到了应用,在STP协议中的BPDU只使用了TCA、TC两个bit位,而RSTP中所有的位都得到了应用,Port Role两个bit位,代表了端口的角色,分别表示:00 未定义,01 A备份端口/B备份端口,10 根端口,11 指定端口。
六、RSTP BPDU的传递
(1)STP 中非根桥只有收到上游设备 指的是根(Root)桥 发送过来的配置 BPDU后,才触发发送配置BPDU。
(2)RSTP 中非根桥设备无论是否接收到 桥桥发磅的配置 BPDU, 都会按照 Hello Timer 规定的时间间隔发送配置 BPDU包。
七、RSTP的收敛过程
每一台交换机启动RSTP后,都认为自己就是 “根桥”,并且发送RSTP BPDU,所有的端口状态都处于Discarding状态。
(1)当交换机A 和 交换机B 都发送 Proposal 置位的RSTP BPDU
(2)SWA 收到SWB(BID 优先级低)的RSTP BPDU,就会忽略,SWB 发送的 RSTP BPDU数据包
(3)SWB 收到了更优的 RSTP BPDU,交换机SWB将会停止发送 RSTP BPDU,并开始执行同步,并设置下游指定端口的状态为Discarding,除了A端口和边缘端口外。
(4)交换机SWA会向交换机SWB 发送一个 Proposal 置位为1的 RSTP BPDU。
(5)阻塞所有非边源端口之后,SWB将会发送一个 Agreement 置位为1的 RSTP BPDU,并设置与SWA 连接的端口为根端口,状态为Forwarding 状态。
, (6)当交换机SWA 收到 Agreement 置位的 RSTP BPDU的后,指定端口立即从Discarding状态 变为 Forwarding 状态。
注:交换机SWA 和SWB 的端口状态的快速变化,取决于 P/A ( Proposal/ Agreement)机制的使用。
八、链路故障
当链路故障或根桥失效都会导致交换机收不到链路上交换机发送的RST BPDU,在链路故障发生之后,交换机将会使用P/A机制进行重新协商。
在STP协议中,当出现链路故障或根桥失效导致交换机收不到BPDU时,交换机需等待Max Age时间后才能确认出故障,而在使用RSTP协议中,如果交换机的端口在连续3次Hello Timer 规定的时间内6秒没有收到链路上交换机发送的RST BPDU,便会确认本端口与对端端口的通信失效,从而初始化P/A 进程去重新调整端口的角色。
九、RSTP拓扑变化处理
其他交换设备接收到RST BPDU后,清空所有其他端口学习到的MAC 地址,除了收到RST BPDU的端口。
十、STP兼容
运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU,会把该端口转换到STP工作模式。
十一、配置边缘端口
边缘端口可以由Disabled直接转到Forwarding状态,不经历时延。
配置命令 在端口下 stp edged-port
十二、根保护
根保护功能确保了根桥的指定端口不会因为一些网络问题而改变端口的角色。
配置命令 在端口下 stp root-protection
十三、BPDU保护
配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭,并通知网管系统,被关闭的边缘端口只能通过管理员手动恢复。
配置命令 stp bpdu-protection
十四、环路保护
根端口如果长时间收不到来自链路上的BPDU,则进入Discarding状态,避免在网络中形成环路。
配置命令 在端口下 stp loop-protection
十五、相关命令
stp mode rstp //设备STP的工作模式
dis stp //查看STP的工作状态