11. TCN BPDU:揭秘 STP 拓扑变更的通知与收敛机制

一、TCN BPDU介绍

在 STP 网络稳定运行时,根桥会周期性发送​​配置 BPDU​​(Configuration BPDU) ,用于维持整个生成树拓扑的稳定性。然而,当网络中出现链路故障、端口 UP/DOWN 等拓扑变更事件 时,仅靠常规的 Hello 机制无法快速清除旧的转发表项。此时,设备必须启动一套特殊的通知与确认机制,通知全网快速刷新 MAC 地址表,以防止临时环路并加速收敛。

在 IEEE 802.1D 标准中,这一过程严格依赖以下三种 BPDU 的协同工作,当然所有 STP 协议报文(配置 BPDU、TCN BPDU 等)都使用组播地址 01:80:c2:00:00:00 发送,没有单播目的地址,不存在点对点定向发送。

  1. 拓扑改变通知 BPDU(TCN BPDU),Topology Change Notification BPDU。
  • 报文类型 :类型 0x80,是独立的 BPDU 格式,不是配置 BPDU。
  • 非根交换机 产生,仅从设备的根端口 发送,目的是往根方向传播拓扑变更。
  • 设备会每隔一个 Hello Time重复发送 TCN BPDU,直到收到上游设备回复TCA BPDU
  1. 拓扑改变确认配置 BPDU(TCA BPDU),Topology Change Acknowledgment Configuration BPDU。
  • 属于配置 BPDU ,类型 0x00;在 Flags 字段中,TCA 位被置为 1(第 7 位)。

  • 上游设备在收到 TCN BPDU 后,从对应的指定端口 回复,确认已收到拓扑变更通知 。同时从设备的根端口 发送TCN,目的是往根方向传播拓扑变更。

  • 收到 TCN 后立即发送一次即可,无需周期发送。

  1. 拓扑改变配置 BPDU(TC BPDU),Topology Change Configuration BPDU。
  • 属于配置 BPDU ,类型 0x00;在 Flags 字段中,TC (Topology Change) 位被置为 1(第 0 位)。

  • 非根桥 在向上游转发 TCN(tcWhile > 0)时,它从指定端口 向下游发出的所有配置 BPDU,必须将 TC 位置 1,用于提前通知下游刷新 MAC 地址表,不用等待根桥通告。

  • 根桥 收到 TCN 后,会全网泛洪将 TC 位置 1的配置 BPDU,确保整网所有设备都感知到拓扑变更。

  • 发送周期为 Hello Time(2 秒)

二、TCN报文

1. 变更通知:TCN BPDU

非根交换机感知到拓扑变化,从根端口向上游发送 TCN,报文非常简单,不携带任何拓扑参数,仅仅有一个 BPDU 类型字段,用于告知上游拓扑发生了变更。

从物理层面看是组播,"向上游发送" 是逻辑拓扑方向:TCN 从根端口发出,只能被上游交换机接收,实现逐级上报。例如:交换机 4c:1f:cc:17:65:47 感知拓扑变更,发送 TCN BPDU。

2. 变更回复:非根 TCA BPDU

上游交换机收到 TCN 后会进行确认回复,这个确认报文本质就是配置 BPDU,只是对 Flag 标志位做了特殊标记。

由于所有 BPDU 都使用组播地址 01:80:c2:00:00:00 传播,没有单独的单播应答,因此上游设备在回复 TCA 时,会同时将 TC 与 TCA 置位

  • TCA=1:用于确认收到下游的 TCN;
  • TC=1:用于直接通知下游刷新 MAC 地址表,不必等待根桥通告。

802.1D 标准规定:只要设备正在向上转发 TCN(tcWhile>0),下发的配置 BPDU 必须置 TC=1。发生拓扑变更的交换机 4c:1f:cc:17:65:47,会收到其上游设备 4c:1f:cc:36:1a:d6 发出的TC=1、TCA=1的配置 BPDU。

3. 变更传播:非根 TC BPDU

与此同时,上游交换机 4c:1f:cc:36:1a:d6 还会周期性发送仅 TC=1、TCA=0 的组播配置 BPDU,持续通知下游刷新 MAC 地址表。该报文由中间交换机自身发出,并非根桥下发。只要本机还在向上游转发 TCN,就会一直置 TC=1。

4. 变更通知传播:非根转发TCN BPDU

同时,上游交换机 4c:1f:cc:36:1a:d6 会从自己的根端口,重新生成并发送新的 TCN BPDU,继续向上接力上报,保证变更消息最终能到达根桥。

TC 位只能向下通知,无法替代 TCN 向根桥上报,因此必须单独转发 TCN。

5. 变更确认:根桥TCA BPDU

根桥 4c:1f:cc:5d:75:fb 收到 TCN 后回复一个TC=1 且 TCA=1的配置 BPDU,一边确认 TCN一边开始通告拓扑变更。

6.变更泛洪:根桥TC BPDU

首次应答完成后,根桥按照 Hello Time 周期,持续发送仅 TC=1、TCA=0的组播配置 BPDU,全网泛洪拓扑变更信息,让所有设备刷新 MAC 地址表,直到收敛完成。

