我当时正在研究计算机网络中的错误检测,我了解了以下方法-
Check
但是,我只学习了一点(伊毛双关),我遇到了一些失败的案例。
这些方法在下列情况下失败-
影响奇数位数的所有突发错误。所有长度为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%的准确率。
我们可以看到,由于一些非常明显的缺点,这些方法失败了。
所以,我的问题是
就像那些让他们忘了交叉检查的人
发布于 2022-07-28 07:46:46
这是在努力和冒险之间的一种权衡。增加的冗余位越多,未检测错误的风险就越小。
额外的比特意味着额外的内存或网络带宽消耗。这取决于应用程序,哪些额外的工作是合理的。复杂的校验和也增加了一些计算开销。
现代校验和或哈希函数可以将剩余风险提高到绝大多数应用程序所能承受的极小范围。
发布于 2022-07-28 13:23:41
只有0.00000002%的突发错误会被忽略。但没有说明的是这些突发错误发生的可能性。该数字取决于网络实现。在大多数情况下,对于理想的网络,出现不可检测的突发错误的可能性将非常接近于零或零。
将几乎为零与几乎为零相乘,实际上接近于零。
CRCs中未被发现的错误与其说是实际情况,不如说是学术上的兴趣。
https://stackoverflow.com/questions/73148965
复制相似问题