如何诊断桥接(以太网)环路?

网络工程 以太网 转变
2021-07-22 13:32:19

鉴于生成树失败(或者您没有任何生成树)并获得以太网环路,诊断问题所在的最佳方法是什么?

哪个开关?哪个电缆?等等。

4个回答

好的,假设您有一个拓扑,例如:

          SW1
         /   \
        /     \
       /       \
PC A--SW2-----SW3--PC B

由于某种原因,存在桥接环路、STP 被禁用或有人在错误的地方应用了过滤器等。

PC A 想和 PC B 通信。它首先为 PC B 的 MAC 发送 ARP,目的是一个带有 MAC ffff.ffff.ffff 的广播。因此该帧进入 SW1 和 SW3。SRC MAC 是 PC A。然后 SW1 将帧泛洪到 SW3,而 SW3 会将来自 SW2 的帧泛洪到 SW1。

SW1 和 SW3 在第一帧进入时学习了 PC A 的 MAC。当第二帧从相反方向进入时,它必须重新学习。由于这些事件发生得如此之快且反复发生,您将看到抱怨 MAC 波动的日志消息。类似于“MAC FLAP 0000.0000.0001 在 Gi0/24 和 Gi0/23 之间摆动”。这是一个好兆头,表明你有一个循环。

然后你可以做的是尝试跟踪这个 MAC。尝试查看同一子网中设备的 ARP 缓存并查看该设备的 IP。因此,对于 MAC,您可以尝试使用 sh mac-address-table 或 IP 来跟踪它,也许您有一个包含所有 IP 及其连接位置的列表。

如果主机从 DHCP 服务器获取 IP 地址,您也可以尝试在那里查找主机来自何处。如果您启用了选项 82,那将是一个很大的帮助。

其他迹象表明 CLI 将非常缓慢。CPU负载会非常高。交换机几乎可以在 ASIC 中完成所有工作,因此如果交换机的 CPU 负载超过 50%,则可能不太好。您应该实施 SNMP 监控并注意高 CPU 负载。还要查找 MAC 波动消息。如果开关有回路,则 LED 可能会像疯了一样闪烁。

你可以做的事情来防止循环:

  • 启用 STP!(废话)
  • CPU负载的SNMP监控
  • 为某些事件(如 STP 拓扑更改)启用 SNMP 陷阱
  • 在端口上启用风暴控制以限制广播
  • 不要在 L2 拓扑中过多地跨越 VLAN
  • 启用端口安全并限制每个端口的 MAC 地址数
  • 如果您运行 DHCP,请启用 Option82

我的一个用户最近从某人的桌子上借了一个桌面交换机。返回交换机后,他们插入了附近所有松散的以太网端。其中一根电缆进入网络,另一根是同一根电缆的两端。桌面交换机接入网络,也接入自身。交换机没有 STP,因此来自网络的广播会在另一条电缆上双向循环。当然,每次在循环端口上接收到广播时,它都会被复制回网络。它绝对让 HSRP 发疯,而且——由于糟糕的设计——它还导致整个园区的 OSPF 邻接失败。

问题的第一个迹象是 macflap 转发到我的电子邮件。这立即使我们找到了正确的配线间。从那里开始,这是一个基于端口 LED、接口 pps 和日志的消除过程。不用说,我已经重新设计了整个校园。最好的预防措施可能是 bpduguard。我已经部署了该功能,它非常简单。在我的电子邮件中获得那个 errdisable syslog 简直是太幸福了。

对于大多数设备,CPU 会以 100% 的速度运行,您唯一能做的就是断开冗余的物理连接。一旦 CPU 平静下来,您就可以将链接一一插回,看看是哪一个重新导致了循环。

对于大型机箱(如 6500),我不得不一次拔出所有刀片,然后将它们重新插入一个。一旦我确定了哪个刀片,我就必须拉出所有单独的链接(16 GBIC)并将它们一次放回一个中。从来不好玩。

一些更现代的设备有一个受保护的 CPU,这应该使它更容易处理 - 您仍然可以与盒子进行交互。此时,查看流量计数器等以确定故障链接成为可能。

我最近在一家公司开始工作,他们在每个端口上使用广播限制。如果一个端口在广播时超过其容量的 5%,则交换机将其置于 ERRDISABLE 状态。

 storm-control broadcast level 5.00  
 storm-control action shutdown

当一组人倾向于插入将无线网络桥接到 LAN 的设备时,这已成为救命稻草。

尽管对于您的实际问题,我一直发现它是手动的。