题目
26. 要发送的数据为 1101011011。采用 CRC 的生成多项式是 P(X)=X^4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个 1 变成了 0,问接收端能否发现?若数据在传输过程中最后两个 1 都变成了 0,问接收端能否发现?采用 CRC 检验后,数据链路层的传输是否就变成了可靠的传输?
26. 要发送的数据为 1101011011。采用 CRC 的生成多项式是 P(X)=X^4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个 1 变成了 0,问接收端能否发现?若数据在传输过程中最后两个 1 都变成了 0,问接收端能否发现?采用 CRC 检验后,数据链路层的传输是否就变成了可靠的传输?
题目解答
答案
答:作二进制除法,1101011011000010011 得余数 1110,添加的检验序列是 1110.作二进制除法,两种错误均可发展仅仅采用了 CRC 检验,缺重传机制,数据链路层的传输还不是可靠的传输。
解析
步骤 1:计算 CRC 校验码
- 首先,将数据 1101011011 转换为二进制多项式形式,即 D(X) = X^9 + X^8 + X^6 + X^4 + X^2 + X + 1。
- 生成多项式 P(X) = X^4 + X + 1。
- 为了计算 CRC 校验码,需要将数据多项式 D(X) 乘以 X^4(生成多项式的最高次幂),得到 D'(X) = X^13 + X^12 + X^10 + X^8 + X^6 + X^5 + X^4。
- 然后,将 D'(X) 除以 P(X),得到余数 R(X)。
- 通过二进制除法,计算得到余数 R(X) = X^3 + X^2 + X = 1110。
- 因此,添加在数据后面的余数是 1110。
步骤 2:检查数据传输过程中最后一个 1 变成 0 的情况
- 假设数据在传输过程中最后一个 1 变成了 0,即接收到的数据为 1101011010。
- 将接收到的数据转换为二进制多项式形式,即 D'(X) = X^9 + X^8 + X^6 + X^4 + X^2 + X。
- 将 D'(X) 除以 P(X),得到余数 R'(X)。
- 通过二进制除法,计算得到余数 R'(X) = X^3 + X^2 + X + 1 = 1111。
- 由于余数 R'(X) 不等于 0,因此接收端可以发现错误。
步骤 3:检查数据传输过程中最后两个 1 都变成 0 的情况
- 假设数据在传输过程中最后两个 1 都变成了 0,即接收到的数据为 1101011000。
- 将接收到的数据转换为二进制多项式形式,即 D'(X) = X^9 + X^8 + X^6 + X^4 + X^3。
- 将 D'(X) 除以 P(X),得到余数 R'(X)。
- 通过二进制除法,计算得到余数 R'(X) = X^3 + X^2 + X + 1 = 1111。
- 由于余数 R'(X) 不等于 0,因此接收端可以发现错误。
步骤 4:讨论 CRC 检验是否使数据链路层的传输变成可靠的传输
- 采用 CRC 检验可以检测出传输过程中的错误,但仅仅采用了 CRC 检验,缺少重传机制,因此数据链路层的传输还不是可靠的传输。
- 可靠的传输需要结合错误检测和重传机制,以确保数据的正确性和完整性。
- 首先,将数据 1101011011 转换为二进制多项式形式,即 D(X) = X^9 + X^8 + X^6 + X^4 + X^2 + X + 1。
- 生成多项式 P(X) = X^4 + X + 1。
- 为了计算 CRC 校验码,需要将数据多项式 D(X) 乘以 X^4(生成多项式的最高次幂),得到 D'(X) = X^13 + X^12 + X^10 + X^8 + X^6 + X^5 + X^4。
- 然后,将 D'(X) 除以 P(X),得到余数 R(X)。
- 通过二进制除法,计算得到余数 R(X) = X^3 + X^2 + X = 1110。
- 因此,添加在数据后面的余数是 1110。
步骤 2:检查数据传输过程中最后一个 1 变成 0 的情况
- 假设数据在传输过程中最后一个 1 变成了 0,即接收到的数据为 1101011010。
- 将接收到的数据转换为二进制多项式形式,即 D'(X) = X^9 + X^8 + X^6 + X^4 + X^2 + X。
- 将 D'(X) 除以 P(X),得到余数 R'(X)。
- 通过二进制除法,计算得到余数 R'(X) = X^3 + X^2 + X + 1 = 1111。
- 由于余数 R'(X) 不等于 0,因此接收端可以发现错误。
步骤 3:检查数据传输过程中最后两个 1 都变成 0 的情况
- 假设数据在传输过程中最后两个 1 都变成了 0,即接收到的数据为 1101011000。
- 将接收到的数据转换为二进制多项式形式,即 D'(X) = X^9 + X^8 + X^6 + X^4 + X^3。
- 将 D'(X) 除以 P(X),得到余数 R'(X)。
- 通过二进制除法,计算得到余数 R'(X) = X^3 + X^2 + X + 1 = 1111。
- 由于余数 R'(X) 不等于 0,因此接收端可以发现错误。
步骤 4:讨论 CRC 检验是否使数据链路层的传输变成可靠的传输
- 采用 CRC 检验可以检测出传输过程中的错误,但仅仅采用了 CRC 检验,缺少重传机制,因此数据链路层的传输还不是可靠的传输。
- 可靠的传输需要结合错误检测和重传机制,以确保数据的正确性和完整性。