当前位置:首页 » 网络连接 » 计算机网络crc除数多项式
扩展阅读
不要密码免费连接网络 2025-09-23 03:16:46
甘肃电视台网络安全视频 2025-09-23 03:16:03

计算机网络crc除数多项式

发布时间: 2023-02-11 08:04:38

计算机网络循环冗余检验 中的除数怎么来的

首先要知道CRC生成的多项式P(X)。除数的位数是P(X)最高次幂+1。P(X)每个幂数代表着除数从右到左第几位为1,其余的都为0,就得出除数了。比如P(X)=X^4+X^3+1,则除数个数为5,从右往左分别为0 1 2 3 4位,其中4,3,0位为1,其余为0。除数为11001

Ⅱ 求教计算机网络中相关于CRC校验的模2除法

模2加与模2减两种运算与逻辑异或运算其运算法则完全相同,另外,模2乘除法都以模2加减法为基础,因此我们可以把模2运算看作简单的异或运算。实际上,CRC除法器就是由异或门以及时序电路构成的。
模2除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位。所以实际上就是异或。然后再移位移位做下一位的模2减。步骤如下:
a、用除数对被除数最高几位做模2减,没有借位。
b、除数右移一位,若余数最高位为1,商为1,并对余数做模2减。若余数最高位为0,商为0,除数继续右移一位。
c、一直做到余数的位数小于除数时,该余数就是最终余数。

Ⅲ CRC校验中生成多项式的对应代码怎么求

你看看 计算机网络技术这本教材上有个差错效验,我说说看吧,可能说不清楚
你的信息码作为被除数 你的生成多相式对应的2进制1101,CRC校验码比除数要少一位,在除数后面补三个0
你用1101除1001 跟普通的除不一样,位数够的上1不够补0,普通的除做减法,这里要做异或,除到最后剩下的余数就是CRC

Ⅳ 关于计算机网络的crc计算

我们知道,一台主机向另外一台主机发送报文的时候,需要一层层经过自己的协议栈进行数据封装,到达最后一层(四层协议的网络接口层)时需要在帧尾部添加FCS校验码(通过CRC算法得出)。当对端主机收到时,在接收端同样通过CRC算法进行验证,确认传输过程中是否出现错误。它只能确认一个帧是否存在比特差错,但没有提供解决措施。


循环冗余校验的原理

  • 在发送端,先把数据划分为组(即:一帧)。假定每组 k 个比特。

  • 在每组后面,添加供差错检测用的 n 位冗余码一起发送。即:实际发送长度为:k+n 比特。

  • 发送前双方协商n+1位的除数P,方便接收方收到后校验。

  • 给K比特的数据添加除数减一个0(P-1)作为被除数,与第三步确定的除数做“模2除法”。得出的余数即FCS校验序列,它的位数也必须是(P-1)。

  • 将FCS校验序列添加至K个比特位的后面发送出去。

  • 接收方对接收到的每一帧进行校验,若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。若余数 R ≠ 0,则判定这个帧有差错,就丢弃。

  • 对“模2除法”进行说明:

    “模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。

    计算示例


    那么接收方拿到的就是:101001001。再以它为被除数,1101为除数进行“模2除法”。

Ⅳ 在计算机网络中什么是crc校验和,怎么计算

计算机网络原理的计算题(crc校验和数据传输问题)第1题:设要发送的二进制数据为10110011,若采用crc校验方法,生成多项式为x^4+x^3+1,度求出实际发送的二进制数字序列。(要求写出计算
计算机网络原理的计算题(crc校验和数据传输问题)
第1题:设要发送的二进制数据为10110011,若采用crc校验方法,生成多项式为x^4+x^3+1,度求出实际发送的二进制数字序列。(要求写出计算过程)
这是自考08年四月份的试题,我总是跟答案算的不一样。
答案是:待发送的序列m=10110011,除数p=11001,m*2^5与除数p进行模2除法运算,得余数r=1000,所以要发送的二进制序列为:101100111000
我不明白为什么m要乘以2的5次方,我是用101100110000除以11001得到的余数是100。
第2题:一条长度为100km的点对点链路,对于一个100字节的分组,带宽为多大时传播延迟等于发送延迟?(信道传输速度为2*10^8m/s)
答案是:
传播延迟为:100km/(2*10^8m/s)=50ms
发送延迟等于传播延迟时:100/c=50ms
则信道传输速率:c=200kbps

Ⅵ 计算机网络的问题,就是在数据链路层用CRC进行差错检测中除数(生成多项式)到底是怎么确定的啊

不是 是一种点分站点信息和二进制实现的

Ⅶ CRC校验中二进制除法是怎样计算的

作二进制除法。

1、发送数据比特序列为1101011011(10比特)。

2、生成多项式比特序列为10011(5比特,K=4),X的指数就是代表第几位为1,而且1=X的0次方。

3、将发送数据比特序列乘以2的K(由2可知K为4),那么产生的乘积为11010110110000。

4、将乘积用生成多项式比特序列去除,按模二算法得到余数1110。

模二算法就是两数相减不产生借位,0-1=1。

步骤如如下所示:

(7)计算机网络crc除数多项式扩展阅读:

二进制除法的CRC校验原理。

RC校验原理看起来比较复杂,因为大多数书上基本上是以二进制的多项式形式来说明的。其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进制序列的,下同),生成一个新帧发送给接收端。

