UDP协议校验和的计算

UDP协议的伪首部既不向上传输也不向下传输为什么我们还要计算它?

答:UDP的校验和需要计算UDP首部加数据荷载部分,也需要加上UDP伪首部,既如图所示:

源IP地址,目的IP地址,UDP长度,再加上被补充了1字节全零的协议类型(即第三字段和第四字段)构成了一个长度为12字节的伪首部

在图中可以看出在计算校验和时,校验和的那部分也被包含其中。在计算时校验和的部分被置0方可计算

UDP校验和的计算方法:(按图二进行计算)

1.将校验和字段置零。

2.把所有比特位按16-bit(2字节)一组进行划分。

3.把2中划分好的组进行向加,如果遇到进位,将进位值加到值的最低位上。举例:(用16进制表示)

0xBB5E+0xFCED = 0x1 B84B, 可以看出在这个例子中结果有进位,所以将进位值1加到值的最低位上,得到结果是0xB84C

4.把所有的组相加到一起后,得到的结果是一个16位的数,将这个结果取反后则得到了校验码。

 

 

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值