【Linux】CRC校验
来源:互联网 发布:如何计算矩阵一致性 编辑:程序博客网 时间:2024/06/08 03:15
1.crc简介
循环冗余校验(CRC)是数字网络和存储设备中通常使用的错误检测码,用于检测原始数据的意外变化,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,并且在检查值不匹配的情况下,可以采取针对数据损坏的纠正措施,以保证数据传输的正确性和完整性。
2.crc基本工作原理
1)发送端将发送数据比特序列当作一个多项式f(x),用双方约定好的多项式g(x)去除,得到余数多项式r(x)。最终将f(x)*x^k+r(x)发送给接收端。
2)接收端用g(x)去除接收到的f’(x),计算得到余数多项式r’(x)。
3)若计算得到的多项式r’(x)与接收到的r(x)相同,表示传输无差错,否则出错,通知发送端重传,直至正确为止。
原理图:
3.crc检错能力
- 能够检查出全部离散的1位错。
- 能够检查出全部离散的2位错。
- 能够检查出全部奇数位错。
- 能够检查出全部长度小于或等于K位的突发错。
- 能以(1-(1-2)^(k-1)的概率检查出长度位K+1位的突发错。
4.crc检错方法举例
1)发送比特序列为11100011;
2)生成多项式序列为110011;
3)发送数据比特序列成衣2^5,乘积为1110001100000;
4)乘积除以生成比特序列得余数比特序列为11010;
5)将余数比特序列加到乘积中得1110001111010;
6)如果数据传输过程中没有出现差错,接收端收到的带有CRC检验码的数据比特序列一定能被相同的生成多项式整除。
阅读全文
0 0
- Linux/CRC校验
- linux之CRC校验
- linux CRC校验
- [Linux]CRC校验
- 【Linux】详解CRC校验
- Linux CRC校验
- 【Linux】CRC校验
- Linux ——CRC校验
- Linux网络基础——CRC校验
- Linux日常——CRC校验
- Linux--ARP协议与CRC校验
- CRC校验
- CRC校验
- crc校验
- CRC校验
- CRC校验
- crc校验
- CRC校验
- MySQL中的基本知识
- Java中MVC详解以及优缺点总结
- 算法证明题 8.9 HITTING SET
- Nginx学习——Nginx简单介绍和Linux环境下的安装
- 前情回顾#继承_多态_动态调用
- 【Linux】CRC校验
- Java基础API-lang包
- HTML笔记(HTML头部)
- windows下java环境的安装与配置
- numpy基础操作
- HTML的Web Storage
- 原生js拖拽与吸附(touch+translate+css3)
- CI框架(1)-入门
- SQL常用语句学习