本篇博文总结于
《计算机网络》。
概述:UDP只在IP的数据报服务之上增加了很少一点的功能,就是复用和公用的功能以及差错检测的功能。
特点:无连接;尽最大努力付,不保证可靠交付;面向报文。
首部格式:由四个字段组成,每个字段的长度都是两个字节。
源端口:源端口号。在需要对方回信时选用,不需要时可用全0;目的端口:目的端口号。这在终点交付报文时必须要使用到。长度:UDP用户数据报的长度,其最小值是8(仅有首部);检验和:检测UDP用户数据报在传输中是否有错。有错就丢弃。
计算检验和:要在UDP用户数据报之前增加12个字节的伪首部。伪首部既不向下传送也不向上递交,而仅仅是为了计算检验和。这种伪首部并不是UDP用户数据报真正的首部,只是在计算检验和时,临时添加在UDP用户数据报前面,得到一个临时的UDP用户数据报。
UDP计算检验和的方法和计算IP数据报首部检验和的方法相似,不同的是:IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是首部和数据部分一起都检验。
发送方:在发送方,首先是先把全零放入检验和字段,再把伪首部以及UDP用户数据报看成是由许多16位的字串接起来。若UDP用户数据报的数据部分不是偶数个字节,则要填入一个全零字节(但此字节不发送)。然后按二进制反码计算出这些16位字的和,将此和的二进制反码写入检验和字段后,就发送这样UDP用户数据报。
接收方:把收到的UDP用户数据报连同伪首部(以及可能的填充全零字节)一起,按二进制反码求这些16位字的和。当无差错时其结果应为全1。否则就表明有差错出现,接收方就应丢弃这个UDP用户数据报(也可以上交给应用层,但附上出现了差错的警告)。
转载请注明原文地址: https://ju.6miu.com/read-968902.html