拓扑变化处理流程
拓扑变化处理是生成树的第二个职责:端口状态发生变化时触发拓扑变化通知(TCN)逐跳上报根桥,根桥在配置 BPDU 中置 TC 标志并下发全网,各设备把 MAC 地址表老化时间临时缩短(约 15 秒)以便快速重新学习,这段时间内未知单播会泛洪。
基本信息
| 触发条件 | 端口进入转发或阻塞、链路状态变化 |
|---|---|
| 处理流程 | TCN 上行 → 根桥置 TC → 全网缩短 MAC 老化 |
| 影响范围 | 全网 MAC 表加速老化,短时泛洪 |
| 观察方式 | 拓扑变化计数与设备日志 |
典型使用场景
- 排查间歇性丢包与广播增多时确认是否由 TCN 引起
- 链路插拔或设备重启后评估对整网转发的影响
- 通过边缘端口等配置减少无谓的 TCN 触发
- 排障前先看拓扑变化计数是否异常增长
- 评估大规模二层网络的收敛代价与泛洪压力
观察与取证
观察与取证
display stp # 华为:关注拓扑变化计数
display stp brief # 端口角色与状态
show spanning-tree # Cisco:看 Topology changes
show spanning-tree detail | include changes # 按端口查看变化次数
# 也可通过抓包观察 TCN BPDU 与 TC 标志阶段与影响
| 阶段 | 动作 | 影响 |
|---|---|---|
| 端口变化 | 检测到状态迁移 | 触发 TCN |
| TCN 上行 | 逐跳通知根桥 | 中间设备转发通知 |
| 根桥置位 | 配置 BPDU 携带 TC | 全网收到通知 |
| MAC 加速老化 | 老化时间临时缩短 | 短时泛洪后重新学习 |
收敛期间的短暂泛洪与丢包属于正常过程;若拓扑变化计数持续增长,说明网络在震荡,应先查链路抖动而不是压制 TC 处理。
把接入端口配置为边缘端口,可以避免终端插拔触发 TCN,这是减少无谓拓扑变化最直接的手段。
频繁 TCN 会放大广播与未知单播的泛洪量,核心链路应避免频繁状态变化,相关变更尽量安排在窗口内。