关于UDP协议的介绍
UDP用户数据报头格式:
域
源端口是可选域,当其有意义时,它指的是发送过程的端口,这也就假定了在没有其它信息的情况下,返回信息应当向什么处所发送。如果不利用它,则在此域中填0。目标端口在有特定的目标网络地址时有意义。长度指的是此用户数据报长度的八进制表现。(这表明最小的数据报长度是8。)校验码有16位,是对IP头,UDP头和数据中信息包头的数位取反之和再取反得到的。
包头从概念上说是在UDP头信息之前的,它包含有源地址,目标地地址,所利用的协议和UDP长度。这些信息使信息不能被弊病地吸收。这个校验过程与TCP中利用的过程一致。
如果计算出的校验码为零,它将被全零发送。全零的校验值意味着发送者未产生校验码。
用户接口
用户接口应当容许创立新的吸收端口,在吸收端口的吸收操作有:应当返回一个八进制数阐明源端口和源地址,容许数据报传送,指定数据,源和目标端口和目标地地址。
IP层接口
UDP模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所利用的协议。一个可能的接口方法是返回全部数据报,包含吸收操作返回的包头。这样的接口还应当容许UDP向IP传送完整的带包头的数据报用于传送。由IP来断定一致性并计算校验码。
协议利用
此协议的最重要的用处是网际名称服务器和小文件传输协议。
协议号
在IP中利用它时,它的协议号是17(八进制中是21)。
UDP协议的标题结构
UDP信息包由UDP标题和数据组成。UDP的标题结构如图15-21所示,它由5个域组成:源端端口(Source Port)、目标地端口(Destination Port)、用户数据包的长度(Length)和检查和(Checksum)。其中,前4个域组成UDP标题(UDP header),每个域由4个字节组成;检查和域盘踞2个字节,它用来检测传输过程中是否涌现了弊病;用户数据包的长度包含所有5个域的字节数。
UDP信息包的标题结构
检查和的详细计算可在RFC 1071中找到,现举一例阐明利用检查和检测弊病的道理。例如,假设从源端A要发送下列3个16位的二进制数:word1,word2和word3到终端B,检查和计算如下:
word1 0110011001100110
word2 0101010101010101
word3 0000111100001111
sum=word1+ word2+ word3 1100101011001010
检查和(sum的反码) 0011010100110101
从发送端发出的4个(word1,2,3以及检查和)16位二进制数之和为1111111111111111,如果吸收端收到的这4个16位二进制数之和也是全“1”,就认为传输过程中没有出弊病。
许多链路层协议都供给弊病检查,包含风行的以太网协议,读者也许想知道为什么UDP也要供给检查和。其原因是链路层以下的协议在源端和终端之间的某些通道可能不供给弊病检测。虽然UDP供给有弊病检测,但检测到弊病时,UDP不做弊病校订,只是简略地把损坏的消息段扔掉,或者给利用程序供给警告信息。
读者也可能会问,收发两端的两个过程是否有可能通过UDP供给可靠的数据传输?答案是可以的。但必需要把确认和重传措施加到利用程序中,利用程序不能指望UDP来供给可靠的数据传输。
本消息共2页,当前在第1页 1 2