Skip to content

UDP

UDP(User Datagram Protocol,用户数据报协议)是 TCP/IP 协议栈中的核心协议之一,位于传输层,提供无连接的、不可靠的数据报服务。

基本特点

无连接:不需要在数据传输前建立连接,直接发送数据。

不可靠:不保证数据能够到达目的地,不进行重传、确认等可靠性机制。

数据报服务:UDP 将数据视为独立的数据报,每个数据报都是独立的。

低开销:头部仅 8 字节,相比 TCP(20-60 字节)开销更小。

NOTE

常见应用:DNS 查询(53)、DHCP(67/68)、SNMP(161)、RTMP(1935)

UDP 头部结构

UDP 头部固定为 8 字节,包含以下四个字段:

UDP头部结构

字段说明

字段长度说明
源端口16 位发送方端口号,可选
目标端口16 位接收方端口号
长度16 位UDP 数据报总长度(头部+数据)
校验和16 位头部和数据校验,可选

使用场景

UDP 适用于对实时性要求高、可容忍少量丢包的应用场景:

场景说明
DNS 查询快速查询,失败可重试
视频流实时播放,少量丢帧不影响
VoIP语音通话,实时性优先
在线游戏状态同步频繁,允许少量丢包
DHCP动态分配 IP,快速响应
广播/多播向多个接收者发送数据

TIP

选择 UDP 时需要考虑:

  • 应用能否容忍丢包
  • 是否需要保证数据顺序
  • 是否需要流量控制或拥塞控制

如需在 UDP 上实现可靠传输,可在应用层添加确认、重传、顺序控制等机制(如 QUIC 协议)。

Released under the MIT License.