首先简单比较802.1D和802.1W在PDU上的一些结构和区别。
生成树协议一共有两种BPDU:
一、Configuration BPDU:
l 在802.1D里,配置BPDU在生成树初始化时由各Bridge自己生成,当接收到更优(superior)BPDU后,改用更优的BPDU。当STP域收敛时,全网的配置BPDU都是Root Bridge的配置BPDU。当然,每台Bridge都有可能修改BPDU的内容,例如TCA标记;
l 在802.1W里,该BPDU改为全部由Bridge自己生成,只是在Root ID里填上已知Root Bridge的Bridge ID。配置BPDU由本机产生这点很重要,这直接使得RSTP在拓扑变更时无需等待Root Bridge的配置BPDU,即可刷新MAC表。
二、TCN BPDU
l 在802.1D中,TCN BPDU由获知网络拓扑发生变化的Bridge生成,并从根端口(以下简称R-Port)往Root Bridge方向发送。接收到TCN BPDU的Bridge有两个动作:1、继续从R-Port转发,并期待从R-Port接收到TCA置位的配置BPDU;另一方面,在下一次配置BPDU发送时,向该指定端口(以下简称D-Port)发送TCA置位的配置BPDU进行确认。Bridge将一直生成并发送TCN BPDU,直到收到TCA置位的配置BPDU为止。该行为一直延伸到Root Bridge接收到TCN BPDU为止。然后Root Bridge发送新的配置BPDU,使整个STP域的Bridge老化其MAC表,准备学习新的拓扑。由于STP域内所有Bridge的收敛行为均由Root Bridge的配置BPDU驱动,可称为同步收敛;
l 在802.1W中,不存在TCN BPDU,因为RSTP域内状态的同步无需由Root Bridge发起。Topology Change(TC)的通告发生在毗邻Bridge之间,当且仅当某D-Port状态从Discarding到Forwarding时需要使用TC置位的配置BPDU。该BPDU仅从该D-Port转发出去,且一个新增的位(Proposal Bit)将被置位。这将引发一系列同步操作,也就是RSTP新增的一个协商机制:P/A机制。通过P/A机制,STP域内收敛行为发生在相邻的Bridge之间,各自完成自己的