循环冗余检验CRC

      CRC检验也称循环冗余检验,在通讯链路中,不肯能使误码率下降到0,因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施,目前在数据链路层广泛使用的就是CRC的检查技术。

     下面通过一个简单的例子说明循环冗余检验的原理:、

     在发送端,先把数据划分为组,假定每组k个bit,现假定传输的数据M=101001(k=6)。CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位,在所要发送的数据后面增加n位冗余码,虽然增大了数据传输的开销,但却可以进行数据检测。

     这n位冗余码可以用下面的方法得出:用二进制的模2运算进行2^n乘M的运算,这相当于在M后面添加n个0,得到的(k+n)位的数除以收发双方事先商定的长度为(n+1)位的除数P,得出商是Q而余数是R(n位,比P少一位),关于除数P下面还要介绍,在下图所示的例子中,M=101001(即k=6),假定除数P=1101,即n=3,经模二除法运算后结果是:Q=110101,而余数R=001,这个余数R作为冗余码 加在数据后面发出去,这种为了进行检错而添加的冗余码称为帧检验序列FCS,因此发出去的帧是1010001001.

      

      在接收端把接收到的数据以帧为单位进行CRC检验,把收到的每一个帧都除以(模2)同样的除数P,然后检查得到的余数R。

      如果R=0,则无差错,就接受。

      如果R!=0,就丢弃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值