计算机网络 - 用户数据报协议 (UDP)

  • 简述

    用户数据报协议 (UDP) 是 TCP/IP 协议套件中可用的最简单的传输层通信协议。它涉及最少的通信机制。UDP 被认为是一种不可靠的传输协议,但它使用提供尽力而为交付机制的 IP 服务。
    在 UDP 中,接收方不会生成收到数据包的确认,反过来,发送方也不会等待任何已发送数据包的确认。这个缺点使该协议不可靠并且更易于处理。
  • UDP的要求

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

    • 当数据确认没有任何意义时,使用 UDP。
    • UDP 是用于单向数据流的良好协议。
    • UDP 很简单,适用于基于查询的通信。
    • UDP不是面向连接的。
    • UDP 不提供拥塞控制机制。
    • UDP 不保证数据的有序传送。
    • UDP 是无状态的。
    • UDP 适用于流媒体应用程序,例如 VoIP、多媒体流媒体。
  • UDP 报头

    UDP 标头与其功能一样简单。
    UDP 报头
    UDP头包含四个主要参数:
    • Source Port  - 这 16 位信息用于识别数据包的源端口。
    • Destination Port  - 这 16 位信息,用于识别目标机器上的应用程序级服务。
    • Length  - 长度字段指定UDP数据包的整个长度(包括头)。它是 16 位字段,最小值为 8 字节,即 UDP 标头本身的大小。
    • Checksum  - 该字段存储发送方在发送前生成的校验和值。IPv4 将此字段作为可选字段,因此当校验和字段不包含任何值时,它被设为 0,并且它的所有位都设置为零。
  • UDP应用

    以下是一些使用 UDP 传输数据的应用程序:
    • 域名服务
    • 简单网络管理协议
    • 普通文件传输协议
    • 路由信息协议
    • Kerberos