CRC校验的正确方法

问题描述 投票:0回答:1

我正在设计一个具有固定大小标头+有效负载字段的协议,我想在协议设计中添加 CRC 检查,

当在数据包末尾添加 CRC 值时,接收方有两种方法检查数据包完整性:

  1. 从有效负载部分(发送方生成 CRC 的部分)生成 CRC 值并检查接收到的值

  2. 用预定义的多项式划分整个数据包并检查零提醒

如果我们对 CRC 生成器使用固定初始值,这两种方法都可以很好地工作,那么正确的方法是什么?为什么?!

最后用CRC实现协议并测试它

crc crc32 crc16
1个回答
0
投票

正确的方法才是有效的方法。您的任何一个选项都可以工作,但请注意使用除法时会发生什么。余数不一定为零。

我更喜欢你的选项#1,因为a)它需要更少的时间来计算更少字节的CRC,b)你可以用其他一些检查替换CRC,而不必替换你所询问的一点验证码。

© www.soinside.com 2019 - 2024. All rights reserved.