不存在的环路:堆叠 MAD 检测线被环检误判实录
问题现象
某客户网络核心堆叠设备日志异常:VLAN 999 每 60 秒稳定报一次环回检测告警,同一时刻两个堆叠成员的端口每分钟同步断开约 33 秒后恢复,并伴随大量内部链路告警刷屏——日志缓冲区显示已被覆盖 121 万条消息。观测窗口 16:42~16:51 内连续出现 19 轮,周期精确得像时钟。
排查定位
日志时序分析给出四条关键证据:
证据一:标准的”检测→阻断→恢复”循环。每轮报 LPDT_VLAN_LOOPED: A loop was detected on GigabitEthernet2/0/0/23 in VLAN 999,几百毫秒后紧跟 RECOVERED——环检发现”环路”、关闭端口、端口自动恢复,每 60 秒一轮。
证据二:端口确是被环检关掉的。IF_ERROR_DOWN: An error down alarm occurs on GigabitEthernet2/0/0/23, because of DOWN (Loopback detection down)——日志明确记录关闭原因是环回检测 error-down,30 秒后 IF_ERROR_DOWN_RECOVER 自动恢复。
证据三:两个端口实为一条 MAD 检测线。每轮 Gig2/0/0/23 被关时,对端 Gig1/0/0/23 同步掉线——这两个口正是堆叠成员 chassis1 与 chassis2 之间的 BFD MAD 专用检测线(1/0/0/23 ↔ 2/0/0/23)。
证据四:内部链路告警是伴生噪音。每轮伴随大量 DEV/2/INTERNALLINK_ALARM(MAC/PHY chip link failure,ErrorCode 427001/428001)——实为端口被环检关闭引发的连锁告警,并非硬件故障。
根因由此清晰:网络里并没有真实的环路。堆叠两台成员经 MAD 检测线在逻辑上是一台设备,环回检测的探测报文从 Gig2/0/0/23 发出、经检测线从 Gig1/0/0/23 回到”同一台”交换机——自己的报文绕了回来,于是被判定为 VLAN 999 存在环路,每 60 秒误判一次并把检测口关掉约 30 秒。这是环回检测机制与 MAD 检测线之间天然的结构性冲突。同日下午该网络还处置过一起接入侧真实环路(VLAN 1910,15:57 已结束)——两者现象周期相似,根因完全不同,已排除关联。
危害评估:真正的风险不在告警噪音。MAD 检测线每分钟约 33 秒处于 down,意味着 BFD MAD 一半以上时间形同虚设——如果堆叠真的分裂恰逢 down 窗口,双主检测不到,会出现两台设备同时活跃、IP/MAC 地址冲突的重大事故。

解决方案
以下为建议的处置措施(定位完成,配置调整待实施):
- MAD 检测口关闭环回检测。先
display loopback-detection确认现状,再在两个检测口(1/0/0/23、2/0/0/23)下undo loopback-detection enable(或按设备版本把 VLAN 999 移出该口的环检范围)。环检防的是接入侧环路,不应作用于 MAD 专用线。 - 确认 VLAN 999 无泄漏。
display vlan 999核对该 VLAN 只存在于两个 MAD 检测口,未泄漏到业务 trunk。 - 调整后验证。
display mad verbose确认 MAD 状态恢复 Normal,连续观察一个检测周期以上,确认 LPDT 告警消失。 - 可选的结构优化。如需省掉专用检测线,可评估改用 LACP MAD——网络中与汇聚设备之间的动态聚合链路(BAGG1)本身可复用,无需单独拉线,两种方案二选一即可。
验证结果
观测窗口内(16:42~16:51,共 19 轮)告警持续出现,属结构性误判,不做配置调整不会自行消失。上述措施实施后的验证标准:MAD 状态 Normal、连续检测周期内无 VLAN 999 环检告警、成员口不再周期性 down。待措施落地后持续观察确认。
总结
- 环回检测防的是接入侧环路,把它开在堆叠 MAD 专用检测线这类”合法自环”的拓扑上,探测报文回到自身,就会制造一条”不存在的环路”——检测机制之间的冲突,比漏检更隐蔽。
- 周期精确(每 60 秒一轮)+ error-down 与自动恢复成对出现,是典型的检测定时器行为;真实环路引发的告警通常带随机性,两者可以区分。
- 告警噪音只是表象:检测线被反复关闭意味着双主检测长时间失效,堆叠分裂的防护敞口才是真正的重大风险,处置优先级应按风险而非告警量评估。
- 连锁内部链路告警是端口关闭的伴生现象,先找关闭动作的发起者(本例是环检),避免误判为硬件故障而盲目换件。