目录
UDP 协议
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、非可靠的传输层协议。这样的特性决定了它的最大优点就是快,同时也决定了它最大的缺点就是不可靠。
所以 UDP 协议常被应用于流媒体、语音交流、视频会议等场景中,主要的原因有以下几点:
- 速度快,所以实时性高:UDP 的协议栈实现非常简单,处理速度相较于 TCP 要快得多。
- 无须建立连接,所以效率高:UDP 所有建立连接和关闭连接所带来的额外处理。
- 无连接状态,所以开销低:TCP 需要在端系统中维护连接状态,包括:接收/发送缓存、拥塞控制、Seq 序号和 ACK 确认号等参数。而在 UDP 中没有这些参数,因此 UDP 能支持更多的活跃用户数量。
- 首部开销小:每个 TCP Header 都有 20Bytes 的首部开销,而 UDP Header 仅仅只有 8Bytes 的开销。
值得注意的是,虽然 UDP 是不可靠的,但使用 UDP 协议的 Application 可以自己来实现可靠的数据传输,比如通过增加 ACK 确认和重传机制等,有针对性的进行加强。