P/A 协商是什么
RSTP(IEEE 802.1w)用 Proposal/Agreement 逐跳握手把端口直接从阻塞推进到转发:指定端口发送 Proposal 置位的 BPDU,下游设备把非边缘端口同步为 Discarding 后回一个 Agreement,上游端口随即转发,跳过传统 STP 的监听与学习计时器。前提是该跳链路为点对点全双工,且协商在每一跳独立完成。
基本信息
| 标准 | IEEE 802.1w(RSTP),MSTP 沿用该机制 |
|---|---|
| 作用 | 端口快速收敛,跳过 Forward Delay 计时 |
| 前提条件 | 点对点全双工链路,对端同样运行兼容模式 |
| 报文特征 | BPDU 中 Proposal 位置位或 Agreement 位置位 |
| 失败表现 | 只见 Proposal 不见 Agreement,端口退回计时器收敛 |
典型使用场景
- 接入交换机新上线,要求端口在秒级进入转发而不是等计时器
- 抓包确认快速协商真实发生,而不是靠等待收敛
- 排查收敛变慢:链路半双工或对端仍是传统 STP 设备
- 区分边缘端口与协商端口:接终端的边缘口不走 P/A,而是直接转发
- 混网改造时逐跳核对各设备的生成树模式是否一致
协商过程抓包特征
协商过程抓包特征
# 链路建立后的正常序列
1 上游指定端口发出 Proposal=1 的 BPDU
2 下游把非边缘端口同步为 Discarding
3 下游回 Agreement=1 的 BPDU
4 上游指定端口立即进入 Forwarding
# 第 3 步缺失:该跳退回监听/学习计时器(2 x Forward Delay,约 30 秒级)协商判读与处理
| 现象 | 含义 | 处理方向 |
|---|---|---|
| Proposal 后紧跟 Agreement | 逐跳协商成功,端口快速转发 | 正常,无需干预 |
| 只见 Proposal 无 Agreement | 对端未同步或链路非点对点 | 查双工模式、链路类型与对端模式 |
| 端口长时间停在 Discarding | 协商失败回退计时器 | 确认对端是否运行 RSTP |
| 边缘端口看不到 P/A | 边缘端口直接转发 | 接终端场景符合预期 |
| 共享介质链路收敛慢 | 半双工不支持快速协商 | 改为全双工,或接受慢收敛 |
P/A 是逐跳机制:路径上任何一跳不支持(传统 STP 设备、Hub、半双工链路)都会在该跳退化为计时器收敛,整条路径的收敛时间由最慢的一跳决定,而不是由两端设备型号决定。