详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别

依次升级,向下兼容,二层防环
STP 与 RSTP 的区别
1、 端口角色
STP:RP、DP、BP(blocking)
RSTP: RP、DP、BP、AP、EP
2、 端口状态
RSTP 的状态规范把原来的 5 种状态缩减为 3 种 。根据端口是否转发用户流量和学习
MAC 地址来划分:

详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别

文章插图

3、BPDU 不同 ①类型不同:只存在一种 BPDU,RSTP BPDU,相当于 STP 配置 BPDU 。②配置 BPDU 格式的改变,充分利用了 STP 协议报文中的 Flag 字段 。
详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别

文章插图

4、收敛机制
STP 在任何的情况端口从阻塞到转发最少需要30S 。
RSTP 在以下的场景下,端口从阻塞到转发不需要转发延迟:
①根端口快速切换机制 如果网络中一个根端口失效,那么网络中最优的 Alternate 端口将成为根端口,直接进入 Forwarding 状态,无需任何转发延迟 。
②边缘端口机制 边缘端口不参与RSTP 运算,可以由 Disable 直接转到 Forwarding 状态,且不经历时延 。
③Proposal/Agreement 机制 当一个端口被选举成为指定端口之后,在 STP中,该端口至少要等待一个 Forward Delay(Learning)时间才会迁移到 Forwarding 状态 。而在 RSTP 中,此端口会先进入 Discarding 状态,再通过 Proposal/Agreement 机制快速进 入 Forwarding 状态 。这种机制必须在点到点全双工链路上使用 。
新链路连接成功后,P/A 机制协商过程如下:
详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别

文章插图

(1)p0 和 p1 两个端口马上都先成为指定端口,发送 RST BPDU 。
【详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别】(2)S2 的 p1 口收到更优的 RST BPDU,马上意识到自己将成为根端口,而不是指定
端口,停止发送 RST BPDU 。
(3)S1 的 p0 进入 Discarding 状态,于是发送的 RST BPDU 中把 proposa 置 1 。
(4)S2 收到根桥发送来的携带 proposal 的 RST BPDU,开始将自己的所有端口进入 sync变量置位 。
(5)p2 已经阻塞,状态不变 p4 是边缘端口,不参与运算;所以只需要阻塞非边缘指定端口 p3 。
(6)p2 和 p3 都进入 Discarding 状态之后,端口的 synced 变量置位,根端口 p1 的 synced也置位,于是便向 S1 返回 Agreement 位置位的回应 RST BPDU 。该 RST BPDU 携带和刚才根桥发过来的 BPDU 一样的信息,除了 Agreement 位置位之外(Proposal 位清零) 。
(7)当 S1 判断出这是对刚刚发出的 Proposal 的回应,于是端口 p0 马上进入 Forwarding状态 。
以上 P/A 过程可以向下游继续传递 。
事实上对于 STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少一个Forward Delay 所有端口才能进行转发 。而 RSTP 的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现环路 。而使用 P/A 机制加快了上游端口转到Forwarding 状态的速度 。
说明:P/A 机制要求两台交换设备之间链路必须是点对点的全双工模式 。一旦 P/A 协商不成功,指定端口的选择就需要等待两个 Forward Delay,协商过程与 STP 一样 。
5、对次优 BPDU 的处理方式
当一个端口收到上游的指定桥发来的 RST BPDU 报文时,该端口会将自身存储的RST BPDU 与收到的 RST BPDU 进行比较 。如果该端口存储的 RST BPDU 的优先级高于收到的 RST BPDU,那么该端口会直接丢弃收到的 RST BPDU,立即回应自身存储的 RST BPDU 。当上游设备收到下游设备回应的 RST BPDU 后,上游设备会根据收到的 RST BPDU 报文中相应的字段立即更新自己存储的 RST BPDU 。由此,RSTP 处理次等 BPDU 报文不再依赖于任何定时器通过超时解决拓扑收敛,从而加快了拓扑收敛 。STP要等待20S老化时间 。
6、 TC机制
详谈STP、RSTP、MSTP三者不同之处 mstp和stp的区别

文章插图

1. T 点接口发生变更后,下游设备会不间断地向上游设备发送 TCN BPDU 报文 。
2. 上游设备收到下游设备发来的 TCN BPDU 报文后,只有指定端口处理 TCN BPDU 报文 。其它端口也有可能收到 TCN BPDU 报文,但不会处理 。
3. 上游设备会把配置 BPDU 报文中的 Flags 的 TC 和 TCA 位设置 1,然后发送给下游设备,告知下游设备停止发送 TCN BPDU 报文 。
4. 上游设备复制一份 TCN BPDU 报文,向根桥方向发送 。

推荐阅读