延迟与丢包:用工具看清网络质量
"慢"可能是三件完全不同的事:延迟高、丢包多、带宽低。
延迟与丢包是两个不同的指标:延迟是一次往返花多久,丢包是发出去的数据有多少没回来。它们都和带宽(一次能传多少)无关,要分开看。
三个指标
- 延迟
- 往返时间,单位毫秒。越低响应越快。
- 抖动
- 延迟的波动。波动大时,视频通话和游戏会卡。
- 丢包
- 没有到达对端的数据包比例。丢包会触发重传,让体验明显变差。
常用工具
| 工具 | 用途 | 注意 |
|---|---|---|
| ping | 测 ICMP 往返延迟与丢包 | 有些网络会屏蔽 ICMP,没回应不等于不通 |
| tcping | 测某个端口的 TCP 连接耗时 | 更接近真实连接体验 |
| mtr / WinMTR | 逐跳显示路径上的延迟与丢包 | 看是哪一段出问题,需要结合目标判断 |
ping -n 10 <目标地址>上面是 Windows 的写法,macOS 与 Linux 把 -n 换成 -c。结果里看"已发送/已接收"得出丢包,看"最短/最长/平均"得出延迟与抖动。
客户端里的延迟数字是什么
客户端的"延迟测试"通常是通过节点向一个小地址发请求并计时,用来判断节点能不能用。它不是带宽测试:延迟低的节点,下载速度未必快。
怎么判断是哪一类问题
- 网页打开慢但视频能跑满:多半是延迟或 DNS。
- 视频卡、下载断断续续:看丢包。
- 延迟低却下不快:看带宽与节点负载。
怎样系统地对一家机场做测速与记录,可以看 机场测速 里的方法。
怎么读 mtr 的输出
mtr 会逐跳显示从你的设备到目标的路径,每一跳都有丢包率和延迟。读它的关键不是看每一行,而是看"从哪一跳开始,问题一直延续到最后"。如果只有某一个中间跳显示丢包,而后面的跳都正常,这通常是那台路由器对探测报文限速,并不影响真正的数据传输,可以忽略。只有当问题从某一跳开始并且一直延续到终点,才说明那一段链路真的有问题。
| 现象 | 常见解读 |
|---|---|
| 某个中间跳丢包很高,后续跳正常 | 多半是该设备限制探测报文,不影响实际流量 |
| 某一跳开始往后,丢包和延迟一路都高 | 这一段链路或这台设备确有问题 |
| 终点丢包,路径上没有明显异常的跳 | 可能是目标主机限制探测,需要用 TCP 方式再测 |
延迟、丢包与速度,三者怎么互相影响
TCP 的传输速度受往返延迟和丢包率共同制约:延迟越高,同样的窗口大小下每秒能传的数据越少;一旦发生丢包,TCP 会降低发送速度来应对拥塞。所以,一条带宽很大的链路,如果延迟高且伴随丢包,实际能跑出的速度可能远低于标称带宽。这也是为什么"带宽够大但就是慢"在跨境链路上特别常见,真正需要排查的往往是延迟和丢包,而不是带宽。
WiFi 与移动网络的影响
- WiFi 信号弱、同信道干扰多时,丢包和抖动会明显增加,表现为"忽快忽慢"。
- 移动网络在信号切换、拥塞时延迟波动较大,测试时要避开明显的信号边缘。
- 排查代理问题时,先用有线网络或者信号稳定的位置测一遍,排除本地无线环境的干扰。
一个简单的记录模板
想长期观察一个节点,可以每天固定时间做同样的几件事,并记在一张表里:测一次直连基线,再测一次通过该节点的延迟与丢包,最后看一眼网页和视频的实际体验。坚持两周,趋势就比任何一次测速都更有说服力。
"感觉卡"与"数据卡",如何对应
用户的主观感受,往往比数据更早发现问题,但也更容易被误导。网页打开慢、视频缓冲、语音断续,这些"感觉"可以大致对应到数据上:打开网页慢,多与延迟和解析有关;视频缓冲,多与带宽和丢包有关;语音断续,多与抖动和丢包有关。把"感觉"翻译成"该测哪个数据",是排错的第一步。先用感觉缩小范围,再用数据确认,比盲目地测一堆数字更有效率。
关于「延迟与丢包」的常见问题
丢包多少算有问题?
没有统一线,原则上越低越好;持续出现丢包时,视频和游戏会明显受影响。
延迟突然变高怎么办?
先在同一时段多测几次,再换节点和换网络对比,缩小问题范围。
丢包率为零就一定没问题吗?
不一定。短时间的测试里没有丢包,不代表长时间不会出现;晚高峰、不同时段的表现都需要单独观察。
tcping 和 ping 哪个更能反映真实体验?
代理使用的是 TCP 或 UDP 连接,不是 ICMP。tcping 测的是 TCP 连接建立,更接近真实使用;ping 受网络对 ICMP 的特殊处理影响,仅作参考。
丢包率怎么看?ping与tcping有什么区别?
丢包率看的是一段时间内发出的探测包有多少没有收到回应,需要多次采样。ping与tcping的区别在于:ping 用 ICMP 探测,tcping 直接尝试建立 TCP 连接,更接近实际连接情况,但两者都只反映某个时刻的状态。