计算机网络复习资料- 1 - 计算机网络复习资料一、CRC计算
166(目的:理解G(x)多项式,会进行计算判断接受的比特串是否正确)1
CRC校验原理具体来说, CRC 校验原理就是以下几个步骤:( 1)先选择(可以随机选择,也可按标准选择,具体在后面介绍)一个用于在接收端进行校验时,对接收的帧进行除法运算的除数(是二进制比较特串,通常是以多项方式表示,所以 CRC 又称多项式编码方法,这个多项式也称之为“生成多项式 ”)
(2)看所选定的除数二进制位数(假设为 k 位),然后在要发送的数据帧(假设为 m 位)后面加上 k-1 位“0”,然后以这个加了k-1 个“0“的新帧(一共是 m+k-1 位)以 “模 2 除法 ”方式除以上面这个除数,所得到的余数(也是二进制的比特串)就是该帧的CRC 校验码,也称之为 FCS(帧校验序列)
但要注意的是, 余数的位数一定要是比除数位数只能少一位,哪怕前面位是0,甚至是全为0(附带好整除时)也都不能省略
(3)再把这个校验码附加在原数据帧(就是m 位的帧,注意不是在后面形成的 m+k-1 位的帧)后面,构建一个新帧发送到接收端,最后在接收端再把这个新帧以 “模 2 除法 ”方式除以前面选择的除数, 如果没有余数, 则表明该帧在传输过程中没出错,否则出现了差错
【说明】 “模 2 除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小, 只要以相同位数进行相除即可
模 2 加法运算为: 1+1=0,0+1=1,0+0=0,无进位,也无借位;模2 减法运算为: 1-1=0 ,0-1=1 ,1-0=1 ,0-0=0 ,也无进位,无借位
相当于二进制中的逻辑异或运算
也就是比较后,两者对应位相同则结果为“0”,不同则结果为“ 1”
如100101 除以 1110,结果得到商为11,余数为 1,如图 5-