码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-01-02 01:18:17      阅读:583      评论:0      收藏:0      [点我收藏+]

标签:检测   个数   面具   需要   怎么   例题   实现   除法   添加   

我们知道数据链路层广泛使用循环冗余检验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计算方法)

标签:检测   个数   面具   需要   怎么   例题   实现   除法   添加   

原文地址:https://www.cnblogs.com/DyLoder/p/10206555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!