TCP 与 UDP 完整对比(原理 + 核心区别 + 适用场景)

发布时间:2026/7/22 8:34:21
TCP 与 UDP 完整对比(原理 + 核心区别 + 适用场景) 一、基础定义TCP传输控制协议面向连接、可靠传输协议通信前必须建立连接传输全程校验、重传、有序不会丢包乱序。UDP用户数据报协议无连接、不可靠传输协议发数据直接发包不握手、不校验、不重传速度极快但可能丢包、乱序。二、核心区别对照表表格对比维度TCPUDP连接特性面向连接通信前三次握手建立连接结束四次挥手断开无连接无需建立 / 断开直接发送数据包可靠性可靠传输1. 数据不丢失2. 数据不乱序3. 重复包自动去重4. 出错自动重传不可靠1. 可能丢包2. 可能乱序3. 无重传机制4. 不校验完整交付流量 / 拥塞控制具备滑动窗口、拥塞避免、慢启动防止网络拥堵无任何流量、拥塞控制只管发包头部开销头部 20~60 字节字段多序号、确认、窗口、校验等头部固定 8 字节极简开销极小有序性数据按发送顺序到达接收方数据包到达顺序完全不确定速度较慢大量校验、握手、重传带来延迟速度快、低延迟无额外协商流程适用场景文件传输、网页、邮件、数据库、远程登录要求完整准确直播、游戏语音视频、DNS 查询、视频通话要求低延迟允许少量丢包三、关键机制详解1. TCP 独有机制三次握手建立连接确认双方收发能力正常四次挥手正常断开连接释放资源序列号 ACK 确认每个分段带序号接收方回复确认没收到确认就重发滑动窗口控制单次发送数据量避免接收缓冲区溢出拥塞控制网络拥堵时自动降低发包速率防止炸网2. UDP 无任何协商机制发送方只填目标 IP 端口直接封装报文发送接收方收到后直接上交应用层丢包、乱序全部交给程序自己处理四、典型业务举例使用 TCPHTTP/HTTPS 网页访问FTP/SFTP 文件下载上传MySQL、Redis 数据库连接SSH 远程服务器登录微信文字聊天、文件发送不能丢字丢文件使用 UDP抖音 / 快手直播、视频通话少量花屏卡顿无所谓延迟最重要网络游戏实时语音、对战同步DNS 域名解析一次查询短报文丢了重新发即可监控摄像头实时流媒体五、一句话总结TCP稳而慢追求数据完整不出错牺牲速度换可靠UDP快而不稳追求极低延迟允许少量数据丢失补充拓展UDP 如何弥补不可靠很多音视频软件会在应用层自己实现简易重传、乱序排序底层依然用 UDP兼顾低延迟与基础可靠性称为QUIC 协议基于 UDP 的类 TCP 可靠传输谷歌 HTTP3 底层就是 QUIC。