摘要:
我就不管是按“位”(bit)取反相加,还是 按“1的补码”相加了,总之就是把需要进行校验的“字串”加(+)起来,把这相加的 结果取反当做“校验和” (Checksum), 比如,相加的结果是0101,那么“校验和”就是1010,验证的时候呢,就是0101+1010 = 1111,取反后, 就是0——如果验证得“零”(0),就是正确的!先将checksum字段置零,然后按16位分组,计算2进制反码和,最后再求和的反码!为了计算一份数据报的IP检验和,首先把检验和字段置为0。然后,对首部中每个16bit进行二进制反码求和(整个首部看成是由一串16bit的字组成),结果存在检验和字段中。当收到一份I 阅读全文