TCP/IP 体系中有两种校验机制:CRC 校验与校验和,用于保证消息的完整性。CRC 校验用于整个以太网帧的校验,32 位的校验码被添加到以太网帧的最后四个字节。更为常用的是校验和机制,被用于 IP,ICMP,TCP,UDP 等三四层协议中。
常用的校验算法有奇偶校验、校验和、CRC,还有LRC、BCC等不常用的校验算法。
以串口通讯中的奇校验为例,如果数据中1的个数为奇数,则奇校验位0,否则为1。
例如原始数据为:00010011,数据中1的个数(或各位相加)为3,所以奇校验位为0。这种校验方法很简单,但这种校验方法有很大的误码率。假设由于传输过程中的干扰,接收端接收到的数据是00100011,通过奇校验运算,得到奇校验位的值为0,虽然校验通过,但是数据已经发生了错误。