用户数据报UDP
1、概述
用户数据报UDP只在IP的数据报服务之上增加了很少一点功能,即复用和分用的功能以及差错检测功能。
- UDP特点:
- UDP是无连接的。不需要建立连接和释放连接,减少了开销和时延。
- UDP使用尽最大努力交付。即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
- UDP是面向报文的。UDP对于应用层交下来的报文,既不合并也不拆分,不论报文多长都照样发送,一次发送一个报文。
- UDP没有拥塞控制。网络出现的拥塞不会使源主机的发送速率降低,这对于一些实时应用很重要。
- UDP支持一对一、一对多、多对多、多对一通信。
- UDP首部开销小。UDP首部只有8字节,比TCP的20字节要短。
2、UDP的首部格式
UDP有两个字段:数据字段和首部字段。首部字段只有8个字节,由4个字段组成,每个字段长度都是两个字节。
- 源端口号。需要对方回信时选用。
- 目的端口号。这在终点交付报文时必须使用。
- 长度。UDP用户数据报的长度,最小值是8(仅有首部)。
- 校验和。检测UDP用户数据报在传输时是否出错。
- 目的端口:
当运输层从IP层收到UDP数据报时,就根据目的端口,把UDP数据报通过相应端口上交给应用进程。
如果接收方UDP发现收到的报文中目的端口不存在对应的应用进程,就丢弃报文。并由ICMP发送“端口不可达”差错报文给发送方。
- 伪首部:
UDP用户数据报首部的校验和的计算方法有些特殊。在计算校验和时,要在UDP用户数据报之前临时增加12字节的伪首部。校验和就是按照这个加上伪首部的临时的UDP用户数据报来计算的。伪首部既不向下传送也不向上递交,而仅仅是为了计算校验和。UDP计算校验和的方法和IP数据报首部检验和的方法类似。但不同的是,IP数据报检验和只检验IP数据报首部,但UDP检验和是把首部和数据部分一起都检验。
(END)