CRC循环冗余校验(计算机网络)
CRC循环冗余校验
- CRC差错检验的过程
- 提要
- CRC的具体过程
- 例题详解
CRC差错检验的过程
提要
数据在链路层进行传输时,为了保证接收到的数据比特流是准确无误的,会采用CRC循环冗余校验的方式进行校验,CRC能够保证接收到的数据比特流是正确的,但CRC也并非可靠传输,这是因为CRC不能保证丢失、重复或失序等数据的传输。下面,让我们来了解一下CRC校验的具体过程吧!
本篇章,只讲对CRC校验的运算过程,不涉及原理,通俗易懂,请放心大胆食用~
CRC的具体过程
通过CRC进行差错检验,最重要的两个步骤,一是求循环冗余码,二是进行检验,这两个步骤的大致内容是相同的,所以在这里我们只拿求循环冗余校验码的过程做例子进行相关分析。
- 大概流程如下,详细的过程结合后面的例题进行讨论。
- 通过生成多项式得到除数P,P的位数为n+1(n为生成多项式的最高次幂)
- 对待传送数据M进行模2运算,即在M后添加n个0,待传数据现在为M’
- 求冗余码:用M’除以P,得出余数R,R取n位
- 将得出的R添加在M’中最后n个0的位置
- 即可得出最终应传送的数据
注:此过程中的计算,均不产生进位,采用相同得0,相异得1的规则
例题详解
问题:要发送的数据序列为101011,设约定的生成多项式P(x)=x^4+x+1,求最终要发送的数据比特流是什么?
1.根据生成多项式求除数,先把多项式展开,然后依次找对应的x的系数,依次排列下来就所求的除数,除数位数为n+1位
2.对待传数据进行模2运算,即在原数据后添加n个0
3.用上一步得到的M’除以除数P,得到余数R,此过程书写上有些许复杂,详细如图
图片可能较为杂乱,请耐心观看哦,这一步很重要!
4.将求得的余数R添加到被除数M’后,即可得到待发送的数据比特率啦
关于CRC差错检验的过程到这里就介绍完了,如果有什么疑问不明白的地方,欢迎在评论区留言讨论。
制作不易,如果觉得对你有帮助的话,请留下宝贵的点赞或收藏吧~你们的支持就是我最大的动力!
CRC循环冗余校验(计算机网络)相关推荐
- 终于弄懂 CRC 循环冗余校验 辽
概述 CRC 即 Cyclic Redundancy Check 的缩写 CRC 循环冗余校验属于检错码,只能检测出现了错误,但无法纠正错误. 与CRC循环冗余校验类似的,还有奇/偶校验,但是 CRC ...
- CRC循环冗余校验引起的二进制除法如何计算风暴
文章目录 知道两个概念 模2和 模2减 两种不同的二进制除法 除法 模2除法 CRC 循环冗余校验 编码过程 差错检测能力 谈CRC循环冗余校验的之前,先把二进制除法说一下,先回忆一下十进制之间的除法 ...
- CRC循环冗余校验是如何纠错的
引言 昨天同学突然问我CRC循环冗余校验是如何纠错的?我突然大脑一片空白,学过校验码自然知道CRC循环冗余校验码是可以检错和纠错,但是仿佛只知道求出检验码和检错的过程,但是不知道如何纠错的过程,查询书 ...
- crc循环冗余校验 php,crc 循环冗余校验
--- title: crc 循环冗余校验 date: 2018-09-26 updated: 2018-10-06 --- # crc 循环冗余校验 CRC(Cyclic Redundancy Ch ...
- CRC(循环冗余校验) BCC校验(异或校验) 温度换算 在线计算
1,CRC(循环冗余校验)在线计算 2,BCC校验(异或校验)在线计算 3,温度换算 4,在线换算器
- CRC循环冗余校验码总结
一.CRC简介 先在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting ...
- CRC 循环冗余校验码 的计算方法
循环冗余校验CRC(Cyclical Redundancy Check)字段位于尾部,有32位,有时称为IEEE/ANSI标准的CRC32.要使用一个n位CRC监测 数据传输错误,被检查的消息首先要追 ...
- 3级流水线11位-4位CRC循环冗余校验码生成器Verilog
循环冗余校验 循环冗余校验(英语:Cyclic redundancy check,通称"CRC")是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数,主要用 ...
- CRC循环冗余校验检错的原理
比起奇偶校验码(PCC)只能校验一位错误,循环冗余校验码(CRC)的检错能力更强,可以检出多位错误. 1.CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形 ...
最新文章
- Wince程序内存和存储内存
- S4的ESH Bug导致Search help巨慢
- poj 1324(BFS+状态压缩)
- 技术动态 | 图对比学习的最新进展
- mysql 语句活用增删改
- c++ 对象起始地址 指针靠齐_Go的内存对齐和指针运算详解和实践
- CSS样式中,background-image 背景图片居中显示并且在不同屏幕分辨率下始终居中
- 合伙人和创始人的区别
- WPS Word 快捷键大全
- vscode json插件
- 外媒点赞,浪潮存储为何能入围全球最佳主存储供应商
- 两个ESP8266一个作为服务器一个作为客户端实现互相通讯
- 最新版Nginx安装教程来了,快来看看
- 湖北武汉劳务员培训劳务员的现场管理建筑七大员培训
- 虚数的意义,虚数到底是什么
- 为什么每次用计算机算数都不对,Excel算出来的数,和计算器结果对不上?
- iOS 3DES加密无盐值加密
- PAT 数组元素循环右移问题(转自柳神)
- USRP 套件在windows下的快速引入
- 将SoundCloud API与Jav​​aScript SDK结合使用
热门文章
- 什么是双因素身份认证?
- Linux用户权限ACL权限
- [渝粤教育] 中国地质大学 大学物理(上) 复习题 (2)
- Java递归解决老鼠走迷宫问题
- Linux磁盘分区的详细步骤(图解linux分区命令使用方法)
- 这年头居然还有用360卫士清理垃圾的?那玩意就是最大的...Python自动清理不香吗?
- 阿里旗下,豆瓣等滑块验证码解决问题
- 通过xshell命令方式下载文件
- ViewPager 系列之 打造一个通用的 ViewPager
- swift学习笔记之navigationController的设置以及使用