一、校验和概念
报头校验和(Header Checksum)是针对IP报头的纠错字段。校验和不计算被封装的数据,UDP、TCP和ICMP都有各自的校验和。报头校验和字段包含一个16位二进制补码和,这是由数据包发送者计算得到的。接受者将连同原始校验和重新进行16位二进制补码和的计算。如果数据包传输中没有发生错误,那么结果应该16位全部为1。
二、校验和算法
IP校验和主要是用来保证数据(IP报头)的完整性的,就是反码求和校验。需要注意的是反码求和又叫1的补码,而2的补码就是我们通常说的补码求和了。校验算法具体如下。
1、发送方i)将校验和字段置为0,然后将IP报头按16比特分成多个单元,如包头长度不是16比特的倍数,则用0比特填充到16比特的倍数;