检验和的计算:
1 把16bit的“首部检验和”字段置为零
2
在IP数据报首部,以16位为单位切分成一段一段的
字,
计算所有字(仅首部)之和,并把求和所溢出数加到最低位上。
3 把步骤2得到的结果求反码(按位取反),得到检验和
4 把检验和存储在检验和字段中
检验和的检测:
1 计算所有16位字之和
2 接受报文中已包含了检验和,所以如果传输过程没有差错,则上一步结果应为全1
3 全1接受报文,并交由上层协议进一步处理;若不是全1则证明有误,IP层丢弃该数据,但是不生成差错报文,由上层协议发现丢失的数据并进行重传。