Skip to content

TCP 与 UDP 协议

TCP(传输控制协议)和 UDP(用户数据报协议)是传输层的两大核心协议,它们在连接性、可靠性、传输效率等方面有着显著的区别。

TCP 与 UDP 对比速查表

对比维度TCP(传输控制协议)UDP(用户数据报协议)
连接特性面向连接,需三次握手建立、四次挥手断开无连接,直接收发数据,无需建立连接
可靠性可靠传输,具备序列号、确认应答、超时重传、流量控制、拥塞控制等机制,保证数据无丢失、无乱序、无重复不可靠传输,无确认、重传机制,数据可能丢失、乱序
传输效率低,可靠性机制带来额外开销高,无额外控制开销,协议头部短小
报文性质基于字节流,无报文边界基于数据报,有明确报文边界
拥塞控制支持拥塞控制,可根据网络状况调整发送速率不支持拥塞控制,发送速率不受网络状态影响
适用场景文件传输、网页浏览、邮件发送、远程登录等对可靠性要求高的场景视频直播、语音通话、在线游戏、DNS 查询等对实时性要求高的场景
头部大小20 - 60 字节(含选项字段)固定 8 字节

补充说明

TCP 三次握手

TCP 建立连接的过程:

  1. 客户端发送 SYN(同步)包到服务器
  2. 服务器收到后,发送 SYN-ACK(同步-确认)包
  3. 客户端收到后,发送 ACK(确认)包

完成三次握手后,连接建立成功。

TCP 四次挥手

TCP 断开连接的过程:

  1. 主动关闭方发送 FIN(结束)包
  2. 被动关闭方收到后,发送 ACK(确认)包
  3. 被动关闭方发送 FIN(结束)包
  4. 主动关闭方收到后,发送 ACK(确认)包

完成四次挥手后,连接断开。

如何选择?

  • 选择 TCP:当数据完整性比速度更重要时

    • 文件下载、网页浏览、邮件传输等
  • 选择 UDP:当实时性比可靠性更重要时

    • 视频流、语音通话、在线游戏等
    • 可以容忍少量数据丢失,但不能容忍延迟

教学视频

  1. 理解TCP和UDP协议的核心原理和区别
  2. TCP三次握手和四次挥手

基于 VitePress 构建的 AP CSP 学习平台