IP 设计者为什么选择 IP 校验和?

IP 设计者为什么选择 IP 校验和?

为什么 IP(以及 UDP 和 TCP)的设计者选择使用IP 校验和来检测错误,而不是使用更强大的错误检测码(如CRC-32)?

我以前认为选择 IP 校验和是因为它在软件中重新计算速度快且成本低(例如,每一跳的路由器都必须减少 TTL 字段,然后重新计算 IP 头的校验和),但了解到 CRC-32 可以在硬件中使用 k 位移位寄存器和 XOR 门快速实现(彼得森,戴维:《计算机网络:系统方法》,第 5 版。)我不太确定这个论点是否仍然成立。

答案1

IP 需要能够在各种硬件上轻松实现。当时的 CPU 没有内置 CRC32 硬件。没有人期望创建自定义硬件以实现 IP 兼容性;IP 应该由软件处理。因此,他们必须选择能够在 1981 年已经投入使用的系统上轻松实现软件的东西(想想 DEC PDP-11 等)。

相关内容