丢包定位的第一步不是检查带宽够不够,而是先确认丢包是发生在内网、运营商线路还是服务器自身。
很多团队一遇到网络卡顿就急着找老板批预算加带宽,结果钱花了、问题还在,带宽只是管道粗细,丢包往往是管道某处漏了,与其盲目扩容,不如按下面的三步流程,把漏点找出来。
第一步:量化丢包现象,锁定大致范围
动手排查前,先要回答三个基本问题:丢包率是多少、持续多久、发生在什么时间段,没有这些数据,后续所有判断都是空谈。
先做基础连通性测试
从客户端直接ping目标服务器IP,连续发200个包,观察三个核心指标:
- 丢包率:超过1%就需要重视,超过5%说明链路质量已经明显恶化
- 延迟抖动:如果最大延迟和最小延迟差超过50ms,链路存在不稳定因素
- 超时分布:丢包集中在某一时段(比如晚高峰),还是随机分散
用MTR区分“哪一段在丢”
单点ping只能告诉你“有丢包”,mtr(Linux自带)或WinMTR(Windows工具)能告诉你“在哪一段丢”,运行命令:
mtr -n -c 100 目标IP
输出结果会按跳数(hop)列出路径上每一跳的丢包率,阅读结果有个关键技巧:
- 最后一跳丢包但前面几跳正常,说明目标服务器自身处理不过来或防火墙策略丢弃
- 中间某一跳丢包,且后续所有跳数都跟着丢,问题大概率出在该节点或它的上游
- 某个中间节点丢包,但后续节点恢复正常,说明该节点只是不回复ICMP请求,实际数据转发正常,不用管
行业共识认为,超过一半的“丢包误判”出现在这一步把中间节点不响应ICMP当成真正的链路丢包。

第二步:按三段切割,逐段排除故障源
确定了大致的丢包位置后,把网络路径拆成三段分别验证:客户端本机及内网、运营商中间链路、服务器侧(包括IDC机房和云厂商)。
内网丢包怎么排查
如果客户和服务器在同一栋楼或同一个园区,内网环节最容易被忽略,重点检查:
- 网线和水晶头:替换法最快,拿一根确认好的网线换上去,丢包消失就是线的问题
- 交换机端口协商状态:登录交换机查看端口是千兆全双工,还是被协商成了百兆半双工,半双工在高流量下必然产生冲突丢包
- 广播风暴和环路:观察交换机CPU占用率,如果持续高于50%,多半有环路,用
show spanning-tree命令检查端口角色
跨运营商线路怎么定位
涉及公网的丢包,绕不开运营商互联问题,判断运营商侧是否有问题,看几个特征:
| 表现场景 | 可能原因 | 验证方法 |
|---|---|---|
| 晚高峰时段丢包激增 | 长途链路拥塞 | 错峰测试,对比不同时段mtr结果 |
| 去程正常、回程丢包严重 | 回程路由绕路或互联带宽不足 | 用traceroute查看回程路径(需要服务器侧配合) |
| 特定目标丢包、其他网站正常 | 运营商对特定线路限速或路由策略调整 | 换DNS解析到不同IP测试 |
另一个值得做的内网丢包怎么排查的补充操作:直接找一条独立线路(比如手机5G热点)对比测试,如果4G/5G网络下丢包消失,问题基本锁定在主用宽带的运营商侧。
服务器端怎么检查
公网链路正常,丢包集中在最后一跳,问题就出在服务器自己身上,按顺序检查:

- 网卡队列和中断负载:多核服务器上,网卡中断都集中在CPU0,网络处理能力会急剧下降,调整RPS(Receive Packet Steering)让中断分散到多核
- 防火墙和iptables规则:
iptables -L -n -v查看丢弃计数,如果DROP计数一直在涨,说明有规则在主动丢包 - 连接数打满:
ss -s查看当前TCP连接状态,TIME_WAIT连接堆积过多会耗尽端口资源 - DDoS流量清洗触发:如果使用了云盾或高防,被攻击时清洗设备会主动丢弃异常流量,表现为丢包率剧增,登录云控制台查看安全监控报表
第三步:分场景处理,别急着上带宽
定位到具体环节之后,怎么处理才是关键,不同原因的丢包,解法天差地别。
带宽拥塞型丢包的处理
确认是拥塞导致的丢包,也有优先级之分,加带宽是最后手段,不是首选。
- 优化流量调度:把非关键业务(日志同步、离线备份)迁移到低峰时段执行
- 启用QoS限速:在路由器或核心交换机上给视频会议、ERP系统划分保证带宽,限制P2P下载和视频缓存占用
- 压缩传输数据:开启HTTP压缩,数据库同步使用增量而非全量
- 确认扩容必要:如果上述手段都做完了,高峰时段的平均带宽利用率仍持续高于80%,此时加带宽才是有依据的
链路质量差导致丢包怎么解决
光纤线路丢包常见原因包括:光功率衰减过大、法兰盘接头污染、尾纤弯折半径过小,运营商上门检测时,让师傅提供光功率测试数据,接收端光功率在-20dBm以下就属于劣化状态。
如果是跨省或跨国链路丢包,和运营商确认能否调整路由,部分场景下可以购买QoS保障的专线而非普通宽带,但价格通常是普通宽带的数倍,需权衡业务重要程度。

设备性能瓶颈的处理
老旧的网关设备、家用级路由器,连接数一上来CPU就跑满,数据包在设备内部就被丢弃,这种场景最典型的特征是:内网ping网关延迟正常,但经过网关的流量丢包严重,解法是升级设备,或者把NAT、策略路由等重活卸载到专门设备上。
丢包率多少算正常?两个常用参考口径
- 局域网内:正常情况下丢包率应为0%,出现任何丢包都说明内网有问题
- 公网链路:优质线路丢包率小于1%,普通线路在1%-1%之间属于可接受范围,超过1%就会明显影响语音和视频业务体验
据工信部近年发布的网络质量报告,我国固定宽带平均丢包率整体处于较低水平,若你的链路长期高于平均水平,大概率是局部配置或线路问题。
常见疑问速答
丢包率多少算正常,ping测试该以哪个数据为准?
业务类型不同,容忍度不同,日常网页浏览丢包率低于1%体验无明显感知;VoIP语音通话丢包超过2%就会出现断续;视频会议建议丢包率控制在0.5%以下,测试时以非高峰时段和高峰时段各跑一组数据,取平均值更客观。
mtr显示某个运营商节点丢包100%,但最终目标丢包0%,需要处理吗?
不需要,运营商骨干节点普遍禁用ICMP响应,丢包100%是策略性丢弃探测包,实际业务流量转发正常,只有当连续多个跳数都出现丢包时才需要报障。
加了带宽之后丢包反而更严重是怎么回事?
这类情况多出现在小水管场景,带宽从20M升到100M后,流量突发能力变大,但本地路由器/NAT设备的处理能力没跟上,设备CPU先成了瓶颈,先检查设备负载,再考虑是否需要更换更高性能的网关。