TL;DR

TCP 面向连接,提供可靠、有序、流量控制与拥塞控制,适合 HTTP/HTTPS、数据库、文件传输;UDP 无连接,不保证可靠与顺序,但头部小、延迟低,适合 DNS、视频通话、实时游戏、NTP。选型就看三点:丢包是否致命、顺序是否重要、延迟有多敏感。

核心对比

维度TCPUDP
连接建立三次握手(SYN/SYN-ACK/ACK)无握手,直接发数据报
可靠性确认与重传,保证到达不保证到达
顺序字节流,保证有序不保证顺序
头部开销20–60 字节8 字节
流量/拥塞控制
常见协议HTTP 80、HTTPS 443、SSH 22、SMTP 25、MySQL 3306DNS 53、NTP 123、DHCP 67/68、RTP、QUIC 443

怎么选

常见问题

TCP 一定比 UDP 慢吗?

不一定。TCP 的额外开销来自握手与拥塞控制;对单次小请求差异很小,对长连接和流式传输,TCP 的可靠机制反而能减少应用层重传。

DNS 为什么用 UDP?

DNS 查询通常一个请求一个包,UDP 无连接开销最小;查询响应超过 512 字节时会回退到 TCP(或使用 EDNS(0) 扩展)。

HTTP/3 为什么基于 UDP?

HTTP/3 使用 QUIC,QUIC 在 UDP 上自己实现可靠传输、0-RTT 握手、多路复用和连接迁移,解决了 TCP 的队头阻塞问题。

来源

最后更新:2026-08-04