用户数据报协议

用户数据报协议 (UDP) 是 TCP/IP 协议套件中最简单的传输层通信协议。 它涉及最少的通信机制。 UDP 被认为是一种不可靠的传输协议,但它使用的 IP 服务提供了尽力而为的传递机制。

在 UDP 中,接收方不会生成收到数据包的确认,反过来,发送方也不会等待任何已发送数据包的确认。 这个缺点使得这个协议不可靠,但更容易处理。


UDP 要求

可能会出现一个问题,为什么我们需要一个不可靠的协议来传输数据? 我们部署 UDP,其中确认数据包与实际数据共享大量带宽。 例如,在视频流的情况下,成千上万的数据包被转发给它的用户。 确认所有数据包很麻烦,并且可能会浪费大量带宽。 底层IP协议的最佳传递机制确保其数据包尽最大努力传递,但即使视频流中的某些数据包丢失,影响也不是灾难性的,很容易被忽略。 视频和语音流量中的少量数据包丢失有时会被忽视。


特点

  • 当数据确认没有任何意义时使用UDP。

  • UDP 是一种很好的单向数据流协议。

  • UDP 简单,适用于基于查询的通信。

  • UDP 不是面向连接的。

  • UDP 不提供拥塞控制机制。

  • UDP 不保证数据的有序传送。

  • UDP 是无状态的。

  • UDP 适用于流媒体应用程序,例如 VoIP、多媒体流媒体。


UDP 标头

UDP 标头与其功能一样简单。

UDP 标头

UDP头包含四个主要参数:

  • 源端口  - 这16位信息用于识别数据包的源端口。

  • 目的端口  - 这 16 位信息,用于识别目标机器上的应用程序级服务。

  • 长度  - 长度字段指定UDP数据包的整个长度(包括头)。 它是 16 位字段,最小值是 8 字节,即 UDP 标头本身的大小。

  • 校验和  - 该字段存储发送方在发送前生成的校验和值。 IPv4 将此字段作为可选字段,因此当校验和字段不包含任何值时,它将被设为 0,并且其所有位都设置为零。


UDP 应用程序

以下是一些使用 UDP 传输数据的应用:

  • 域名服务

  • 简单网络管理协议

  • 普通文件传输协议

  • 路由信息协议

  • Kerberos