首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脆弱的错误检测方法(计算机网络)

脆弱的错误检测方法(计算机网络)
EN

Stack Overflow用户
提问于 2022-07-28 07:37:46
回答 2查看 75关注 0票数 -1

我当时正在研究计算机网络中的错误检测,我了解了以下方法-

Check

  • Checksum

  • Cyclic
  1. 单比特奇偶校验
  2. 2d奇偶校验

但是,我只学习了一点(伊毛双关),我遇到了一些失败的案例。

这些方法在下列情况下失败-

  1. 单比特奇偶校验--如果已倒置偶数位数。

  1. 2d奇偶校验--如果一个偶数位被倒置在同一位置。

  1. 校验和--将0添加到帧不会改变结果,也不会维护序列。(例如,在数据- 10101010 11110000 11001100 10111001中,如果我们将0加到这里的四个帧中的任何一个),

  1. CRC - g(x) = (x+l)*p(x)的n位CRC可以检测到:长度小于或等于n的所有突发错误。

影响奇数位数的所有突发错误。所有长度为n+1且概率为(2^(n-1)−l)/2^n−1的突发误差所有长度大于n+1且概率为(2^(n-1)−1)/2^n的突发误差CRC-32多项式将用概率(2^32−1)/2^32检测长度大于33的所有突发误差,这相当于从这里复制的/2^32的99.99999998%的准确率

我们可以看到,由于一些非常明显的缺点,这些方法失败了。

所以,我的问题是

就像那些让他们忘了交叉检查的人

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-28 07:46:46

这是在努力和冒险之间的一种权衡。增加的冗余位越多,未检测错误的风险就越小。

额外的比特意味着额外的内存或网络带宽消耗。这取决于应用程序,哪些额外的工作是合理的。复杂的校验和也增加了一些计算开销。

现代校验和或哈希函数可以将剩余风险提高到绝大多数应用程序所能承受的极小范围。

票数 1
EN

Stack Overflow用户

发布于 2022-07-28 13:23:41

只有0.00000002%的突发错误会被忽略。但没有说明的是这些突发错误发生的可能性。该数字取决于网络实现。在大多数情况下,对于理想的网络,出现不可检测的突发错误的可能性将非常接近于零或零。

将几乎为零与几乎为零相乘,实际上接近于零。

CRCs中未被发现的错误与其说是实际情况,不如说是学术上的兴趣。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73148965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档