文章目录
TCP(传输控制协议)和 UDP(用户数据报协议)是传输层的两大核心协议,核心区别在于 TCP 提供可靠、有序的面向连接服务,而 UDP 提供高效、无连接但不可靠的数据传输。协议选型需权衡数据可靠性、实时性、资源开销及业务场景需求。
一、核心特性对比
特性 | TCP | UDP |
---|---|---|
连接性 | 面向连接(三次握手建立连接,四次挥手释放) | 无连接 |
可靠性 | 确保数据完整、有序、不丢失(重传、确认机制) | 不保证可靠性,可能丢包或乱序 |
流量控制 | 滑动窗口机制动态调整发送速率 | 无流量控制 |
拥塞控制 | 慢启动、拥塞避免、快速重传等算法 | 无拥塞控制 |
头部开销 | 20~60 字节(含选项字段) | 8 字节(固定) |
传输效率 | 低(连接管理、确认机制导致延迟) | 高(无连接、无确认,适合实时性要求高的场景) |
应用场景 | 文件传输、网页浏览、邮件 | 视频流、语音通话、在线游戏、DNS |
二、TCP 深度解析
1. 核心机制
-
三次握手建立连接:
- 客户端发送 SYN(同步)报文,携带初始序列号(ISN)。
- 服务端返回 SYN-ACK(同步-确认)报文,携带自己的 ISN 并确认客户端 ISN。