我很难了解丑陋的探测术语“循环冗余校验”的概念和工作。我正在参加计算机网络上的大学课程,我已经迷路了。 遇到麻烦的是,我对数学的理解是非常有限的(很久以前学习了数学,忘了大部分),我无法举例说是什么发电机多项式,多项式必须做什么与CRC并总结一下 - 所有这些都对我来说似乎完全不可或缺。

我读了CRC上的Wiki条目,但它并没有帮助我,因为我没有擅长数学,所有这些符号和数学术语都是汉语对我来说。

我了解CRC在网络上发送数据时使用CRC进行错误检测,但从我丢失时,我会丢失。

任何人都可以帮助我以简单的术语解释这个概念,并且可能给出一个例子?

在最后一次讲座期间,教授开始画出所有这些和零,除以我不知道什么,我只是盯着和感觉愚蠢。

我会非常感谢它,任何人都可以帮助我理解!

有帮助吗?

解决方案

如果您希望答案非常简单,您需要接受一些过度简化,如果您愿意与之居住,那么它就去了:

数据通过不完美的链路传输 - 在途中可能发生错误。想象一下,你想确保收到的信息与传输的信息相同,而不会浪费太多的带宽,你将如何做到这一点?

您可以发送两次信息两次,如果在接收端,您可以看到第一个与您知道发生错误的第一个不同,并且您需要再次请求数据 - 但这会非常浪费,它将有效地将带宽分成两半。

现在,如果您可以计算比数据本身要小得多的值依赖于它,该值如何?因此,如果数据沿方式更改(由于错误),计算值将不再“匹配”数据,并且您会知道发生错误。是否有这样的计算?

简单划分和剩下的价值是多少?

说我想传送信息/数字1,000。我通过选择的数字 - 例如6来划分它......给了我166和剩下的4.我把剩下的时间作为我的支票值小于我实际传播的信息,所以我不会浪费带宽太多,我传输1,000,后跟4.接收器获取它,按照1,000将其划分为6,如果余数为4,则它假定它不会发生错误。

如果发生错误并且由于链路上的错误,它会收到998而不是1,000 - 它会将其划分为6,获取与第4个不匹配的剩余部分,它知道它知道错误。这是CRC的基本原理。 当然,它有点复杂,因为它被多项式除以多项式,而是使用剩余部分的原理作为“表示数据”的“短值”,以便以相同的方式检查其错误。

我希望这有助于您在发生的事情上抬头;)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top