加载中...
丢包是指数据包在网络传输中未能到达目的地,是衡量网络质量最敏感的指标之一。1% 的丢包率对 TCP 吞吐量的打击可能超过 50%,对实时通话的影响则更直观——卡顿、断音、画面马赛克。

| 检测工具 | ping、mtr、Wireshark |
| TCP 影响公式 | 吞吐量 ∝ 1/√(丢包率) (Mathis 公式) |
| 音视频对策 | FEC、NACK、抖动缓冲、PLC |
丢包主要来自三个来源:拥塞丢包——路由器缓冲区满了只能丢弃新到的包,这是互联网上最常见的原因,TCP 拥塞控制就是针对此设计的;链路误码丢包——无线信道(Wi-Fi、4G)信噪比低时物理层出错,数据帧被检错码丢弃;策略丢包——防火墙、QoS 策略主动丢弃某类流量。
区分原因很重要:拥塞丢包应降低发送速率或增加带宽;误码丢包要改善信号质量(换频道、调整 AP 位置);策略丢包要查防火墙规则。ping 测丢包率,mtr(My TraceRoute)能逐跳显示丢包位置,方便定位是哪一段出了问题。[1]
TCP 在检测到丢包后触发拥塞控制:发送窗口减半,再缓慢增加(慢启动/AIMD 算法)。0.1% 的丢包可能让 TCP 吞吐量下降 30%,1% 的丢包则可能导致 50% 以上的性能损失,这就是 Mathis 公式(吞吐量与丢包率平方根成反比)描述的现象。
UDP 应用(视频会议、游戏)自己处理丢包。WebRTC 用 NACK(否定确认)请求重传,用 FEC(前向纠错,提前发送冗余包)抵御少量随机丢包,用 JB(抖动缓冲)平滑延迟抖动。Opus 音频编码器内置了 PLC(包丢失隐藏),能用前几帧外推重建丢失帧,使语音在低丢包率下仍保持可接受的质量。

| 检测工具 | ping、mtr、Wireshark |
| TCP 影响公式 | 吞吐量 ∝ 1/√(丢包率) (Mathis 公式) |
| 音视频对策 | FEC、NACK、抖动缓冲、PLC |
登录 后参与讨论
暂无讨论,来发表第一条评论吧