9.2、数据链路层—差错编码

一、差错编码与汉明距离

  差错编码的基本原理如下所示:
image

输入D序列,生成DR序列,其中R为差错检测与纠正比特(冗余比特)。差错编码可以分为以下2种:

  • 检错码
  • 纠错码
1.1、汉明距离

  汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字符串对应位置的不同字符的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。

1.2、检错码和纠错码与汉明距离

image

二、奇偶校验码(二维奇偶校验码带有部分场景的纠错功能)

image

一维奇偶校验只能检测出奇数位差错(检错能力和漏检率都是50%,但是编码效率高),二维奇偶校验可以检测出奇数位差错和部分偶数位差错(出错的偶数位不在同一行和同一列上时才可以检测出来),同时二维奇偶校验还可以纠正同一行/列的奇数位错。

三、Internet校验和(Checksum,无纠错功能)

image

四、循环冗余校验码(CRC,检错能力强,也有纠错能力)

image
image