循环冗余
天下维客,你可以修改的网络知识库
| 循环冗余 | 拷贝时出现循环冗余的解决方法 | 循环冗余码算法分析 | 循环冗余码校验的原理 | 数据恢复的所有文章 |
循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。
目录 |
拷贝时出现循环冗余的解决方法
因为已经知道是CRC的问题,严格的不能放过半个坏块,那我们可以略过这个坏块,但此种方法只是合于丢包仍然可以继续是用的文件,例如影音文件等,不适用于应用程序文件。
- 一些下载软件将一个完整的文件分为几块然后多线程下载,就可以完整的解决这个问题。
- 具体解决方法参见:拷贝时出现循环冗余的解决方法
循环冗余检查的工作方法
在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端,接收端收到的信息按发送端形成循环冗余码同样的算法进行校验,若有错,需重发。
循环冗余码的工作原理
循环冗余码CRC在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到,K位要发送的信息位可对应于一个(k-1) 次多项式K(X),r位冗余位则对应于一个(r-1)次多项式R(X),由r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)=Xr*K(X)+R(X)。
循环冗余校验码的特点
- 可检测出所有奇数位错;
可检测出所有双比特的错; 可检测出所有小于、等于校验位长度的突发错。
循环冗余码算法分析
- 详细参见:循环冗余码算法分析
CRC码的生成步骤
- 将x的最高幂次为R的生成多项式G(x)转换成对应的R+1位二进制数。
将信息码左移R位,相当与对应的信息多项式C(x)*2R 用生成多项式(二进制数)对信息码做模2除,得到R位的余数。 将余数拼到信息码左移后空出的位置,得到完整的CRC码。
循环冗余码(CRC)校验的原理
物理过程所引起的差错,在某些介质中通常是突发的而不是单个的。网络设计者已经研究出两种基本的策略来处理差错。一种方法是在每一个要发送的数据块上附加足够的冗余信息,使接收方能够推导出已发出的字符应该是什么。另一种方法是只加足够的冗余位,使接收方知道差错发生,但不知道是什么样的差错,然后要求接收方重新进行传输。前者的策略是使用纠错码(error-correcting code),而后者则使用检错码(error-detecting code)
- 参见:循环冗余码校验的原理
内容不完整……(欢迎补充资料)
相关知识
相关条目
硬件 - 软件 - 操作系统 - 应用软件 - 电脑教程 - 语言 - 内存


