>>>>>>【希赛】2016年下半年软考分数早知道,希赛网解析真题
下面是希赛软考网为大家推荐的软考网络管理员备考知识点精讲之校验方法与校验码,希望能帮助学友们。
校验方法与校验码
信息编码在计算机内传输、存取过程中,难免会出现一些随机性的错误,例如受到外界干扰导致产生了码元错误,例如把"1"码元变成了"0"码元。为了减少和避免这样的错误,提高传输质量,一方面需要从电路、布线等硬件方面采取技术,提高可靠性。另一方面在数据编码上采用某种校验方法与校验码,使得计算机能够自动发现,甚至能自动纠正错误。
常见的信息编码校验方法有奇偶校验法、海明校验法、CRC校验法等等。
1.奇偶校验法
奇/偶校验是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种。
如果是采用奇校验,在传送每一个数据(一般是1个字节)的时候另外附加一位作为校验位,当实际数据中1的个数为偶数的时候,这个校验位就是1.否则,这个校验位就是0,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中1的个数,如果是奇数,表示传送正确。否则,表示传送错误。
偶校验的过程和奇校验的过程一样,只是检测数据中1的个数为偶数。当实际数据中1的个数为偶数的时候,这个校验位就是0,否则这个校验位就是1.这样,就可以保证传送数据满足偶校验的要求。在接收方收到数据时,将按照偶校验的要求检测数据中1的个数,如果是偶数个1,表示传送正确。否则,表示传送错误。
2.海明校验法
海明码是奇偶校验的另一种扩充,和奇偶校验不同之处在于海明码采用多位校验码的方式,在信息数据位中合理加入校验位,将码距均匀拉大,校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。
海明码是利用在信息位为k位,增加r位冗余位,构成一个n=k+r位的码字,然后用r个监督关系式产生的r个校正因子来区分无错和在码字中的n个不同位置的一位错。它必需满足关系式:2r≥n+1 或 2r≥k+r+1.
海明码的编码规则:在一般情况下,校验码会被插入到数据的1,2,4,8,…,2n位置,那么,在数据生成时,按照提供的海明校验方程计算出b1,b2,b4,…,bn各位,在数据校验时,按照海明检验方程进行计算,如果所有的方程式计算都为0,则表示数据是正确的。如果出现1位错误,则至少有一个方程不为0.海明码的特殊之处在于,只要将①②③三个方程左边计算数据按③②①排列,得到的二进制数值就是该数据中出错的位,例如第6位出错,则③②①为110为二进制数6.
当出现两位错误时,这种海明码能够查错,但无法纠错。
3.CRC校验法
循环冗余检验码简称CRC码,由于其实现的原理十分易于用硬件实现,因此广泛地应用于计算机网络上的差错控制。而且由于它采用的是模二除进行验算,因此十分适合于以串行同步方式传送数据块。而CRC的考查点主要有3个:常见的CRC应用标准;计算CRC校验码;验算一个加了CRC校验的码是否有错误。(1)常见的CRC标准及应用归纳如表1-4所示:
表1-4 常见的CRC标准
(2)计算CRC校验码
在CRC码中,编码是由K位信息码,加上R位的校验码组成。要计算CRC校验码,需根据CRC生成多项式进行。例如:原始报文为11001010101,其生成多项式为X4+X3+X+1.在计算时,是在原始报文的后面若干个0(等于校验码的位数,而生成多项式的较高幂次就是校验位的位数,即使用该生成多项式产生的校验码为4位)作为被除数,除以生成多项式所对应的二进制数(根据其幂次的值决定,得到11011,因为生成多项式中除了没有x2之外,其他位都有)。然后使用模2除,得到的商就是校验码,如图1-1所示。
图1-1 计算CRC校验码
然后将0011添加到原始报文的后面,就是结果110010101010011.
(3)检查信息码是否有CRC错误
要想检查信息码是否出现了CRC错误的计算很简单,只需用待检查的信息码做被除数,除以生成多项式,如果能够整除就说明没有错误,否则就表示出错了。另外要注意的是,当CRC检查出现错误时,它是不会进行纠错的,通常是让信息的发送方重发一遍。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。