很多做网络的朋友在配置IRF堆叠时,对LACP MAD检测总是有点绕,尤其是华三框式交换机这种高端设备上。大家通常熟悉BFD MAD,但对LACP MAD的原理和适用场景往往是半懂不懂,配置起来容易踩坑。这篇文章我就专门把LACP MAD检测这件事讲透,从原理到框式交换机上的完整配置,再到验证和排障,一次性说清楚。
1. 为什么在框式交换机上要特别重视MAD检测机制
IRF堆叠有个很经典的问题,叫做"分裂"。简单说就是两台成员设备之间的IRF物理链路断了,但设备本身还在正常运行,这时候堆叠系统就变成了两个独立的、配置完全相同的系统。如果交接机端口还处在原来配置的双活状态,就会出现两台设备抢同一批IP地址、MAC地址的情况,数据转发直接乱套,整个网络瞬间瘫痪。
为了解决这个问题,必须引入一种机制让分裂后的设备能够互相感知对方的存在,并且让其中一方主动把业务口全部关掉,只留一个管理通道。这个过程就叫MAD检测,MAD的全称是Multi-Active Detection,多active检测。
华三框式交换机支持三种MAD检测方式,BFD MAD、LACP MAD和传统ARP MAD。日常项目里BFD MAD用得最多,但LACP MAD在框式设备上有它不可替代的位置。原因在于,框式交换机往往承担着大规模汇聚或核心的角色,端口资源非常宝贵,而且经常要跟下游设备做跨设备链路聚合。这时候如果两端都启用了IRF,在跨设备聚合的链路上顺便做LACP MAD,等于把检测功能复用在了业务链路上,不用再额外占用物理端口,也不用单独跑BFD协议,逻辑上更干净。
另外,LACP MAD在框式设备上还有一个隐性的好处。框式交换机单台设备的处理能力强,板卡多、业务口多,如果分裂后靠BFD MAD的机制去down掉整机业务口,切换动作会比较剧烈。而LACP MAD是跟聚合链路联动的,分裂后聚合口协商失败,端口自然就不转发数据了,整个过程更加平滑,对下游设备的影响相对可控。
我遇到过不少项目,客户死活不想为BFD MAD单独空出两个口,尤其是框式设备上每个板卡的口都有明确规划。这种场景下LACP MAD几乎是唯一合理的选择。还有一个场景是在跨机房堆叠的架构里,IRF链路走的是长距离光纤,分裂概率比同机房堆叠高得多,这种情况下MAD检测的可靠性和快速性要求非常高,LACP MAD通过LACP报文走跨设备聚合链路检测,不依赖额外的物理链路质量,反而更稳。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. LACP MAD的工作原理与Keepalive机制拆解
2.1 LACP协议是怎么被拿来当"心跳线"用的
先理顺一个基础概念。LACP是链路聚合控制协议,标准定义在802.3ad里,它的核心作用是在两台直连设备之间协商聚合链路,把多条物理链路捆绑成一个逻辑接口。LACP报文周期性发送,默认快速率模式下是1秒发一次,这个报文叫做LACPDU。
LACP MAD的思路很巧妙,它没有在标准LACP协议里新开什么内容,而是借用LACPDU报文中的保留字段来承载IRF的Domain ID和Active ID。当两台IRF成员设备通过跨设备聚合口互联时,它们在LACPDU里携带自己的IRF编号信息。正常情况下整套IRF系统对外表现为一个整体,Active ID只有一个,对端聚合设备看到的协商结果是一致的。
一旦IRF分裂,两台设备都认为自己是Active设备,都在各自的聚合口上发送携带不同Active ID的LACPDU。对端设备原本通过聚合口跟IRF系统建立了一个聚合组,现在突然收到了来自两个不同Active ID的LACPDU,这在聚合逻辑上属于同一个系统ID出现冲突,LACP协商就失败了,聚合链路会进入异常状态。而华三的MAD机制会在此时把处于Recovery状态的那台IRF成员设备上的这个聚合口关掉,从而避免双活冲突。
2.2 MAD Down与Recovery状态的状态机切换
LACP MAD检测到分裂后,
