用户数据报协议
用户数据报协议 (UDP) 是 TCP/IP 协议套件中最简单的传输层通信协议。 它涉及最少的通信机制。 UDP 被认为是一种不可靠的传输协议,但它使用的 IP 服务提供了尽力而为的传递机制。
在 UDP 中,接收方不会生成收到数据包的确认,反过来,发送方也不会等待任何已发送数据包的确认。 这个缺点使得这个协议不可靠,但更容易处理。
UDP 要求
可能会出现一个问题,为什么我们需要一个不可靠的协议来传输数据? 我们部署 UDP,其中确认数据包与实际数据共享大量带宽。 例如,在视频流的情况下,成千上万的数据包被转发给它的用户。 确认所有数据包很麻烦,并且可能会浪费大量带宽。 底层IP协议的最佳传递机制确保其数据包尽最大努力传递,但即使视频流中的某些数据包丢失,影响也不是灾难性的,很容易被忽略。 视频和语音流量中的少量数据包丢失有时会被忽视。
特点
当数据确认没有任何意义时使用UDP。
UDP 是一种很好的单向数据流协议。
UDP 简单,适用于基于查询的通信。
UDP 不是面向连接的。
UDP 不提供拥塞控制机制。
UDP 不保证数据的有序传送。
UDP 是无状态的。
UDP 适用于流媒体应用程序,例如 VoIP、多媒体流媒体。
UDP 标头
UDP 标头与其功能一样简单。
UDP头包含四个主要参数:
源端口 - 这16位信息用于识别数据包的源端口。
目的端口 - 这 16 位信息,用于识别目标机器上的应用程序级服务。
长度 - 长度字段指定UDP数据包的整个长度(包括头)。 它是 16 位字段,最小值是 8 字节,即 UDP 标头本身的大小。
校验和 - 该字段存储发送方在发送前生成的校验和值。 IPv4 将此字段作为可选字段,因此当校验和字段不包含任何值时,它将被设为 0,并且其所有位都设置为零。
UDP 应用程序
以下是一些使用 UDP 传输数据的应用:
域名服务
简单网络管理协议
普通文件传输协议
路由信息协议
Kerberos