2024年6月1日发(作者:)

UDP

一、 UDP协议的简介

UDP协议 用户数据包协议,是一种无连接的传输层协议,提供

简单不可靠的信息传送服务。在网络中它与TCP协议一样用于处理

UDP数据包。UDP不提供数据包分组、组装、不能对数据包进行排序,

也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP

用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频

会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP

协议。

二、UDP协议报头

UDP报头由4个域组成,其中每个域各占用2个字节:

UDP源端口号

目标端口号

数据报长度

校验值

数据发送一方(可以是客户端或服务器端)将UDP数据报通过源

端口发送出去,而数据接收一方则通过目标端口接收数据。

数据报的长度是指包括报头和数据部分在内的总字节数。从理论

上说,包含报头在内的数据报的最大长度为65535字节。不过,一些

实际应用往往会限制数据报的大小,有时会降低到8192字节。

UDP协议使用报头中的校验值来保证数据的安全。校验值首先在

数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要

再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线

路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由

此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必

须具有校验值。

虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,

只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。

三、用户数据报头格式

域:源端口是可选域,当其有意义时,它指的是发送进程的端口,

这也就假定了在没有其它信息的情况下,返回信息应该向什么地方发

送。如果不使用它,则在此域中填0。目的端口在有特定的目的网络

地址时有意义。长度指的是此用户数据报长度的八进制表示。(这表

明最小的数据报长度是8。)校验码有16位,是对IP头,UDP头和数

据中信息包头的数位取反之和再取反得到的。

报头从概念上说是在UDP头信息之前的,它包括有源地址,目的

地地址,所使用的协议和UDP长度。这些信息使信息不能被错误地接

收。这个校验过程与TCP中使用的过程一致。

用户接口:用户接口应该允许创建新的接收端口,在接收端口的

接收操作有:应该返回一个八进制数说明源端口和源地址,允许数据

报传送,指定数据,源和目标端口和目的地地址。

IP层接口:UDP模块必须能够决定源和目标的网络地址,而且必

须能够从包头中得知所使用的协议。一个可能的接口方式是返回整个