错误检测代码 - 奇偶校验位
当位通过计算机网络传输时,它们很容易因干扰和网络问题而损坏。损坏的位会导致接收器收到虚假数据,这被称为错误。
错误检测技术负责检查通过网络传输的帧中是否发生错误。它不考虑错误位数和错误类型。
为了进行错误检测,发送方需要随数据位一起发送一些额外的位。接收器根据额外的冗余位执行必要的检查。如果发现数据没有错误,它会在将消息传递给上层之前删除冗余位。
检测数据帧中的错误主要有三种技术:奇偶校验、校验和和循环冗余校验 (CRC)。
奇偶校验位
奇偶校验是通过向数据添加一个额外的位(称为奇偶校验位)来完成的,以使 1 的数量根据奇偶校验的类型为偶数或奇数。奇偶校验仅适用于单比特错误检测。
奇偶校验有两种类型:
偶校验 - 此处消息中的总比特数为偶数。
奇校验 - 此处消息中的总比特数为奇数。
通过奇偶校验检测错误
发送方端 - 在创建帧时,发送方计算其中的 1 的数量并添加奇偶校验位,其值确定如下 -
- 在偶校验的情况下:如果 1 的数量为偶数,则奇偶校验位值为 0。如果 1 的数量为奇数,则奇偶校验位值为1.
- 奇校验的情况下:如果 1 的数量为奇数,则校验位值为 0。如果 1 的数量为偶数,则校验位值为 1。
接收端 − 接收帧时,接收器计算其中 1 的数量。偶校验的情况下,如果 1 的数量为偶数,则接受该帧,否则拒绝该帧。在奇校验的情况下,如果 1 的数量为奇数,则接受该帧,否则拒绝该帧。
示例
假设发送方想要使用偶校验方法发送数据 1001101。它将添加奇偶校验位,如下所示。
接收器将通过计算 1 的总数是否为偶数来判断是否发生错误。当收到上述帧时,可能会出现三种情况,即无错误、检测到单比特错误和无法检测到多比特错误。如下所示 -