IP首部检验和的计算和举例
IP首部校验和
首部校验和(16位)字段只检验数据报的首部,不检验数据部分。这里不采用CRC检验码而采用简单的计算方法。
发送端
首先将检验和置零,求首部数据的补码和(包含检验和),因为为零,所以无影响,再对所求结果求反码放入检验和就完成啦
PS:补码和其实就是带循环进位的加法,如果有进位就不断累加最后多处来的再加到末位上即可
接收端
对首部数据再做一次补码和(也包括检验和位),再对结果取反,若为零,则说明首部信息无误,若不为零则丢弃
解释
接收端相当于做了一次数据X与X^做异或再取反,故得零
举例