CRC校验是什么:
比特在传输过程中可能会出现差错,为了保证数据传输过程中的可靠性,目前在数据链路层广泛使用循环冗余检验(CRC)的检错技术;
原理:
在发送端,先把数据分为组,假定每组K个比特,假定传输的数据是M=101001(k=6),CRC就是在数据M的后面添加供差错检错的n位冗余码,构成一个帧发送出去。在接收端把接收到的数据以帧为单位进行CRC校验,吧收到的每一个帧都除以相同的除数,若余数为0,说明在传输过程中无差错。
举例说明
待传送的数据M=101001,假定除数p是1101,n等于p的位数-1,即3,被除数就是(2^n)*M也就是101001000;
获取冗余码过程;
使用这种方法可以避免比特差错,但这并不是可靠传输,比如帧d丢失,帧重复以及帧失序,这些都称为出现传输差错,但不是比特差错。