已证明,CRC32C比CRC32提供更好的结果(改善的汉明距离和更快的实现)。为什么以太网仍然使用旧的CRC 32而不是CRC32C?
答案 0 :(得分:3)
对于通常用于实现数据链路层的硬件,“快速实现”不是正确的。
您可能是指一个特定的处理器体系结构x86-64具有使用CRC-32C多项式的CRC指令。但是,ARM体系结构(aarch64)CRC指令使用CRC-32多项式。走吧。
一个人可能会争论说应该使用另一个多项式,因为考普曼已经将许多多项式的性能表征为比您提到的任何一个都更好的性能。但是,自从...以来,这些都不重要。
所有传统硬件都必须支持原始CRC,并且几乎没有动机提供发送者和接收者之间需要协商的替代CRC。典型的噪声源(罕见的单个位错误)没有明显的性能优势。