导航:首页 > 网络连接 > 计算机网络crc计算怎么做

计算机网络crc计算怎么做

发布时间:2022-08-28 09:04:03

❶ 求CRC校验计算方法

你这个是CRC16
要实现校验的话,你首先需要知道对方采用的是何种CRC公式
不同的CRC公式 得到的校验码是不一样的
在知道公式的情况下
做crc表,然后按照crc算法,计算这8个字节的整体crc
如果传输没有错误的话,最终的crc值是0
也可以计算前六个的crc,然后和最后两个字节比较,效果是相同的。

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

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


循环冗余校验的原理

❸ 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的定义:

结合本题,我们来做一遍,原始数据: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的 【生成多项式中最高幂指数】 次幂,然后再加上生成多项式,最终得到要在线路中传送的CRC编码待发字串,

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

根据上面的定义,有:

1000100101*2^5=1000100101 00000,

1000100101 00000

+ 00011

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

100010010100011

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

❹ CRC校验是怎么算的

你这个是CRC16要实现校验的话,你首先需要知道对方采用的是何种CRC公式不同的CRC公式 得到的校验码是不一样的在知道公式的情况下做crc表,然后按照crc算法,计算这8个字节的整体crc如果传输没有错误的话,最终的crc值是0也可以计算前六个的crc,然后和最后两个字节比较,效果是相同的。

❺ CRC计算方法

你应该看到了我的那个回答啊,很简单的,只是刚开始理解有点难,懂了就会了,你用的教材是谢希仁的吗,那个讲的比较透彻?还是以那个例子回答哦
已知信息位为1100(知道数据比特序列),生成多项式G(x)
=
x3+x+1,求CRC码。
M(x)
=
1100
M(x)*x3
=
1100000
G(x)
=
1011
M(x)*x3
/
G(x)
=
1110
+
010
/1011
R(x)
=
010
CRC码为:
M(x)*x
3+R(x)=1100000+010
=1100010
如果你还是不懂,你就把1100按模二除法除以G(x)就可以了,这里就是1100/1011,得到的余数就是CRC码
其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:
(1)将待编码的k位信息表示成多项式
M(x)。
(2)将
M(x)左移
r
位,得到
M(x)*xr

(3)用r+1位的生成多项式G(x)去除M(x)*xr
得到余数R(x)。
(4)将M(x)*xr
与R(x)作模2加,得到CRC码。

❻ 这个CRC编码怎么算啊

2018年01月07日,星期日,

不好意思,今天刚看到,

我先大概说一下CRC相关概念,然后咱们开始解题,

1、多项式形式与二进制形式是有关联的,因子是对应的,

比如,题中,发送多项式为:X^11+X^8+X^7+X^6+X^4+X^3+X^2+1,

就是:2^11+2^8+2^7+2^6+2^4+2^3+2^2+1,

所以,对应的二进制形式为:100111011101,

这里的发送多项式说的就是,未经CRC校验运算的原始数据,

2、同理,CRC生成多项式也与一组二进制数相对应,

例如,题中,CRC生成多项式为:x^4+x^2+x^1+1,

就是:2^4+2^2+2^1+1,

对应的二进制是:10111,

生成多项式是人为指定的,没有固定值,指定成x^4+x^3+x^2+x^1+1即11111也行,

3、发送多项式的二进制形式是:100111011101,这是我们的原始数据,

CRC生成多项式的二进制形式是:10111,我们要使用它来按照CRC规则与原始数据进行运算后,得出我们要在线路上传输的,经过CRC校验的,原始数据的CRC编码,

这里比较绕,简单点理解就是,我们要通过给出的CRC生成多项式,用它与原始数据进行计算后,得到的带有CRC校验的一串二进制数,我们把这串带有CRC校验的二进制就称为原始数据的CRC编码,就是题目中的“该发送多项式的CRC编码”,

4、接下来就是CRC计算规则了,


这里想再说一下,为什么生成多项式的最高次幂是几,最后的余数就是几位的,

比如本例中,生成多项式为:x^4+x^2+x^1+1,最后的余数就是4位的1100,

这个规则是可以推导出来的,

首先,将生成多项式中的 1 改写成 x^0,则有x^4+x^2+x^1+x^0,

这就很明显可以看出来,指数是从0开始的,虽然中间有一个指数3因为该权位上的值为0而没有写在这个生成多项式中,但是在该生成多项式的二进制形式中该权位上是数字0,这不是重点,

重点是,我们可以一目了然的看出来,指数是从0开始的,而不是从1开始的,所以,以本题为例,当生成多项式的最高次幂为x^4即指数为4时,该幂所在的权位的右侧一定有4位二进制数,因为该幂的权位决定了这个生成多项式一定是一个5位的二进制数,而最高幂所在的权位是右数第五个位置,所以它的右边一定还有4个二进制位,

结合开头描述的,要让原始值去乘,2的,生成多项式的最高次幂这么多次方,也就是让原始值向左移动多少位,好腾出地方放置余数,

还有一个很巧妙的地方是,因为生成多项式的二进制形式中,最高位一定是1,所以,和加了0的原始值进行异或运算,到最后得到的余数的位数一定比生成多项式的二进制形式的位数小,拿本例来说,生成多项式是:

x^4+x^2+x^1+1

对应的二进制形式是:

10111

所以,不管原值最后剩下什么组合,只要和 10111左对齐后,因为要进行异或的操作,最高位一定变0,所以,最后的余数的二进制位数一定小于生成多项式的二进制位数,

再结合,指数从0开始,

所以,生成多项式的最高次幂,可以决定余数的位数,

❼ 在计算机网络中什么是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计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与crc计算。crc计算方法是:1、
加载一值为0xffff的16位寄存器,此寄存器为crc寄存器。2、
把第一个8位二进制数据(即通讯信息帧的第一个字节)与16位的crc寄存器的相异或,异或的结果仍存放于该crc寄存器中。3、
把crc寄存器的内容右移一位,用0填补最高位,并检测移出位是0还是1。4、
如果移出位为零,则重复第三步(再次右移一位);如果移出位为1,crc寄存器与0xa001进行异或。5、
重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理。6、
重复步骤2和5,进行通讯信息帧下一个字节的处理。7、
将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位crc寄存器的高、低字节进行交换8、
最后得到的crc寄存器内容即为:crc校验码。

❾ 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计算怎么做相关的资料

热点内容
有线网络接入点的密码 浏览:917
计算机网络子网划分实验步骤 浏览:839
网络语闭式引流是什么意思 浏览:798
移动网络apn哪个接入点最好 浏览:839
三星电视wifi连接无法连接网络 浏览:746
模拟移动网络入网的过程 浏览:34
华为的还原网络设置 浏览:111
路由器工作台实现不同网络的通信 浏览:381
游戏机顶盒设置网络 浏览:540
网络诈骗怎么做安全 浏览:984
为什么wifi玩游戏网络不稳 浏览:461
网络主机为什么这么便宜 浏览:742
移动网络承载系统哪个好 浏览:808
无线网络的弊端是多少 浏览:454
共享中心网络位置 浏览:579
如何理解网络发展 浏览:782
无线摄像头显示网络密码错误 浏览:58
为什么网络要被限速 浏览:727
不需要网络ios的手机游戏 浏览:100
双四g手机网络怎么样 浏览:799

友情链接