P/A机制详解

P/A触发条件:
  1. 只能在点到点的全双工链路上实现

  2. DP接口处于discarding状态时会触发P/A协商

  3. DP端口对端为RP端口时,P/A协商才会成功;对端为AP端口时,P/A协商会失败

P/A协商的目的:

        让DP端口所在的链路快速切换到转发状态

同步置位:

        RP所在交换机为了配合P/A协商,将制造一个没有临时环路风险的环境:将自己所有端口进入同步状态,同步后下游端口(除边缘端口)均进入Discarding状态,上游根端口进入Forwarding状态并返回Agreement位置位的回应RST BPDU。

场景分析:

        如上图,SW1-SW3-SW2路径为原本的STP生成树路径,图中简单描述了交换机各端口配置BPDU中相关字段的值

        在SW1-SW2之间新增一条链路,端口初始化后,该链路相连的两个端口都认为自己是DP,发送自己的配置BPDU。

        SW2为什么会认为端口角色是DP呢?因为端口刚初始化未收到来自根桥的配置BPDU,所以认为端口是DP并发送SW2依据根端口计算生成的配置BPDU。

        因为SW2运行的是RSTP且DP端口的状态处于Discarding满足P/A协商条件,所以RST BPDU的P bit位置1,A bit位置0,端口角色为DP,状态为Discarding。SW1同理。

        经过报文交互后,新增链路上根桥的RST BPDU更优。所以SW1的DP丢弃SW2的RST BPDU;SW2的2口接收SW1的RST BPDU将原本的RST BPDU替换掉

        此时SW2有两份RID相同的RST BPDU,会进行RP的重新选举。SW2计算端口到根桥的根路径开销:SW2的2口的根路径开销:2000;SW2的1口的根路径开销2000+2000=4000。所以2口成为RP,1口成为DP。注:此处根路径开销是SW2计算自身端口到达根桥的路径开销,并非是使用配置 BPDU中的RPC进行比较

        SW2的2口成为RP后,会进行同步置位:AP、EP不改变端口状态,DP进入Discarding状态。完成同步置位后,RP进入Forwarding状态并向SW1返回Agreement置位的回应RST BPDU

        SW1收到的Agreement位置位的RST BPDU是对刚刚自己发出的Proposal的回应,于是指定端口马上进入Forwarding状态。至此,此段新增链路的P/A完成。

        SW2交换机开始查询下游接口(除RP端口外的其他接口),若有端口是DP且处于Discard ing状态,会发起P/A机制。SW2的1口是DP且处于Discarding状态,发起P/A机制。SW3同理。

        SW3经历过程:与SW2的配置BPDU比较--自身配置BPDU次优--替换--重新选举RP--确认RP--为端口计算生成配置BPDU--生成的BPDU比端口接收的BPDU优先级低--端口成为AP

        DP发起P/A协商时,对端为AP,P/A协商失败。SW2与SW3的链路P/A协商完成。

        SW2同理处理剩余DP端口,直到没有DP端口处于Discarding状态,完成RSTP生成树的快速收敛。

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值