前言
STP因其计时器的原因,导致它收敛的速度特别慢,而且端口的状态也比较多。
- RSTP通过引入新的端口角色,其中替代接口的引入使得交换机在根接口失效时,能够快速获得新的的路径到达根桥,避免了大量的计算和长时间的收敛。
- RSTP引入了P/A的机制,变被动为主动,使得指定接口被选举后能快速进入转发状态,而不用像STP那样经历转发延迟。
- RSTP还引入了边缘接口的概念,在交换机连接接口初始化之后能立即进入到转发状态,提高工作效率。
接口角色
RSTP在STP的基础上增加了替代接口(alternate)和备份(backup)接口。RSTP有四种接口角色:根接口、指定 接口、替代接口、备份接口。
替代接口
替代接口是根接口的备份接口,它是由于收到了其他设备发送的BPDU从而被阻塞的接口,如果根接口出现故障,替代接口可以立马成为新的根接口,这就避免了大量的计算,加快了网络收敛的过程。
非根桥可以有替代接口,也可以没有替代接口,也可以有多个
备份接口
备份接口是指收到了自已发送的BPDU从而阻塞的接口,备份接口处于丢弃状态,比如自环状态下,备份接口可以看做是指定接口的备份。
接口状态
STP的接口状态 | RSTP的接口状态 |
---|---|
禁用disabled | 丢弃discarding |
阻塞bloking | 丢弃discarding |
侦听listening | 丢弃discarding |
学习learning | 学习learning |
转发forwarding | 转发forwarding |
RSTP当中,处于丢弃状态的接口即不会转发业务数据帧,也不会学习MAC地址
BPDU
8个标志位
- TCA(1bit)
- aggreement(1)同意,用于P/A机制
- forwarding(1)表示发送该RST BPDU
- learning(1)
- port rule(2)用于标识发送该RST BPDU发送接口的接口角色,01表示根接口,10是替代接口,11备份接口
- proposal(1)提议,用于P/A机制
- TC(1)
RSTP的配置BPDU被称为RST BPDU,它的格式与STP的配置BPDU大体相同,RSTP当中协议版本ID和BPDU类似的值都为0x02,最重要的变化体现在标志位当中,共有8比特,但STP仅用了最高和最低位,而RSTP则八位全都用了,最高位和最低位的定义和作用不变。
STP与RSTP最大不不同便是,RSTP在网络稳定后,无论是根桥还是非根桥都周期性的发送配置BPDU,也就是说对于非根桥,它们不用在根接口上收到BPDU之后,才被触发而产生自已的配置BPDU,而是自发地,周期性的发送BPDU。
运行了STP的接口都会在每个接口保存一份BPDU,对于根接口及非指定接口,交换机保存提来自上游交接机的BPDU,而对于指定接口而言,交换机保存的是自已根据根接口的BPDU所计算出来的BPDU。
如果收到一份BPDU,而且该接口当前所保存的BPDU比接收的BPDU更优,后者对于前者而言就是次优BPDU,在STP当中,当指定接口收到次优BPDU时,它将立即发送自已的BPDU,对于非指定接口而言,当共收到次优BPDU时,它将等待接口所保存的BPDU老化后,再重新计算新的BPDU,并将新的BPDU发送出去,这将导致非指定接口需要最长约20s的时间才能启动状态迁移,在RSTP当中,无论接口角色如何,只要接口收到次优BPDU,便立即发送自已的BPDU,这个变得使得RSTP收敛更快。