首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
数据链路层差错检测之循环冗余检验CRC
】的更多相关文章
数据链路层差错检测之循环冗余检验CRC
引用https://blog.csdn.net/wenqiang1208/article/details/71641414 为什么引入CRC 现实的通信链路都不会是理想的.这就是说,比特在传输的过程中可能会产生差错:1可能会变成0,0可能会变成1,这就叫做比特差错.在一段是时间内,传输错误的比特占所传输比特总数的比率成为误码率BER(Bit Error Rate).误码率与信噪比有很大的关系,在实际通信中不可能使误码率下降到零. 因此,为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各…
循环冗余检验 (CRC) 算法原理
Cyclic Redundancy Check循环冗余检验,是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误. 算法原理 假设数据传输过程中需要发送15位的二进制信息g=101001110100001,这串二进制码可表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对应g(x)中x^k的系数.将g(x)乘以x^m,既将g后加m个0,然后除以m阶多项式h(x),得到的(m-1)阶余项r(x)对应的二…
crc循环冗余检验
CRC(Cyclic Redundancy Check):循环冗余检验.在链路层被广泛使用的检错技术. CRC原理: 1.发送端 1.1.在发送端先将数据分组,每组k个数据.假定要传送的数据是M. 1.2.在数据M后面添加供差错检测的n位冗余码,然后构成一帧发送出去,一共发送(k+n)位. 虽然添加n位冗余码增大了数据传送的开销,但是可以进行差错检测,当传输可能出现差错时,付出这种代价是值得的. 1.3.冗余码可以用下面的方法得出: 3.1.用二进制模2运算进行2^n*M(相当于M左移n位)的运…
C#,Java,C -循环冗余检验:CRC-16-CCITT查表法
C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestCRC { /// <summary> /// 循环冗余检验:CRC-16-CCITT查表法 /// </summary> public static partial class CRCITU { /// <summary> /// 计算给定长度数据的16位CRC…
循环冗余检验算法CRC
http://blog.csdn.net/liyuanbhu/article/details/7882789 首先要了解多项式乘法,除法 了解模2运算的含义,多项式除法后合并同类项时..系数%2处理 大大简化了除法运算..并且运算方式跟异或对应上了..很好..…
数据链路层--PPP协议
数据链路层使用的信道主要有两种类型:点对点信道和广播信道. 点对点 路由器在转发分组时只使用了下面的三层. 链路是从一个结点到相邻结点的一段物理线路,中间没有其他交换结点. 必须有一些必要的通信协议来控制这些数据在链路上的传输.把实现这些协议的硬件和软件加到链路上,就构成了数据链路.现在使用网络适配器来实现这些协议. 点对点信道的数据链路层的协议数据单元--帧. 数据链路层把网络层交下来的数据构成帧发到链路上,以及把接收到的帧中的数据取出并上交给网络层.网络层协议的数据单元是IP数据报. 点对点…
计算机网络--差错检测(帧检验序列FCS计算方法)
我们知道数据链路层广泛使用循环冗余检验CRC的检验技术 现在我们知道要发送的数据M=101001(长度为k=6) 在我们每次发送数据的时候需要在M后面添加一个N位的冗余码,一共发送(k+N)位数据 这N位冗余码的计算方法如下: 用二进制的膜2运算进行2^N(这是2的N次方)乘M的运算 就是说在M这个数后面添加N个0 比如 初始M=101001 进行运算之后M=101001000(n=3) 将的到的M除以收发双发实现约定的长度(n+1)位的数P 假定P=1101(n=3) 经模2除法运算…
计算机网络-3-5-以太网MAC层及交换机
MAC层的硬件地址 在局域网中,硬件地址又称为物理地址或者MAC地址(因为这种地址用在MAC帧中) IEEE 802标准为局域网规定了一种48位(6字节)的全球地址,固化在适配器的ROM中. 如果计算机中或者路由器有多个适配器,那么这样的主机或者路由器就有多个"地址",更准确的说,这种48位"地址"应当是某个接口的标识符. IEEE的注册管理结构RA是局域网全球地址的法定管理机构,它负责分配地址字段6个字节中的前三个字节.世界上凡是要生产局域网适配器的厂家都必须向I…
CRC循环冗余校验算法
现实中通信链路都不会是理想的,比特在传输的过程中可能会出现差错,0变成1,1变成0.这就叫做比特差错.因此为了保证数据传输的可靠性,在计算网络传输数据时,必须采用各种检验措施来处理比特差错.在数据链路层广泛使用的是循环冗余的CRC检错技术. 一.基本原理 CRC检验原理实际上就是在一个p位二进制数据序列之后附加一个r位二进制检验码(序列),从而构成一个总长为n=p+r位的二进制序列:附加在数据序列之后的这个检验码与数据序列的内容之间存在着某种特定的关系.如果因干扰等原因使数据序列中的某一位或某些…
CRC检错技术原理
一.题外话 说来惭愧,一开始是考虑写关于CRC检错技术更深层次数学原理的,然而在翻看<Basic Algebra>后,我果断放弃了这种不切实际的想法.个人觉得不是因为本人数学水平差或者能力差,而是研究生教材知识概念具有一定的连贯性,需要花大量时间研读.不过呢,我还是找到一本适合了解CRC技术的著作<纠错码的代数理论>---冯克勤,对数学感兴趣的朋友也可以在业余时间品读一下全书. 用国内搜索引擎搜索关于CRC检错技术的文章或者博客,内容也基本都是千篇一律,基本都是介绍如何模2运算.写…