摘要
- IPv4 的 16 位校验和只覆盖报头,用来检查处理和转发数据报所需的信息。
- 报头字段会在传输中改变,因此每个报头处理点都必须验证并重新计算校验和。
保护转发所依赖的部分
RFC 791 将校验和定义为报头所有 16 位字的一补码和的反码。计算时,校验和字段本身按零处理,结果写回报头。
目的地址、长度、分片状态、生存时间和协议标识都会影响数据报的处理。RFC 791 因而说明,校验和验证的是处理信息,而数据本身仍可能出错。检测到报头校验失败时,检测实体必须立即丢弃数据报。
这不是端到端的数据完整性服务。IPv4 校验和不覆盖载荷;仅凭它无法知道载荷是否受到其他机制保护。
报头会合法地变化
路由器处理数据报时会减少 TTL。分片、地址变化或选项变化也可能改写报头。RFC 791 要求在每个报头处理点进行验证和重新计算。
实现可以完整重算,也可以只根据旧值和变化字段进行增量更新。RFC 1624 强调,增量路径必须与完整计算产生完全相同的结果。
零的两种表示
一补码算术有正零和负零两种零表示。RFC 1141 的早期增量公式在特殊情况下可能得到与完整计算不同的表示。RFC 1624 修正了公式,但没有改变线上的字段宽度或报头专属范围。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
