(最简单理解)UDP/TCP校验和

校验和

  • 用来检测传输的数据是否出错

校验和过程:

  • 发送方:

    • 将应用层的报文段按16bit为单位求和,如进位就回滚,最后取反(和数据一起发给接收方
  • 接收方

    • 将在接收方求得的校验和    与    接受的报文段按16bit求和的结果    相加,如果=1111    1111    1111    1111则正确,反之出错

例子:

应用层报文按16bit求和

     1110    0110    0110    0110 

+   1101    0101    0101   0101

=  11011   1011    1011    1011 (回滚就是把多出的最高位单独拿出来与结果相加

 

    1011   1011    1011    1011

+                                          1

=  1011   1011    1011    1100

 

最后取反 

=  0100    0100   0100   0011  (此为校验和,发送方也会传给接收方

接收方接收到数据和校验和后相加,因为校验和在发送方取反了,所以如果传输过程没有出错的话,相加应该= 1111    1111    1111    1111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值