use*_*894 1 crc32 ethernet crc
事实证明,CRC32C 比 CRC32 提供更好的结果(改进的汉明距离和更快的实现)。为什么以太网仍然使用旧的 CRC 32 而不是 CRC32C?
对于通常用于实现数据链路层的硬件来说,“更快的实现”并不成立。
您可能指的是这样一个事实:一种特定的处理器架构 x86-64 具有使用 CRC-32C 多项式的 CRC 指令。然而,ARM 架构 (aarch64) CRC 指令使用 CRC-32 多项式。去搞清楚。
有人可能会争辩说应该使用另一个多项式,因为库普曼已经描述了许多多项式的性能,其性能比您提到的任何一个都更好。但这些都不重要,因为......
所有传统硬件都必须支持原始 CRC,并且没有动力提供需要在发送器和接收器之间以某种方式进行协商的备用 CRC。对于典型的噪声源(很少见的单位错误)来说,没有明显的性能优势。