STP和RSTP有什麼區別?

STP和RSTP和的区别可以从可以从以下几个方面考虑:

端口角色、端口状态、BPDU类型、新增快速收敛机制、拓扑改变处理方式五个角度。

  • 端口角色
    • 在STP中只定义了3种端口角色:DP、RP、AP
    • 在RSTP中定义了了4种端口角色:DP、RP、AP、BP(EP是特殊的DP)

作用在前面的文章已经介绍过了,不再赘述。

  • 端口状态
    • 在STP中将端口状态分别为以下5种:


STP和RSTP有什么区别?

    • 在RSTP中从是否学习MAC和是否转发数据的角度将端口状态分为了以下3种:


STP和RSTP有什么区别?

STP和RSTP端口状态角色对接表:


STP和RSTP有什么区别?

  • BPDU类型不同
    • 在STP有两种BPDU类型,配置BPUD和TCN BPDU,报文结构简单。
      • TCN BPDU用来表明网络拓扑发生了改变。
      • 配置BPDU有分为TCA置位的配置BPDU和TC置位的BPDU
        • TAC置位的BPDU是用来,在收到TCN BPDU后上游设备向下游设备告知自己已经知道了拓扑改变,不需要再向自己发送拓扑改变通知了。
        • TC置位的BPDU是用来,根桥在收到TCN BPDU后,向其他设备发送TC BPDU来清除MAC表项的作用。
STP和RSTP有什么区别?

    • 在RSTP中只有一种BPDU类型,RST BPDU。
      • RSTP充分利用了flag字段,通过不用bit位的置位情况来表达此BPDU的作用。
      • <1>第四、五位组合的结果:
        • 00 表示发送 bpdu 的端口的端口状态为 discarding
        • 01 表示发送 bpdu 的端口的端口状态为 learning
        • 11 表示发送 bpdu 的端口的端口状态为 forwarding
      • <2>第二、三位组合的结果:
        • 00 表示端口角色为 unknown
        • 01 表示端口角色为 ap/bp
        • 10 表示端口角色为 rp
        • 11 表示端口角色为 dp
      • 最高位和最低位和STP中的作用一样,第一位和第六位是作用于P/A机制。
  • 新增快速收敛机制
    • 在RSTP中新增了两种快速机制,加快了网络的收敛速度。
      • P/A机制
        • 在STP中端口状态从discarding到forwarding需要经历30s才能到转发状态,而在RSTP中秒级即可完成收敛,P/A机制收敛过程如下:


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机制都是秒级收敛吗?


分享到:


相關文章: