Proposal/Agreement机制 Proposal/Agreement机制简称P/A机制,其目的是使一个指定端口尽快进入Forwarding状态。P/A机制分为普通P/A机制和增强P/A机制两种。 普通P/A机制 如图5-14所示,根桥DeviceA和DeviceB之间新添加了一条链路。在当前状态下,DeviceB的另外几个端口p2是Alternate端口,p3是指定端口且处于Forwarding状态,p4是边缘端口。 图5-14 普通P/A机制示意图

新链路连接成功后,P/A机制协商过程如下:- p0和p1两个端口马上都先成为指定端口,发送RST BPDU。
- DeviceB的p1口收到更优的RST BPDU,马上意识到自己将成为根端口,而不是指定端口,停止发送RST BPDU。
- DeviceA的p0进入Discarding状态,于是发送的RST BPDU中把Proposal和Agreement置1。
- DeviceB收到根桥发送来的携带Proposal的RST BPDU,开始将自己的所有端口进入sync变量置位。
- p2已经阻塞,状态不变;p4是边缘端口,不参与运算;所以只需要阻塞非边缘指定端口p3。
- 各端口的synced变量置位后,p2、p3进入Discarding状态,p1进入Forwarding状态并向DeviceA返回Agreement位置位的回应RST BPDU。
- 当DeviceA判断出这是对刚刚发出的Proposal的回应,于是端口p0马上进入Forwarding状态。
下游设备继续执行P/A协商过程。 事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定,也就是说必须要等待至少一个Forward Delay所有端口才能进行转发。而RSTP的主要目的就是消除这个瓶颈,通过阻塞自己的非根端口来保证不会出现环路。而使用P/A机制加快了上游端口转到Forwarding状态的速度。  P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。一旦P/A协商不成功,指定端口的选择就需要等待两个Forward Delay,协商过程与STP一样。
|