网络排查三件套:延迟、丢包、traceroute

· 阅读约需11分钟

网络排查三件套:延迟、丢包、traceroute

网络卡的时候,很多人第一反应是重启路由器,或者打电话骂运营商。但这两件事通常都不解决问题——因为你还不知道问题出在哪。

真正有效的排查,是从三个基本工具开始的:ping 看延迟和丢包,traceroute 看路径。把它们结合起来,能定位绝大多数网络问题。


一、先搞清楚这三个指标分别代表什么

指标含义反映的问题
延迟(time)数据包往返一次的时间,单位毫秒线路质量、物理距离、拥塞程度
丢包(loss)发出的包有多少没收到回复线路不稳定、设备过载、无线干扰
路径(traceroute)数据包从你到目标经过了哪些路由器路由是否合理、哪一跳开始出问题

三者缺一不可。只看延迟,不知道线路稳不稳;只看丢包,不知道问题出在哪一段;只看路径,不知道每一跳的质量如何。


二、延迟怎么看

ping 的输出里,每一行都有一个时间值,比如:

64 bytes from 223.5.5.5: icmp_seq=1 ttl=118 time=12.3 ms

time=12.3 ms 就是延迟。这个值,不同场景下的参考标准不一样:

场景正常范围偏高
局域网内(ping 网关)< 1 ms> 5 ms
同城同运营商< 10 ms> 30 ms
跨省同运营商< 40 ms> 80 ms
跨运营商< 60 ms> 120 ms
跨国< 200 ms> 300 ms

但延迟不是看单次,而是看波动。如果 ping 一会儿 10ms,一会儿 200ms,即使平均值不高,体感也会很卡。这种叫“抖动”,比单纯的延迟高更影响体验。


三、丢包怎么看

ping 命令跑完之后,最后会有一行统计:

100 packets transmitted, 98 received, 2% packet loss, time 99000ms

这里的 2% packet loss 就是丢包率。

丢包率影响
0%正常
< 1%基本无感
1% – 3%网页偶尔加载慢,视频会议开始有卡顿
3% – 10%明显卡顿,游戏延迟跳变,语音断续
> 10%几乎不可用

丢包分两种:连续丢包和随机丢包。

连续丢包(比如连续丢 5 个包)通常意味着链路中断或设备重启。随机丢包(丢一个,好一会儿,再丢一个)通常是线路质量不好、无线干扰、或者设备负载过高。

用 ping -t(Windows)或 ping(Linux/macOS)持续跑,观察丢包的规律。如果丢包是成片出现的,问题往往更严重。


四、traceroute 怎么看

traceroute(Windows 下是 tracert)会显示数据包经过的每一跳路由器的 IP 和延迟。

tracert 223.5.5.5

输出大概长这样:

  1     1 ms     1 ms     1 ms  192.168.1.1
  2     4 ms     3 ms     4 ms  100.64.0.1
  3     8 ms     7 ms     8 ms  61.145.xx.xx
  4    12 ms    11 ms    12 ms  202.97.xx.xx
  5    15 ms    14 ms    15 ms  223.5.5.5

解读方法:

  • 第1跳:你的路由器。延迟应该在 1ms 左右。如果这里就 10ms 以上,说明路由器有问题。
  • 第2跳:运营商接入设备。延迟通常 < 10ms。如果这里开始丢包或延迟高,问题在运营商接入段。
  • 中间几跳:运营商骨干网。延迟逐渐增加是正常的,每跳增加几毫秒到十几毫秒都算正常。
  • 最后一跳:目标服务器。如果前面都正常,最后一跳才出问题,那就是对方服务器的问题。

关键技巧:看哪一跳开始出现异常。延迟突然从 10ms 跳到 200ms,说明问题就出在那个跳的入口。丢包也是同理,从哪一跳开始丢,问题就在那一跳之前。

但要注意:traceroute 中某一跳显示 * 号,不代表丢包。 很多路由器出于安全考虑,不响应 ICMP 探测。如果某一跳显示 *,但后续跳都正常,那只是它不回复而已,不代表路径断了。


五、三者结合排查的完整流程

场景一:网页加载慢,但 ping 外网正常

先 ping 网关:

ping 192.168.1.1 -t

如果网关正常(延迟 < 1ms,无丢包),再 ping 外网:

ping 223.5.5.5 -t

如果外网也正常,但网页还是慢,用 traceroute 看路径:

tracert www.example.com

如果路径正常,问题可能在 DNS 或对方服务器上。换 DNS 试试,或者用手机热点对比一下。

场景二:ping 网关正常,ping 外网丢包

这说明内网没问题,问题在路由器出口或运营商线路。

先用 traceroute 看从哪一跳开始丢包。如果第二跳就丢,问题在光猫或运营商接入设备。如果是中间某跳丢,问题在运营商骨干网。如果是最后一跳丢,问题在对方服务器。

同时检查光猫的光功率和误码率。光功率低于 -27dBm 会导致丢包,误码率增长说明光纤线路有问题。

场景三:ping 网关就丢包

问题在内网。检查:

  • 网线是否老化(有线)
  • WiFi 信号强度和信道干扰(无线)
  • 路由器 CPU 和内存占用
  • 是否有设备在疯狂发包(IP 冲突、中毒)

场景四:延迟忽高忽低,丢包随机出现

这是最麻烦的一种。通常是线路质量不稳定,或者无线干扰。

先用有线替代无线测试,排除 WiFi 因素。然后换一根网线,排除线材因素。再 ping 不同目标(网关、外网 IP、外网域名),看规律是不是一致。如果只有某个目标丢包,问题在对方。如果所有目标都丢包,问题在本地或运营商。


六、一个实际的例子

前几天家里网络卡,用这三件套排查了一遍:

ping 192.168.1.1 -t
# 结果:延迟 1ms,无丢包

ping 223.5.5.5 -t
# 结果:延迟 15ms,丢包 5%,而且是随机丢

tracert 223.5.5.5
# 结果:
# 1  <1ms  192.168.1.1
# 2  4ms   100.64.0.1
# 3  *     *     *
# 4  15ms  202.97.xx.xx
# 5  16ms  223.5.5.5

第一跳正常,第二跳正常,第三跳不响应(正常现象),但从第四跳开始延迟略高。结合 5% 的随机丢包和延迟波动,判断是运营商接入段的问题。

打电话给运营商,对方远程检测后确认是接入设备的端口有问题,换了一个端口,问题解决。

如果没有 traceroute,只看到丢包,就不知道问题出在哪一段,也就没法给运营商提供有效信息。


七、常用命令速查

操作WindowsLinux / macOS
持续 pingping -t 目标ping 目标
指定次数 pingping -n 100 目标ping -c 100 目标
追踪路由tracert 目标traceroute 目标
不解析域名tracert -d 目标traceroute -n 目标
查看 ARP 表arp -aarp -a

八、写在最后

网络排查没有那么神秘。延迟、丢包、路径这三件事,基本能覆盖大部分问题。

记住顺序:先内后外,先 ping 后 traceroute,先看现象再猜原因。不要一上来就重启设备,让命令跑一会儿,数据会告诉你答案。

下次网络卡的时候,打开命令行,敲下第一个 ping。排查的过程本身,就是对网络的一次体检。


2026年10月