计算机网络的数据链路层具有差错检测的功能,其中进行差错检测的主要两种方法是奇偶校验和循环冗余校验(CRC),奇偶校验只能检测出奇数个比特错误,CRC校验能够检测出一定数量的比特错误。现将CRC校验的详细过程介绍如下:
主要概念:
- 将数据看成多项式的形式,例: 110001 M(x)=x^(5)+x^(4)+1
- 检错码C(x)
- 校验码R(x)
校验过程:
- 在待发送数据后补零,补零的个数为检错码C(x)的最高幂次。
- 采用长除法,用待发送数据除以检错码。
- 得到余数,即校验码R(x)。(比检错码少1位,若不足,则在前面补零)
- 在待发送数据后添上校验码,向接收方发送。
- 接收方用接收到的数据除以检错码,若能被整除,则无错误,否则,存在错误。
注:长除法保持高位对齐,采用模2加。
CRC校验的考察重点:
- 理解校验的原理
- 长除法的运用
CRC的概念比较抽象,如有读者需举例说明进行理解,可以私信笔者!