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 表清空或重启端口能让指标暂时回落,环路依旧存在,几十分钟内会复发。