报文的校验和算法一样,但在作用范围存在不同:
- IP校验和只校验20字节的IP报头;
- 而ICMP校验和覆盖整个报文(ICMP报头+ICMP数据);
- UDP和TCP校验和不仅覆盖整个报文,而且还有12字节的IP伪首部,包括源IP地址(4字节)、目的IP地址(4字节)、协议(2字节,第一字节补0)和TCP/UDP包长(2字节)。另外UDP、TCP数据报的长度可以为奇数字节,所以在计算校验和时需要在最后增加填充字节0(注意,填充字节只是为了计算校验和,可以不被传送)。
- UDP的校验和是可选的,当校验和字段为0时,表明该UDP报文未使用校验和,接收方就不需要校验和检查。
当经过NAT设备的时候,必须修改校验值.否则会到达对方不认可.