在 STP 中跟踪 TCN 消息

网络工程 思科 以太网 VLAN 生成树
2021-07-21 17:10:55

我们在运行 Rapid PVST+ 的 L2 网络上有大约 20 个 vlan,其中根桥是 Cisco 3750 交换机的堆栈。我对我在交换机上收到的 TCN 通知的数量感到有些困惑。

3750 堆栈是所有 VLAN 的根,它每天接收 TCN 通知(有时多,有时少)。它同时在所有 VLAN 的同一端口上接收 TCN。当我用 追溯这些 TCN 的来源时show spanning-tree detail | inc ieee|occurr|from|is exec,我最终找到了一台仅配置了 5 个中继线且没有访问端口的交换机 (switch-b)。

我无法匹配此交换机上的链路在接收 TCN 的同时上升或下降之类的事件。当我在此交换机上发出上述命令时,结果告诉我上次拓扑更改发生在很久以前。

我的结论:

发送的 TCN 必须由中继链路或整个交换机上的事件触发,因为所有 VLAN 都收到了拓扑更改通知。它必须是 switch-b 上的本地内容。

产生这些 TCN 的原因是什么?5 条中继链路没有改变它们的状态。由于交换机 b 上的最后一次拓扑更改与核心上的最后一次拓扑更改不匹配,因此它无法到达下游。交换机 b 上的最后一次拓扑更改发生在很久以前。

有什么想法吗?

2个回答

您应该能够简单地调试 TCN。在我的情况下,我最近使用debug spann mstp tc(当我运行 MSTP 时)调试它们 ,但使用debug spanning-tree events 你也会看到它们:

Jul 10 07:42:18 UTC: STP: VLAN0228 Topology Change rcvd on Gi1/0/9       <<< received
Jul 10 07:42:18 UTC: STP: VLAN0228 sent Topology Change Notice on Po10   <<< forwarded

只是遇到了同样的问题……如果您在所有访问端口上运行 portfast,它就不会发送 TCN 消息,您也不会收到 TCN 消息,也不会发送到所有交换机……如果您不启用所有访问端口上的 portfast 和设备关闭/启动它会发送一个 TCN 消息并在所有交换机上刷新 arp 他们将不得不重新学习 MACS....