udp检验和

udp检验和提供了差错检验功能.
发送方的udp对报文段中的所有16比特字的和进行反码运算,求和时遇到溢出会被回卷
假定 下面是个报文段,有3个16比特的字

0110011001100000
0101010101010101

1000111100001100

先把前两个相加求和
 0110011001100000
+0101010101010101
 1011101110110101 与第三个继续求和

 1000111100001100

10100101011000001 和为17位了溢出了 需要回卷 回卷就是把溢出的最高位和最低位做加法运算

1 + 0100 1010 1100 0001 = 0100 1010 1100 0010

 0100101011000010

 然后按位取反

 1011010100111101 这就是校验和

接收方把这四个16比特字(包括校验和)全部相加如果没有引入错误结果应该是1111111111111111.

 

 

真麻烦啊.这么难算.................................

 

 


~                                                                               
~                                                                               
~                                     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值