计算机网络--差错检测(帧检验序列FCS计算方法)

Posted dyloder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络--差错检测(帧检验序列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除法运算的到的结果:商Q=110101 余数R=001(不满N位往前补0)Q没有什么用 ,但是这个余数R就是我们所求的冗余码

我们将这个冗余码R添加到M之后 :M=101001001 (M是之前给的最原始的M)

下面具体来说一下 具体怎么求R:

  在二进制进行运算的时候全部都用XOR(异或进行运算(就是相同为0 不同为1    1xor1=0 0xor0=0   1xor0=1 ))

 

 技术分享图片

     

看图这样我们就能得到R

来个例题:

我们要发送的数据为M=101110 采用CRC的生成多项式是P(x)=X^3+1  所以我们的到的p=1001

得到的R=110   (计算完毕,图画的有点丑见谅)

技术分享图片

以上是关于计算机网络--差错检测(帧检验序列FCS计算方法)的主要内容,如果未能解决你的问题,请参考以下文章

帧详解

如何接收错误的以太网帧并禁用 CRC/FCS 计算?

计算机网络之数据链路层功能概述封装成帧透明传输以及差错控制(检验编码)408_1

计算机网络—— 数据链路层(23):封装成帧差错检测

计算机网络湖科大微课堂笔记 p21-23 数据链路层概述封装成帧差错检测

计算机网络:数据链路层——差错检验和纠错技术:奇偶校验和循环冗余校验