其他分享
首页 > 其他分享> > UDP协议

UDP协议

作者:互联网

UDP协议

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。

 图1:UDP数据报文格式

如图1所示为UDP数据报文格式,UDP协议报文相对简单,主要由源端口、目的端口、包长和校验和组成。

  表示发送端端口号,字段长16位。该字段是可选项,有时可能不会设置源端口号,没有源端口号的时候该字段的值设置为0.可用于不需要返回的通信中。

  表示接收端端口,字段长度16位

  该字段保存了UDP首部的长度跟数据的长度之和。单位为字节(一个字节8位)

  校验和是为了提供可靠的UDP首部和数据而设计。在计算校验和时,如图2所示,附加在UDP伪首部与UDP数据报文之前。通过在最后一位增加一个“0”将全长增加16位。此时将UDP首部的校验和字段设置为“0”。然后以16比特为单位进行1的补码和,并将所得到的1的补码和写入校验和字段。

接收主机在收到UDP数据报文后,从IP首部获知IP资质信息构造UDP伪首部,再进行校验和计算。校验和字段的值是校验和字段以外剩下部分的1的补码和。因此包括校验和字段在内的所有数据之和结果为“16位全部为1”时,才会被认为所收到的数据是正确的。

  图2:校验和计算中使用的UDP伪首部

标签:协议,UDP,16,首部,报文,校验,端口号
来源: https://www.cnblogs.com/bonne-chance/p/16630804.html