当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。

如果有余数,则表明该帧在传输过程中出现了差错。

【详细说明】“模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。

相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1”。如100101除以1110,结果得到商为11,余数为1。

参考资料来源:网络--CRC校验

Ⅷ CRC中的生成多项式是什么零基础,请指教

CRC中的生成多项式是指接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变

在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。

应满足以下条件:

a、生成多项式的最高位和最低位必须为1。

b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。

c、不同位发生错误时,应该使余数不同。

d、对余数继续做模2除,应使余数循环。

将这些要求反映为数学关系是比较复杂的。但可以从有关资料查到常用的对应于不同码制的生成多项式如图9所示:

例如第一项可以写成:x3+x2+x+1有幂次就为1 没有幂次就为0 首尾一定要是1所以1 0 1 1

Ⅸ CRC循环冗余码计算方法

CRC码一般在k位信息位之后拼接r位校验位生成。

例如:

假设使用的生成多项式是G(X)=X3+X+1。4位的原始报文为1010,求编码后的报文。

解:

1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011。

2、此题生成多项式有4位(R+1)(注意:4位的生成多项式计算所得的校验码为3位,R为校验码位数),要把原始报文C(X)左移3(R)位变成1010 000

3、用生成多项式对应的二进制数对左移3位后的原始报文进行模2除(高位对齐),相当于按位异或得到的余位011,所以最终编码为:1010 011

(9)计算机网络crc除数多项式扩展阅读:

注意事项

是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。

在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接收方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。

应满足以下条件:

1、生成多项式的最高位和最低位必须为1。

2、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。

3、不同位发生错误时,应该使余数不同。

4、对余数继续做除,应使余数循环。

Ⅹ crc 计算机网络

2017年12月29日,星期五,

兄弟,我先给你简单再捋一遍CRC编码的概念和计算公式,原理明白了,以后不管碰到什么样的题,你都会迎刃而解了。

首先,需要知道如下几个概念,

  1. CRC编码,就是你题目中所说的“待发字串”,它是经加工后带有CRC校验的待发送信息,

  2. CRC校验码,就是你题目中所说的“CRC循环冗余码”,以下都简称为CRC校验码,它是通过CRC规则计算得来,

  3. 多项式,即真实信息,就是未经CRC编码规则处理的原始的信息,就是你题目中说的“已知信息码”,原始的真实信息有两种表现形式,以本题为例,

    a、原始信息的 二进制字串(形式):1000100101,

    b、原始信息的 多项式(形式):X^9+X^5+X^2+1,

    X^9+X^5+X^2+1多项式,就是由原始信息的二进制形式1000100101得来的,多项式中每一个因数都对应二进制形式 1000100101 中值为1的那一位,X^9 X^5 X^2就是2^9+2^5+2^2,那表示二进制数的权位,

    1000100101

    1*2^90*2^80*2^70*2^6 1*2^5 0*2^4 0*2^3 1*2^2 0*2^11*2^0

    2^0=1...2^9=1 000 000 000,凡是二进制字串中值为1的权位都出现在了多项式中,例如,二进制字串最高位(左1)的1,就是2^9,所以它出现在了多项式中,形状为X^9,而二进制数串中值为0的权位都没有出现在多项式中,可以数一下,二进制数串中有4个1,所以对应的多项式中有4个因子:X^9、X^5、X^2、1,其中多项式的最后一个因子1,其实就是X^0,而我们都知道,任何数的0次幂都是1(0除外),可以看出,这两种形式是等价的,即1000100101=X^9+X^5+X^2+1,当我们再遇到多项式时,就是去数原始信息(1000100101)中的1,然后把它的值为1的权位放到一起,写成式子(X^9+X^5+X^2+1),两者意义是一样的,从二进制形式能推导出多项式,也可以从多项式推导出二进制形式,

  4. 生成多项式,就是你题目中提到的“G(x)=X^5+X^4+X^2+1”,生成多项式也可以写成二进制形式,X^5+X^4+X^2+1其对应的二进制形式:110101,

  5. 通常,我们为了方便说明问题将生成多项式叫做:G(x),这里请注意,需要将

