为什么以太网使用 CRC-32 而不是 CRC-32C?

Why Ethernet is using CRC-32 and not CRC-32C?

已经证明 CRC32C 比 CRC32 提供更好的结果(改进的汉明距离和更快的实现)。为什么以太网仍然使用旧的 CRC 32 而不是 CRC32C?

"Faster implementation" 不适用于通常用于实现数据 link 层的硬件。

您可能指的是这样一个事实,即一种特定的处理器架构 x86-64 具有使用 CRC-32C 多项式的 CRC 指令。然而,ARM 架构 (aarch64) CRC 指令使用 CRC-32 多项式。去图吧。

有人可能会争辩说应该使用另一个多项式,因为 Koopman 已经描述了许多多项式的性能,其性能比您提到的任何一个都好。但是 none 确实很重要,因为 ...

所有遗留硬件都必须支持原始 CRC,并且几乎没有动力提供备用 CRC,因为需要在发送器和接收器之间以某种方式协商使用。典型噪声源没有明显的性能优势,这是罕见的单比特错误。