
| 类型 | 传输层网络协议 |
| 设计者 | David Reed |
| 定义文档 | RFC 768 |
| 所属协议族 | TCP/IP 协议族 |
| 标准组织 | IETF |
| 传输特性 | 无连接、不可靠、低延迟 |
UDP 协议(User Datagram Protocol,用户数据报协议)是一种无连接的传输层网络协议,以最小的开销把数据报从一台主机发送到另一台主机,追求速度而不保证可靠送达。
UDP 由 David Reed 设计,在 RFC 768 中被正式定义,与 TCP 同为 TCP/IP 协议族中最重要的两个传输层协议。它工作在 IP 层之上,只在 IP 的基础上增加了端口号和校验和等极少量功能,因此协议头部非常精简,处理开销很小。
与 TCP 不同,UDP 发送数据前不需要建立连接,没有握手、确认、重传和拥塞控制机制。发送方把数据打包成一个个独立的数据报直接发出,是否到达、是否按顺序到达都不做保证,这种模式常被形容为「尽力而为」。
正因为省去了这些保障机制,UDP 的延迟和资源消耗远低于 TCP,特别适合「宁可丢一点数据也不能等」的实时业务;而丢包重传、排序等工作可以按需交给应用层自己实现。
UDP 广泛用于对实时性敏感的场景:视频直播、语音与视频通话、在线游戏、物联网上报等,偶尔丢包只会造成轻微卡顿,远比等待重传体验好。DNS 查询、NTP 对时等「一问一答」式的小数据交互也首选 UDP。近年来 HTTP/3 采用的 QUIC 协议同样构建在 UDP 之上,在应用层实现了可靠传输与加密,兼顾速度与可靠性。
问:UDP 和 TCP 该怎么选?答:需要数据完整可靠(网页、文件、邮件)选 TCP;追求低延迟、能容忍少量丢包(直播、游戏、通话)选 UDP。
问:UDP 不可靠,为什么还被大量使用?答:因为「快」本身就是价值。实时业务里迟到的数据等于没用,应用层还可以按需自行加确认重传,比 TCP 的固定机制更灵活。
问:UDP 有安全问题吗?答:UDP 本身不加密也不验证来源,源地址易被伪造,常被利用发起反射放大攻击,因此公网 UDP 服务需要配合防火墙、限速等防护措施。

| 类型 | 传输层网络协议 |
| 设计者 | David Reed |
| 定义文档 | RFC 768 |
| 所属协议族 | TCP/IP 协议族 |
| 标准组织 | IETF |
| 传输特性 | 无连接、不可靠、低延迟 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