TCP和UDP对比
2026/7/23大约 3 分钟
简单来说,TCP 就像是打长途电话,必须确认接通了、听清了才继续说;而 UDP 就像是在路边支个大喇叭喊话,喊出去就不管了,听不听得到全看缘分。

为了让你更直观地理解,我们将从核心维度进行深度对比:
1. 核心差异对照表
| 特性 | TCP (传输控制协议) | UDP (用户数据报协议) |
|---|---|---|
| 连接性 | 面向连接(需三次握手) | 无连接(直接发送) |
| 可靠性 | 可靠(保证不丢、不乱、不错) | 不可靠(可能丢包、乱序) |
| 传输方式 | 字节流(像自来水,无边界) | 数据报(像快递包裹,有边界) |
| 传输速度 | 较慢(由于确认、重传等机制) | 极快(几乎没有额外延迟) |
| 资源消耗 | 较大(报头 20 字节,需维护状态) | 较小(报头 8 字节,结构简单) |
| 通信目标 | 一对一(点对点) | 一对一、一对多、多对多 |
2. 深度功能对比
(1) 确认机制 vs. 盲目发送
- TCP:每发一个包,接收方都要回一个“收到”的信号(ACK)。如果没收到,发送方会死磕到底,直到重传成功。
- UDP:只管把数据往网卡里塞,发完就清空缓存。至于数据在路上被路由器丢了,还是因为网络波动迟到了,UDP 概不负责。
(2) 有序性 vs. 随意性
- TCP:会给每个数据段打上序号。如果 2 号包比 1 号包先到,TCP 会让 2 号包在缓存里等着,排好队再交给应用层。
- UDP:谁先到谁先上。如果你在用 UDP 传图片,可能会看到图片的底脚先显示出来,头顶后显示。
(3) 拥塞控制:文明人 vs. 莽夫
- TCP:非常“文明”。如果发现网络堵塞,它会主动降低发送速度,避免网络崩溃。
- UDP:比较“莽”。不管网络塞成什么样,应用层给多少它就发多少,是网络拥塞的“加速器”。
3. 应用场景:如何选择?
什么时候选 TCP?(宁慢勿错)
- 网页浏览 (HTTP/HTTPS):你肯定不希望打开网页时,文字是乱码或者少了半截。
- 文件传输 (FTP):下载安装包时,丢一个比特位都可能导致程序无法运行。
- 邮件 (SMTP/POP3):保证邮件内容的完整性。
什么时候选 UDP?(宁错勿慢)
- 视频通话/直播:掉一两个像素点(花屏)没关系,但如果为了重传而卡顿 2 秒,天就没法聊了。
- 在线游戏:FPS 游戏中,你更需要此时此刻对手的位置,而不是 3 秒前他消失在哪里的“补发数据”。
- DNS 查询:查个 IP 地址,速度越快越好,大不了没收到再查一次。
4. 现代趋势:优缺点互补
现在出现了一种新技术叫 QUIC(HTTP/3 的基础)。它很聪明地利用了 UDP 的快,然后在应用层自己实现了类似 TCP 的可靠性。
比喻:TCP 是严谨的顺丰,UDP 是随性的平邮,而 QUIC 则是自己雇了保镖、装了北斗定位的极速快递。
