STP和RSTP和的区别可以从可以从以下几个方面考虑:
端口角色、端口状态、BPDU类型、新增快速收敛机制、拓扑改变处理方式五个角度。
作用在前面的文章已经介绍过了,不再赘述。
端口状态在STP中将端口状态分别为以下5种:STP和RSTP端口状态角色对接表:
①刚开始A和B都认为自己是根桥,1,2都是指定端口向外发送P置位的BPDU。
②B收到A的BPDU发现比自己的更优,于是将自己的2端口置位RP,并停止发送P置位的BPDU
③接着B进行同步置位,将除收到BPDU的所有非EP口全部阻塞,并向A发送agreement置位的BPDU,同时B将2口forwarding。
④A收到agreement置位的BPDU后,立即将1口forwarding。
edge port被设置为边缘端口,不参与STP的计算,可以直接从discarding状态转变到forwarding状态,不需要像STP一样等待2倍的forward delay,端口forwarding不会触发TCN置位的BPDU且收到TC置位的BPDU不会清除从该端口学习到的Mac表项。拓扑改变处理方式不同在STP中拓扑发生改变时,则会朝着根桥发送TCN置位的BPDU,上游设备收到后则回送TCA置位的BPDU,并复制一份TCN置位的BPDU发送继续朝着根桥的发送,直到根桥收到后向下游设备回复确认收到报文后,还会产生TC置位的BPDU向全网泛洪,交换机收到后会清除除收到该BPDU的所有非边缘端口的Mac表项。(TC置位的BPDU会持续发送35s,将Mac表项老化时间置位15)在RSTP拓扑发生改变时,直接由发送拓扑变化的交换机发送TC置位的RST BPDU,向全网泛洪。STP和RSTP拓扑发生变化的依据都是端口转到变为forwarding。追问思考:
在RSTP中使用P/A机制都是秒级收敛吗?