UDP检验和计算方法

UDP用户数据报格式

UDP用户数据报首部格式如下图所示,包括三个部分:

  1. UDP伪首部,12字节,伪首部并不是UDP数据报的真正首部,只是为了计算检验和临时添加在UDP数据报的前面,它既不向下传送也不向上递交,它的仅仅是为了计算检验和而存在的。
  2. UDP首部,8字节、
  3. UDP数据等三部分组成,

在这里插入图片描述

计算方法

在计算前,需要进行以下处理:

  1. 伪首部中第4字段指的是IP首部中的协议字段值,这里是UDP协议,对应的字段值为17;
  2. 伪首部中第5字段,UDP长度,指的是UDP用户数据报的长度,即UDP首部+UDP数据部分的长度,不包括UDP伪首部的长度;
  3. UDP首部中的检验和在计算前全置零;
  4. 在进行计算时,UDP用户数据报的长度需要凑够偶数字节,如果数据部分为奇数字节,则需要补充1个全零的字节(此字节不发送)。

在经过以上处理后,即可进行UDP检验和(发送方)计算,步骤如下:

  1. 检验和字段置零,UDP用户数据报凑够偶数字节;
  2. 把所有位(UDP伪首部+UDP首部+UDP数据部分)按16位划分为不同的字;
  3. 计算上述所有16位字的和,如果有进位导致总位数超过16位,则把进位值加到末位;
  4. 将上述计算的和取反即为UDP用户数据报的检验和。

在这里插入图片描述
上述方法是发送方UDP检验和的计算方法,在接收方,会把接收到的UDP用户数据报(UDP首部+UDP数据部分)、添加的UDP伪首部、为凑够偶数字节而填充的字节(可能存在)组合起来,通过如上方法进行处理,即进行16位划分、计算所有16位字的和、对求和结果进行取反等。如果结果16位全为1,则UDP用户数据报传送正确;否则,代表有差错出现,接收方应丢弃该UDP用户数据报。

总结
  1. 通过上述计算过程可知,UDP检验和是把UDP首部和UDP数据部分一起检验,不同于IP数据报检验方法(两者计算方法相似,但IP数据报只检验其首部,不检验数据部分);
  2. 如上差错检验方法检错能力并不强,但它的优点是简单、 处理速度快。
参考
  1. 《计算机网络-第7版》-谢希仁著
  • 16
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IP、TCP和UDP校验和计算工具是计算机网络中用于检测数据传输错误的工具。 IP校验和是在IP协议中使用的一种检验机制,用于检测IP数据报在传输过程中是否发生错误。计算IP校验和的方法是将IP数据报中的每个16位字(包括头部和数据部分)相加,然后将结果取反。接收端在接收到IP数据报后也会计算校验和,若计算结果不一致,则说明数据传输中发生了错误。 TCP校验和是在TCP协议中使用的一种检验机制,用于检测TCP报文在传输过程中是否发生错误。计算TCP校验和的方法是将TCP报文中的每个16位字(包括头部和数据部分)相加,然后将结果取反。接收端在接收到TCP报文后也会计算校验和,若计算结果不一致,则说明数据传输中发生了错误。 UDP校验和是在UDP协议中使用的一种检验机制,用于检测UDP数据包在传输过程中是否发生错误。计算UDP校验和的方法是将UDP数据包中的每个16位字(包括头部和数据部分)相加,然后将结果取反。接收端在接收到UDP数据包后也会计算校验和,若计算结果不一致,则说明数据传输中发生了错误。 这些校验和计算工具的作用是保障数据在传输过程中的完整性,一旦检测到错误,就可以及时发现并进行错误处理,提高数据传输的可靠性和正确性。这在计算机网络中非常重要,尤其在数据的传输过程中经常存在着可能导致数据错误的噪声和干扰。通过使用IP、TCP和UDP校验和计算工具,可以有效降低数据传输错误带来的影响,保障数据的安全和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值