zhouqijie

用户数据报UDP

1、概述

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

  1. UDP是无连接的。不需要建立连接和释放连接,减少了开销和时延。
  2. UDP使用尽最大努力交付。即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
  3. UDP是面向报文的。UDP对于应用层交下来的报文,既不合并也不拆分,不论报文多长都照样发送,一次发送一个报文。
  4. UDP没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低,这对于一些实时应用很重要。
  5. UDP支持一对一、一对多、多对多、多对一通信
  6. UDP首部开销小。UDP首部只有8字节,比TCP的20字节要短。



2、UDP的首部格式

UDP有两个字段:数据字段和首部字段。首部字段只有8个字节,由4个字段组成,每个字段长度都是两个字节。

  1. 源端口号。需要对方回信时选用。
  2. 目的端口号。这在终点交付报文时必须使用。
  3. 长度。UDP用户数据报的长度,最小值是8(仅有首部)。
  4. 校验和。检测UDP用户数据报在传输时是否出错。

当运输层从IP层收到UDP数据报时,就根据目的端口,把UDP数据报通过相应端口上交给应用进程。

如果接收方UDP发现收到的报文中目的端口不存在对应的应用进程,就丢弃报文。并由ICMP发送“端口不可达”差错报文给发送方。

UDP用户数据报首部的校验和的计算方法有些特殊。在计算校验和时,要在UDP用户数据报之前临时增加12字节的伪首部。校验和就是按照这个加上伪首部的临时的UDP用户数据报来计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。UDP计算校验和的方法和IP数据报首部检验和的方法类似。但不同的是,IP数据报检验和只检验IP数据报首部,但UDP检验和是把首部和数据部分一起都检验。

(END)