首页/网络/BGP 与广域网速查/丢包定位:分段收缩法
广域网排障60 条

丢包定位:分段收缩法

丢包定位用分段法:从近到远逐段探测,找到出现丢包的区间,再区分链路丢包与设备队列丢弃。

BGP 与广域网速查网络更新于 2026-10-13

分段收缩法怎么用

丢包排查最忌讳一上来就盯着末端服务器。有效做法是分段收缩:从最近的一跳开始,逐段向远端探测,找出第一个出现持续丢点的区间,把范围从整条路径压到某一段。除了位置,还要区分四个维度:方向(去程还是回程)、类型(随机丢包通常与拥塞或误码相关,周期性丢包更像定时任务或保护倒换)、手段(ping 反映控制面与轻负载行为,打流才反映真实转发)、以及是否只在特定包长或特定业务端口出现。把这四点组合起来,通常几次测试就能锁定原因类别。

基本信息

分段 ping从近到远逐段探测,缩小到具体区间
方向区分去程与回程分别测,丢包常在单方向
类型区分随机丢包与周期性丢包原因不同
交叉验证ping 与打流结果对照
包长维度不同包长丢包表现可能完全不同
观察窗口连续多次测试,避免单次结果误判

典型使用场景

  • 业务访问慢:先判断是丢包还是时延问题
  • 跨运营商链路:区分是本网内丢包还是互联点丢包
  • VPN 隧道内丢包:对比隧道内与隧道外测试结果
  • 语音或视频质量下降:重点看抖动与丢包的组合表现
  • 变更后回归验证:用同一测试口径对比变更前后的丢包率

探测序列

探测序列
# 从近到远逐段探测,记录每段丢包率
ping -c 100 10.0.0.1 | tail -2      # 首跳
ping -c 100 10.9.9.9 | tail -2      # 中间段
ping -c 100 10.2.2.1 | tail -2      # 末端
# 一次看逐跳丢包分布
mtr -rzc 100 10.2.2.1
# 用打流验证真实转发表现
iperf3 -c 10.2.2.10 -u -b 20M -t 60
# 不同包长交叉验证
ping -c 100 -s 1400 10.2.2.1 | tail -2

结果判读

观察结果倾向原因下一步
首跳即丢本端接口或线缆问题核对接口计数与光功率
中间段开始丢该段链路或设备拥塞联系对应运维方核查
末端丢而中间不丢末端设备或策略限速检查 QPS 限速与队列
周期性丢包定时任务或保护倒换对照日志时间戳
小包不丢大包丢MTU 或分片问题改用分片探测方法
ping 丢包不完全等于业务丢包:设备对 ICMP 的处理优先级通常较低,控制面限速会导致读数偏高,必要时用业务端口或 UDP 打流交叉验证。
中间跳丢包而后面的跳不丢,往往只是该设备不响应 ICMP 探测,不代表路径有问题;判断要以后续跳的结果为准。

易错点

  • 只测单次 ping 就认定丢包:偶发丢包需要较大样本量或较长观察窗口
  • 只测一个方向:回程丢包同样影响业务,双向都要测
  • 把中间跳的 ICMP 限速当成真实丢包:会出现「中间丢末端不丢」的误判
  • 忽略包长因素:小包正常大包丢包属于典型 MTU 问题,与线路质量无关
  • 测试与业务走不同路径:源地址或端口不同导致路径不同,结论无法直接套用

数据来源与参考

  • Cisco: 丢包排障方法
  • mtr 手册
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