7.总结

  • TCN:只向上,负责把变更报到根桥,报文:类型0x80,独立BPDU 格式,不携带任何拓扑参数。。
  • TCA:向下应答,确认收到 TCN,报文:类型0x00,配置 BPDU,置位TCA。
  • TC:向下通知,刷新 MAC;中间交换机、根桥都可以发送,报文:类型0x00,配置 BPDU,置位TC。
  • 全部 BPDU 都是组播,方向由端口角色决定,不由目的 MAC 决定。

三、拓扑变更与收敛

根桥 SW C,SW A ↔ SW B 的 G0/1 链路中断,SW A 和 SW B 感知到这条链路断开。

1.感知变更,发起 TCN

SW A、SW B 感知到 G0/1 链路断开,触发拓扑变更。各自从根端口 (SW A:E0/1;SW B:G0/2)发送TCN BPDU,向上游逐级上报。以 Hello Time 周期重复发送,直到收到 TCA 确认。

2.接力上报,提前通知

SW D 收到 SW B 的 TCN

  • 从对应的指定端口 (G0/2)回复 TC=1,TCA=1 的配置 BPDU,TCA=1:确认收到下游 TCN;TC=1:提前通知下游刷新 MAC,无需等待根桥。
  • 同时从根端口 (G0/1)重新生成 新的 TCN BPDU,继续向根桥 SW C 上报。
  • 后续周期性向下游(SW B)发送 仅 TC=1 的配置 BPDU(TCA=0),提前通知刷新 MAC 表。

SW C 收到 SW D 的 TCN

  • 根桥无需再向上上报,从指定端口(G0/2)回复 TC=1,TCA=1 的配置 BPDU 确认。
  • 同时启动 全网 TC 泛洪(TC=1,TCA=0)。

3.泛洪 TC,全网刷新

根桥 SW C 开始向所有指定端口(G0/1、G0/2)周期性发送 TC=1, TCA=0 的配置 BPDU,持续时间Max Age + Forward Delay = 20 + 15 = 35秒:

  • 所有收到 TC 报文的交换机,将 MAC 地址表老化时间缩短为 Forward Delay(默认 15 秒),加速清理失效条目。
  • 中间交换机继续从指定端口转发 TC 报文,确保全网覆盖。

4.重新计算,完成收敛

链路中断后,STP 会重新计算无环拓扑:

SW A :原 G0/1 是根端口 (指向根桥 SW C),现在链路断开,该端口失效。重新计算后,E0/1 端口从阻塞状态转为根端口,成为新的最优路径到根桥 SW C。

SW B :原 G0/1 是指定端口(负责向下游网段转发),链路断开后失效。根端口 G0/2 保持不变,仍为最优路径到根桥 SW C。

全网收敛完成

  • 所有交换机完成 MAC 表刷新,新的无环拓扑稳定。
  • 根桥 SW C 在 Forward Delay + Max Age 后停止发送 TC 报文。

5.全网收敛时间

  1. 根桥发送 TC 报文的时间(TC 泛洪时长)Max Age + Forward Delay,默认 20 + 15 = 35 秒
  2. 全网最长收敛时间 :网络中最远的设备,可能 35 秒末才收到 TC ,之后还需要 Forward Delay 时间完成 MAC 老化,TC 泛洪时长 + Forward Delay, 20 + 15 + 15 = 50 秒
  3. 全网最短收敛时间 :如果拓扑变化直接发生在根桥直连设备 ,TCN 立刻到达根桥,下游设备立刻收到 TC,经过 1 个 Forward Delay 完成 MAC 刷新,最短收敛时间 ≈ Forward Delay = 15 秒。

6.核心总结

  1. 变更触发:端口进入 / 离开 Forwarding 状态(如链路断开)。
  2. 上报路径:非根桥 → 上游 → 根桥(通过 TCN BPDU 接力)。
  3. 通知路径:根桥 → 全网(通过 TC 标志位的配置 BPDU 泛洪),泛洪 Max Age + Forward Delay 时长。
  4. 收敛结果:收到 TC 的交换机将MAC表老化时长缩短为 Forward Delay,全网 MAC 表快速刷新,新的无环拓扑建立。
相关推荐
爱看书的小沐2 个月前
【小沐学CAD】基于OCCT读取和显示STEP模型文件(QT、MFC、glfw)
qt·mfc·opengl·stp·step·opencascade·occt
希赛网2 个月前
2026华为认证数通HCIA备考知识:生成树协议的原理、选举过程与配置要点
服务器·网络·stp·交换机·2026华为认证数通考试·stp生成树的概念·stp常用配置
极客范儿6 个月前
新华三H3CNE网络工程师认证—STP状态机与收敛过程
服务器·网络·stp·1024程序员节
张白夕1 年前
【华三】STP端口角色与状态深度解析
网络·数通·stp·华三·生成树协议·端口角色
网络攻城狮_2 年前
STP基本计算过程——选举根交换机(一)
网络·hcie·hcip·stp·生成树·datacom
dulu~dulu2 年前
优先级总结
网络·计算机网络·网络工程师·stp·ospf·优先级·vrrp
君衍.⠀3 年前
HCIP——STP
开发语言·网络·网络协议·计算机网络·php·hcip·stp