计算机循环冗余校验算法分析
摘 要 在计算机网络通信中,为了将数据信息正确而迅速地在发送端及接收端间进行有效传输,必须采用差错控制技术来保障数据传输的正确性与可靠性。循环冗余校验码(Cyclic redundancy chec间。计算机网络通信通过硬软件两部分实现算法,实现效果与数据传输的速度成正比,CRC通过发送相应数据包的方式来使得通信数据传输的功能得到?控制。
由于不同的数据包具有不同的字节长度,因此在数据传输过程中需要使用专门用于测量字节长度的工具来对不同的数据包的字节长度进行测量,以保证在信息传递过程中的正确性[3]。数据包字节的尾部包含了数据与序列校验码等信息,在数据传输过程中发挥着纠正错误数据编码的?作用。
虽然在数据传输过程中不可避免的出现差错,但通过CRC可以在一定程度上降低差错发生的概率。在实际应用的过程CRC值通常在发射端计算并发送,接收端会接收到涵盖CRC值信息包。接收端将接收到的信息包进行解码并计算出CRC值后与收到的CRC值进行比较以判断接受的信息是否正确?无误。
CRC算法步骤
循环冗余校验算法的实现需要按照特定的步骤进行,其中有两个步骤是关键。
一是预先随机选择确定一个最高位和最低位为1,且符合国际标准的二进制多项式(如X3+X2+1,可以表示为1101),该多项式在发送端和接收端都作为除数使用;二是通过模2除法运算的方式将原始帧与随机选择并计算出来的二进制多项式数值相除,计算出CRC。具体步骤可以如下?描述。
首先,选择一个合适的数作为除数。
接着,通过计算的方式计算出这个合适除数的二进制位数,并以模2除法的方式将生成的数据帧除以选定的除数,CRC即为以该种方式相除得到的余数,CRC的位数因余数的位数比除数位数少一位,得到数值首位数字0需要保留在CRC中,不能?忽略。
最后,在原数据帧后加上计算出的首位为0的CRC,形成新的数据帧并发送至接收端,接收端获取数据帧后以模2的方式除以的比除数位数少一位的余数,如果计算结果可以整除,则说明接收端接收到的数据帧没有错误,即在传输过程中没有出现差错[4]。若计算的有误,则需要重新检验,并通知重新发送数据帧。
2 循环冗余校验算法设计
校验算法设计背景
在通过计算机实现网络实体通信时,首先要将要交换的信息分割成众多的数据段,并分别在每个数据前后加入首部和校验码后形成完整的数据包。因为各个数据包中包含了各类有用的信息,且可在数据传输过程中进行人为控制,因此通过CRC校验的方法提升数据通信过程中的准确率。
当将数据包末端加上CRC并经计算机发送端发送时,计算机发送的数据就与CRC发生了联系,并建立了编码关系。随后计算机接收端接收到来自发送端的数据包并进行译码获得信息,再与经发送端发送的信息进行比较分析,若两种数据一致则说明数据包在传输过程中未受到其他干扰因素的影响,得到了正确的编码信息[5]。
如果运算后得到的数据与发送端发送的数据不一致,则说明数据包在发送过程中出现了偏差,则需要以自动重发的方式将数据包重新发送,在通过同样的过程将数据包进行译码再进行比对,直到接收端译码得到的数据与发送端传输的数据一致,通过此种方法确保计算机信息传输过程中信息的准确无
计算机循环冗余校验算法分析 来自淘豆网m.daumloan.com转载请标明出处.