一、原理
- 为了使指定端口快速进入转发状态的机制。
二、实现
为了加快指定端口和根端口互联链路上的两端口快速进入转发状态(避免30秒的等待)而采取的机制。
P/A协商要求在点对点全双工链路,只出现在上游DP,下游RP的情况。
当下游是根端口时,过程:
- proposing(提议请求):当一个端口处于DIscarding状态或Learning状态时,proposing变量置位,并向下游桥设备传递Flags字段proposal标志位置1的 RST BPDU,请求快速切换到Forwarding状态。
- proposed(提议采纳):当对端的根端口收到以上Proposal标志位置1的RST BPDU时,proposed变量置位。该变量指示本网段上的指定端口希望尽快进入Forwarding状态。
- sync(同步请求):当根端口的proposed 变量置位后会依次为本桥上的其他端口使sync变量置位,使所有非边缘端口都进入Discarding状态,准备重新同步。
- synced(同步完成):当端口进入到Discarding状态后会将自己的synced变量置位,包括本桥上的其他所有Altermate端口、Backup 端口和边缘端口,实施同步操作。此时,根端口监视其他端口的synced变量置位情况,当所有其他端口的synced变量全被置位,则根端口最后也会将自己的synced变量置位,表示本桥上已正式完成同步操作;然后,该根端口转变为forwarding状态,向上游设备传回Agreement标志位置1的RST BPDU(表示此BPDU为Agreement RST BPDU报文)。
- agreed(提议确认):当原来想要进入转发状态的上游设备指定端口收到对端根端口发来的一一个Agreement RST BPDU时,则此指定端口的agreed变量被置位。Agreed变量一旦被置位,则该指定端口马上转入Forwarding状态。
当下游不是根端口时,过程:
- 如果下游设备发现这个接口收到的BPDU没其他某个接口(如现存的RP接口)收到的BPDU优先则下游设备会认为这个接口角色应为AP接口而不是RP。则该(AP)接口就不会去回应上游发送A置位BPDU而只发送普通BPDU。这样上游会一直每两秒发一个P置位BPDU,下游一直不响应A置位BPDU。直到等待1个forwarding delay后该上游DP才会由discarding变为learning状态,再等一个forwarding delay后上游DP才会变为forwarding状态。
三、实例
参考链接: