IPV4标头校验和验证

时间:2016-04-14 03:46:02

标签: networking

当数据包从源发送到目的地时,它必须经过几个路由器,并且每个路由器将数据包的TTL值减少1.因此,由于其中一个头字段,因此要在每个路由器上重新计算头校验和即TTL肯定会发生变化。那么目的地如何通过计算校验和来验证错误的存在,尽管它得到的校验和已经改变了,而不是源端的校验和?

2 个答案:

答案 0 :(得分:1)

当数据包离开源时,它有一些初始TTL和(希望)有效的校验和。

当数据包到达路由器时,路由器仅检查IPv4报头校验和。如果不正确,则会丢弃数据包。如果是正确的,它(1)递减TTL; (2)检查TTL是否高于零(否则数据包被丢弃)和(3)计算并填写新的IP报头校验和。

有趣的是,新校验和可以直接从旧校验和以及TTL的旧值和新值计算,并使用一些聪明的数学:https://tools.ietf.org/html/rfc1624,因此无需再次读取整个IPv4标头。

请注意,IPv6具有跳数限制(与TTL类似)但没有标头校验和。

答案 1 :(得分:0)

每个路由器在路由之前计算并验证校验和,如果路由器不匹配,则丢弃数据报。