定义
UDP(用户数据报协议)是 TCP/IP 套件中的核心传输层协议。它提供了一种最小化的、无连接的通信服务,没有可靠性保证、排序或流量控制机制。
协议特性
- 无连接:数据传输前无需握手。
- 不可靠:没有数据包接收确认或重传。
- 低开销:8 字节头部,与 TCP 的 20 字节头部相比。
- 无拥塞控制:在高流量下可能丢弃数据包。
- 无状态:每个数据报独立处理。
UDP 头部结构(8 字节)
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source Port | Destination Port|
+--------+--------+--------+--------+
| Length | Checksum |
+--------+--------+--------+--------+
| Data... |
+----------------------------------+
常见应用
- 实时服务:VoIP(例如 SIP/RTP)、视频流
- DNS 查询:使用单数据包交换进行快速解析
- 在线游戏:延迟关键的玩家位置更新
- IoT/传感器数据:周期性状态报告,丢包可容忍
- 多播/广播:高效的一对多传输
与 TCP 的优势对比
| 特性 | UDP | TCP |
|---|---|---|
| 速度 | 更快(无握手/确认) | 更慢(连接建立) |
| 可靠性 | 无(尽力交付) | 保证交付 |
| 排序 | 无序列强制 | 严格字节流顺序 |
| 拥塞控制 | 无 | 自适应窗口缩放 |
性能考虑
- 数据包丢失:在实时应用中可容忍(例如,丢失的 VoIP 数据包)
- 抖动处理:应用必须实现自己的缓冲
- MTU 意识:大数报可能在 IP 层分片
- 校验和可选:IPv4 允许零校验和(损坏数据风险)
您可能还喜欢

