计网-差错控制

Scroll Down

计算机网络-差错控制学习笔记

奇偶校验码

奇偶校验码是一个最简单的校验方式,其分为两种,即偶校验和奇校验,其方法是在数据块的尾部计入一个奇偶校验位

  1. 偶校验:该数据块中连同冗余位中1的个数为偶数
  2. 奇校验:该数据块中连同冗余位中1的个数为奇数

循环冗余码校验

CRC循环冗余码是使用最广泛并且检错能力很强的一种检验码。

生成多项式G(x)和数据多项式M(x)

在数据发送过程当中,发送方和接收方使用相同的接收多项式作为除数。
例如生成多项式:

G(x) = x^4 + x +1
G(x) = 10011

数据多项式也就是数据块,例如:

M(x) = 1101011011

求取信息编码多项式T(x)

  1. 这数据多项式后添加G(x)相同次数的0,例如以上的G(x)的最高次就是4次,所以添加4个0,得到11010110110000
  2. 使用模2除法,使用刚刚添加过0的M(x) 除以 G(x) 得到1110,这里的运算不再赘述,但是如果得到的余数不满4位(这里和前面的G(x)的最高次对应),要在前面添加0补足四位
  3. 在M(x)后添加刚刚 补足位数的余数 ,得到11010110111110,这个就是求取的T(x)

对编码进行校验

编码的检验比较简单,需要使用接收到的报文除以(模2除法)刚刚的生成多项式 G(x) ,如果有余数代表传输中出现了差错,如果没有余数代表没有错误

参考文献

[1] 袁宗福.计算机网络.机械工业出版社