关闭

计算机网络 CRC循环冗余校验码

标签: 网络
3350人阅读 评论(1) 收藏 举报
分类:

4.使用循环冗余校验码CRC,

接收方如何检查收到的信息有无错误(一个简单通俗的模型) 首先接收方和发送方约定一个“生成多项式”g(x);

发送方发送的是T(x),接收方接收到的是R(x),若T(x)和R(X)相等,则传输的过程中没有出现错误。

发送方要传输的信息info包含在T(x)里,info是T(x)的一部分,但不能说info就是T(x)。

CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。 它的编码规则是:

编码规则

  CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。 它的编码规则是:

移位

  将原信息码(kbit)左移r位(k+r=n)

相除

  运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码。  非常简单,要说明的:模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位,公式是:  0+0=1+1=0,1+0=0+1=1  即‘异’则真,‘非异’则假。  由此得到定理:a+b+b=a 也就是‘模2减’和‘模2加’直值表完全相同。  有了加减法就可以用来定义模2除法,于是就可以用生成多项式g(x)生成CRC校验码。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:961532次
    • 积分:10949
    • 等级:
    • 排名:第1525名
    • 原创:277篇
    • 转载:57篇
    • 译文:0篇
    • 评论:61条
    最新评论