用户数据报协议 UDP

用户数据报协议 UDP 只在 IP 的数据报服务之上增加了很少一点的功能,这就是复用分用的功能以及差错检测的功能。

UDP 的主要特点是:

  • UDP 是无连接的,即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。

  • UDP 使用尽最大努力交付,即不保证可靠交付。

  • UDP 是面向报文的。

    • 发送方的 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。

    • UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界 。这就是说,应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。

  • UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是很重要的。

    很多的实时应用(如 IP 电话、实时视频会议等)要求源主机以恒定的速率发送数据,并且允许在网络发生拥塞时丢失一些数据,但却不允许数据有太大的时延。UDP 正好适合这种要求。

  • UDP 支持一对一一对多多对一多对多的交互通信。

  • UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短。

UDP 的首部格式

UDP 的首部字段很简单,只有 8 个字节,由四个字段组成,每个字段的长度都是两个字节

各字段意义如下:

  • 源端口号:在需要对方回信时选用,不需要时可用全 0。

  • 目的端口号:这在终点交付报文时必须使用。

  • 长度:UDP 用户数据报的长度。

  • 检验和:检测 UDP 用户数据报在传输中是否有错。

UDP 计算检验和的方法和计算 IP 数据报首部检验和的方法相似

但不同的是:IP 数据报的检验和只检验 IP 数据报的首部,但 UDP 的检验和是把首部和数据部分一起都检验

Last updated