首页 > 知识点讲解
       循环冗余校验码
知识路径: > 网络技术 > 数据通信基础 > 传输技术 > 差错控制 > 
相关知识点:2个      
        循环冗余校验码(CRC)是一种循环码,其特征是信息字段和校验字段的长度可以任意选定,在局域网中有广泛应用。
        生成CRC码的基本原理是:任意一个由二进制位串组成的代码都可以和一个系数仅为0和1取值的多项式一一对应,如代码1010111对应的多项式为x6+x4+x2+x+1。
        CRC码集选择的原则是:若设码字长度为N位,信息字段为K位,校验字段为R位(N=K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得
        V(x)=A(x)g(x)=xRm(x)+r(x)
        式中,m(x)为K次信息多项式;r(x)为R-1次校验多项式。
        g(x)=g0+g1x+g2x2+…+gRxR
        通常将g(x)称为生成多项式,即所有合法的码字都可以由g(x)生成。数据通信的发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。根据信息字段和g(x)来生成/验证CRC码字的过程可由软件和硬件两种方法实现。
        (1)软件实现的方法借助于多项式除法。
        (2)CRC可以用移位寄存器实现,移位寄存器由k位组成,还有几个异或门和一条反馈回路。如下图所示的移位寄存器可以按CCITT-CRC标准生成16位的校验和。寄存器被初始化为0,数据字从右向左逐位输入。当一位从最左边移出寄存器时,就通过反馈回路进入异或门,与后继进来的位以及左移的位进行异或运算。当所有m位数据从右边输入完后,再输入k个0(本例中k=16)。最后,当这一过程结束时,移位寄存器中就形成了校验和。k位的校验和随在数据位后边发送,接收端可以按同样的过程计算校验和并与接收到的校验和比较,以检测传输中的差错。
        
        CRC的实现
        推荐的CRC生成多项式g(x)为
        CRC12=x12+x11+x3+x2+x1+1R=12
        CRC16=x16+x15+x2+1R=16 IBM专用
        CRC16=x16+x12+x5+1R=16 CCITT专用
        CRC32=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1R=32 LAN中常用
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有