UDP协议详解

一、UDP协议简介

UDP协议,即用户数据报协议(User Datagram Protocol),是一个简单的面向数据报的传输层协议。UDP协议只在IP数据报服务商增加了很少一点的功能,就是复用和分用,以及差错检测的功能。

二、UDP协议的主要特点

1)无连接的
发送数据之前不需要建立连接,减少了开销和发送数据之前的时延。
(2)尽最大努力交付
不保证可靠的交付,主机不需要维持复杂的链接状态表。
(3)面向报文的
发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
(4)没有拥塞控制。
(5)支持一对一、多对一和多对多的交互通信。
(6)首部开销小,只有8个字节。

三、UDP数据报的首部结构

用户数据报UDP有两个字段:数据字段和首部字段。首部字段只有8个字节,如下图所示:

首部部分很简单,只有8个字节,由四个字段组成,每个字段都是两个字节。各个字段意义分别是:

(1)源端口

在需要对方回信时使用,不需要时全为0

(2)目的端口

发送UDP数据报的目的地。

(3)长度

UDP数据报的长度,最短为8个字节,只包含首部。

(4)检验和

用于检验UDP数据报在传输过程中有没有出差错,有则丢弃。

伪首部:
a.伪首部是用来校验的,它必须和首部中的校验和结合起来使用。
b.在计算检验和时临时加上去的,伪首部既不向下传送也不向上提交,而仅仅时为了计算检验和
c.在计算检验和时,需要在UDP用户数据报之前增加12个字节的伪首部。这个伪首部并不是UDP真正的首部,这是在计算检验和时临时和UDP用户数据报连接在一起,得到一个过渡的UDP用户数据报,检验和就是按照这个过渡的UDP用户数据报来计算的。伪首部既不向下传送也不向上提交,而仅仅时为了计算检验和。UDP计算检验和的方法和计算IP数据报首部检验和的方法相似,不同的是,IP数据报的检验和只是检验IP数据报的首部,但是UDP的检验和是将首部和数据部分一起都检验。

posted on 2013-12-12 14:14  duanxz  阅读(5199)  评论(0编辑  收藏  举报