“生成多项式”和“多项式”进行区分,G(x)中的G就是generator polynomial,生成多项式的意思,

多项式:指的是原始信息1000100101中所有权位为1的权位写在一起的形式X^9+X^5+X^2+1

生成多项式:是人为指定的多项式,由编码人指定的东西,本例被人为指定成X^5+X^4+X^2+1即 110101 ,这个生成多项式是人为指定的,不是固定的,个人理解你指定成X^5+X^3+X^2+1也行,制定成X^5+X^4+X^3+X^2+1也行,


好了,接下来,我们要说最关键的CRC的定义和计算过程了,

CRC的定义:

  • 多项式*2^(G(x)的最高次幂指数,你给的图片题目中G(x)的最高次幂指数是5)/G(x)=CRC校验码;

    用文字表达,就是原始数据信息乘以,2的 【生成多项式中最高幂指数】 次幂,乘2的多少次幂,就是在右边加几个0,比如乘以2^2,就是在右边加2个零,因为是二进制数,所以乘几个2就是加几个零,和十进制数乘几个10就是加几个零道理一样,然后再去除以生成多项式,请注意,这里的除,不是数学中的除法,而是指计算机中的模二除运算,实际上就是逻辑异或运算,说白了,就是将除数和被除数高位,进行左对齐后,相同为0,不同为1,然后一直除下去,直到得到最后的余数为止,这个余数就是我们需要的CRC校验码,而且这个最后得到的余数,取几位由生成多项式中最高幂指数决定,最高幂指数是5就取5位,最高幂指数是6就取6位,最高幂指数是4就取4位,是根据生成多项式的最高次幂来定取几位的.本例中,最高次幂是5,所以,最后的余数是5位二进制数,

    X^5+X^4+X^2+1写成二进制就是: 110101

  • 你的图片题目中,G(x)=X^5+X^4+X^2+1,也就是生成多项式是110101,

结合本题,我们来做一遍,原始数据:1000100101,生成多项式:110101,根据上面的规则有,

1000100101*2^5=1000100101 00000



把原始值右边加上5个零:1000100101 00000之后,去除以生成多项式:110101

1000100101 00000

110101

----------------------------

0101110101 00000

左对齐,并开始按位异或,得0101110101 00000,



进行第二次除运算:

101110101 00000

110101

--------------------------

011011101 00000

左对齐,再按位异或,得到011011101 00000




开始第三次除运算:

11011101 00000

110101

--------------------

00001001 00000

左对齐,再按位异或,得到00001001 00000



进行第四次除运算:

100100000

110101

-----------------

010001000

左对齐,再异或,得到010001000



进行第五次除运算:

10001000

110101

------------

01011100

左对齐,再异或,得到01011100



进行第六次除运算:

1011100

110101

-------------

0110110

左对齐,再异或,得到0110110



进行第七次,最后一次除运算:

110110

110101

------------

000011


最终余数为000011,而由G(x)的最高次幂X^5的幂指数决定了,CRC校验码取5位,因此,最终得到的CRC校验码为:00011,

  • 多项式*2^(G(x)的最高次幂指数,本例中G(x)的最高次幂指数是5)+G(x)=最终在物理线路上传送的CRC编码待发字串,

用文字表达就是,原始数据乘以,2的 【生成多项式中最高幂指数】 次幂,然后再加上生成多项式,最终得到要在线路中传送的CRC编码待发字串,

接着,以本例进行余下的计算,原始数据:1000100101,CRC校验码(CRC循环冗余码)为:00011,

根据上面的定义,有:

1000100101*2^5=1000100101 00000,

1000100101 00000

+ 00011

----------------------

100010010100011

所以最终的“待发字串”CRC编码为:100010010100011