如图所示根桥S1和S2之间新添加了一条链路,在当前状态下S2的另外几个端口p2是Alternate端口,p3是指定端口且处于Forwarding状态,p4是边缘端口。新链路连接成功后,P/A机制协商过程如下。
1.P0和P1两个端口马上都先成为指定端口发送RS TBPDU。
2.S2的P1口收到更优的RST BPDU马上意识到自己将成为根端口而不是指定端口停止发送RST BPDU。
3、S1的P0进入Discarding状态于是发送的RST BPDU中把proposal置1。
4.S2收到根桥发送来的携带proposal的RST BPDU,开始将自己的所有端口进入sync变量置位。p2已经阻塞状态不变是边缘端口不参与运算所以只需要阻塞非边缘指定端口p3。
5.p2、p3、都进入Discarding状态之后,各端口的synced变量置位,根端口PI的synced也置位于是S1 unblock PI端口,并向S1 返回Agreement位置位的回应RSTBPDU。该RST BPDU携带和刚才根桥发过来的BPDU一样的信息除了Agreement置位之外(Proposal位清零)。当S1判断出这是对刚刚发出的Proposal的回应,于是端口P0马上进入Forwarding状态。以上P/A过程可以向下游继续传递。
事实上对于STP指定端口的选择可以很快完成主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定也就是说必须要等待至少一个Forward Delay所有端口才能进行转发,而RSTP的主要目的就是消除这个瓶颈通过阻塞自己的非根端口来保证不会出现环路。而使用P/A机制加快了上游端口转到F