📄 一句话概括
实时音视频要【准时】胜过要【完整】——等重发会卡住后面的所有数据,不如直接放掉一瞬杂音,所以选 UDP。
📝 本节和前面几节的关系
2.6.2 是【丢了无所谓】;本篇是【丢了不敢等】——实时流的取舍。
一、为什么不能等重发
TCP 重发一块,后面所有数据都得排队—— 实时流等得起字节等不起时间。 宁可放一瞬杂音/花屏,也要节奏不乱。
二、⭐ 2026 现状
WebRTC(视频会议)直接用 UDP+RTP; HTTP/3 的 QUIC 在 UDP 上自建可靠层—— 【可靠与实时兼得】的新解法已经长大。
三、动手 Demo:音视频为什么不怕丢
两种策略的后果:
for a, b in [('等重发(TCP)','卡住后面所有数据'),
('直接放(UDP)','一瞬杂音,几乎无损')]:
print('%-12s %s' % (a, b))
实跑输出:
--------------------------------------------------------------------
音视频为什么不怕丢
--------------------------------------------------------------------
语音通话丢一块数据的后果:
策略 效果
---------------------------------------------
等重发(TCP) 卡住后面所有数据,越等越糟
直接放(UDP) 一瞬杂音,听感几乎无损
---------------------------------------------
实时流要【准时】胜过要【完整】——2026 年的 WebRTC、
以及 HTTP/3 底层的 QUIC(基于 UDP 自建可靠层),
都在 UDP 这块地基上盖的新房。
教材当年只能选 UDP+应用层容错; QUIC 是教材出版后最有分量的后续发展。
30 秒实验
- 视频会议卡顿时想想是哪层在排队。
- 对比看直播(UDP/QUIC)与下载视频(TCP)的体验差异。
- 查查 QUIC 为什么选 UDP 做地基(穿透友好、内核可更新)。
常见误区
- 以为实时流也该用 TCP 求完整——节奏比完整重要。
- 以为 UDP 上不能做可靠——QUIC 就是反例。
自测三问(点开对答案)
1. 实时流的最高优先级是什么? —— 准时。 2. TCP 在实时流的致命伤是什么? —— 重发阻塞后续数据。 3. QUIC 是什么? —— 基于 UDP 自建可靠与加密的传输协议(HTTP/3 底层)。- ☐ 下一节(COLUMN 插进Socket里的是灯泡还是程序)
相关笔记
- 只对传输给应用程序的数据进行分发(UDP) — UDP 总览
- 不需要重发的数据用UDP发送更高效 — 取舍原则
- 🔌 网络是怎样连接的 · 索引