首页/网络/VLAN 与高可用速查/MAC 漂移现象与识别
二层排障78 条

MAC 漂移现象与识别

同一 MAC 在多个端口间来回学习即 MAC 漂移:常见于环路与冗余配置错误,识别靠观察表项变化与日志,不依赖单一命令。

VLAN 与高可用速查网络更新于 2026-10-13

MAC 漂移是什么

MAC 漂移指同一个 MAC 地址在短时间内先后出现在不同端口上,设备在两个端口之间反复刷新表项。它是二层环路、冗余配置冲突最典型的间接证据:表项跳动的过程中,大量目的地址不明的单播被封成泛洪,会把整个广播域的利用率一起推高,所以漂移常常和风暴同时报到。

基本信息

典型现象同一 MAC 在两个端口间跳动,伴随泛洪与丢包
伴随证据STP 拓扑变更日志、端口广播速率升高、CPU 收包升高
优先怀疑二层环路、聚合或冗余配置错误、服务器双活网卡
识别方式间隔取样对比表项,或直接看日志告警
查看命令display mac-address / show mac address-table address

判定方法

  • 同一 MAC 连续两次查询出接口不同,且间隔很短,即可确认漂移
  • 记录出接口的组合:两个接入端口之间跳动,多半是环路或双活网卡
  • 看是否同时出现拓扑变更日志,有则优先按环路处理
  • 漂移 MAC 若是网关虚拟 MAC,先排查网关侧冗余状态而不是接入侧
  • 对漂移涉及的端口做广播速率与错包计数对比,作为佐证

识别手段

识别手段
display mac-address                                  # 华为:多次查看同一 MAC 的出接口
display mac-address aging-time                       # 华为:确认老化时间,判断查询节奏
display logbuffer | include MAC                       # 华为:从日志找漂移告警
show mac address-table address 5489.9811.2233        # 思科:定点查看某 MAC
show mac address-table aging-time                     # 思科:确认表项存活时长
show logging | include MAC                            # 思科:查历史告警

常见成因

成因特征验证方法
二层环路表项在两个接入口间跳动,伴随拓扑变更日志查 STP 状态与端口广播速率
服务器双活网卡同一 MAC 从两个接入口出现,无拓扑变更核对服务器网卡绑定与主备协商
聚合配置错误对端未做聚合,表项在成员口间跳检查两端聚合模式与成员状态
私接小交换机漂移集中在某个接入口,MAC 数量异常查该口 MAC 数量与端口安全配置
MAC 表项有老化时间,华为与思科常见默认值为 300 秒。表项本来就随流量变化,所以判断漂移需要间隔很短地连续取样,或直接依赖设备的漂移告警日志,而不是一次查询的静态结果。
确认漂移后要按环路处理方式先隔离再分析:只把 MAC 表清空或重启端口能让指标暂时回落,环路依旧存在,几十分钟内会复发。

易错点

  • 单次查表看不出漂移,要间隔取样或看日志
  • 漂移 MAC 若为网关虚拟 MAC,先排查网关侧冗余状态
  • 把服务器双活网卡造成的漂移当作环路处理,改了半天的 STP 没有效果
  • 只看 MAC 表不看端口广播速率,漏掉仍在持续的泛洪

数据来源与参考

  • 华为 S 系列交换机产品文档(MAC 表管理)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