2013-02-17 72 views
2

我有关于位填充网络的这个问题。我对所提供的答案略有困惑。请帮我理解它。网络 - 位填充

问题:当使用比特填充,是有可能的损失,插入或修改一个 单个位,以使没有被校验检测到错误?如果不是,为什么不呢?如果是这样,怎么样? 校验和长度在这里起作用吗?

答案:这是可能的。如果数据为01111110→011111010,如果由于 传输错误导致第二个0丢失,则会收到01111110,这可以解释为帧结束。 帧结束之前的位将被解释为校验和。 如果 校验和是4位,则在24 中有一个机会,这些随机位将被解释为 有效校验和。校验和越长,发生此错误的可能性就越小

我不理解粗体部分。这是什么意思,有24个机会中有一个会被解释为有效校验和?如果有人能为我澄清,我会很高兴。

回答

0

短校验和只会帮助识别错误的少量位错误传输。 例如:

-1校验和位+数据字节将正确检测数据中的一位错误,但两位错误可能会导致校验和被评估为正确。

-2校验和位(取决于实现)+数据字节可以识别任何数据位置中的2个故障位。

- 一旦到达每字节(1/2比例)校验的4位甚至可以校正两个校验和错误的比特和数据(RAID阵列使用此)

+0

感谢您的答案,但它仍然让我感到困惑。如果我插入或修改了一下,我们说校验和无法检测到。你能用你自己的话来解释它是如何可能的吗?我要求你解释的原因是因为我继续深入地回答所提供的答案,因为我看到我的自我困惑,因为答案很混乱。 – Stranger 2013-02-17 18:11:44

+0

在协议级别(TCP/IP)上处理对流的长度的插入,删除或常规更改,因此您不必担心这种情况,尽管您可能正在做一些特殊的事情,但您没有这种保证。你应该担心的部分是翻转值,在某些情况下可以评估为“好”的包。如果存在一个校验和位,则一位更改将评估为错误校验和,但两位更改可能会更改数据和校验和,从而导致您的字节被评估为“正确” – 2013-02-17 18:39:28

+1

具有多个校验和字节允许检测更多位切换值和校验和算法仍能正确识别坏数据的允许限制。这通常被减少流量的需要所抵消,所以校验和通常较小以最小化膨胀,但是足够大以检测可接受的数据损坏水平,具有〜99.99%的准确度 – 2013-02-17 18:44:27

2

对不起,坏死反应,但我如果有人在做作业时绊倒了这个问题,答案是否定的:D

您提供的“1 in 24”答案是错误的。长度为4的校验和实际上有1/16(2^4)的有效率。这样的事件显然不太可能随着校验和长度的增加而增加校验和的长度减少一半。