Link Flapping 概述
做网络这么多年,我遇到过不少奇奇怪怪的故障,但要说最让人头疼的,Link Flapping 排前三。你想想看,一台设备端口反复 up/down,日志刷得飞快,业务时断时续,排查起来像在拆一颗定时炸弹。这节课我们先从基础讲起,把它的定义、现象和影响彻底搞明白。
什么是 Link Flapping?
说白了,Link Flapping 就是网络端口的物理状态在短时间内频繁切换——从 Up 到 Down,又从 Down 到 Up,像个弹簧一样来回弹。我习惯把它翻译成“端口震荡”或“链路抖动”。正常情况下,一个端口应该稳定在 Up 状态,对吧?一旦它开始“抽风”,问题就来了。
从技术角度看,Link Flapping 通常由以下原因触发:
- 物理层故障(光模块、线缆、SFP 接触不良)
- 链路层协商问题(双工、速率不匹配)
- 硬件老化或温度过高
- 电磁干扰或供电波动
嗯,这里要注意:有时候软件层面的配置错误也会导致端口短暂 down 掉再恢复,比如 STP 收敛、EtherChannel 参数不一致。所以排查时不能只盯着硬件。
Link Flapping 的典型现象
网上有很多文档讲理论,但现场怎么判断?我总结了几个 一眼就能看出来 的特征:
| 现象 | 具体表现 | 排查切入点 |
|---|---|---|
| 日志风暴 | 设备控制台持续输出 “%LINK-3-UPDOWN” 或 “%LINEPROTO-5-UPDOWN” | 查看 show log 过滤关键字 |
| 接口计数器异常 | show interfaces 中 CRC、runts、giants 等错误快速增加 |
对比前后 5 分钟的计数器 delta |
| 路由表震荡 | OSPF/BGP 邻居反复建立/断开,路由表中条目频繁删除又添加 | 查看邻居状态 show ip ospf neighbor |
| 设备 CPU 飙升 | 路由进程占用 CPU 超过 80%,甚至触发 watchdog 重启 |
执行 show processes cpu |
| 业务层面 | 用户侧 ping 丢包、延迟抖动、应用卡顿 | 端到端连通性测试 |
我记得有一次深夜被叫醒,说视频会议都断了。我第一反应就是看核心交换机的日志——果然,不到 3 秒就刷一次 UPDOWN。顺着那条链路排查,发现是配线间里一只老鼠咬断了部分光纤,导致光功率边缘跳动。
对网络的影响有多大?
影响不是“有一点”,而是 灾难性的。我简单列个清单:
- 路由协议持续收敛:OSPF 的 SPF 算法被反复触发,导致整个域内的路由表不稳定,甚至引发路由黑洞。
- CPU/内存耗尽:路由器或交换机忙于处理链路状态变化,正常的数据转发被严重影响。
- MAC 地址表抖动:二层交换机的 CAM 表频繁刷新,造成广播泛洪和临时环路。
- 叠加效应:一个端口 flapping 可能拖慢相邻设备,让故障范围像雪崩一样扩大。
- 业务中断:这是最终后果,用户感知到的就是“断网”。
上面这张图把 影响传播链 画得很清楚。你看,一个小小的物理故障,经过“端口震荡 → 路由收敛 → CPU 过载”这样的链条,最后落到业务上就是直接中断。很多工程师只盯着最后一环(丢包)去修,结果换线换光模块折腾一整天——其实根源可能在第一环。
你的第一反应应该是什么?
我个人习惯,遇到疑似 Flapping 的场景,会先做三件事:
- 看日志——用
show log | include UPDOWN快速确认频率。 - 抓接口计数——连续看 3 次
show interfaces,间隔 10 秒,观察错误帧增量。 - 问用户——故障开始的时间点,是不是有施工、停电、空调维修等外部事件。
做到这三点,基本能判断是不是 Flapping,以及严重程度。后面几章我们会深入讲工具和排查步骤,但这一章先把概念吃透。
- Link Flapping = 端口状态快速来回切换
- 现象包括日志风暴、接口错误、路由震荡、CPU 飙升
- 影响会从物理层逐级蔓延到应用层,引发不稳定
- 排查的关键在于从“业务中断”反向追踪到“物理根源”