加0规则:按指定的除数的位数-1,加在传送的数据后面 101001000 3)商的规则 补位后,余数部分首位是0,除数首位是1,商0 其它商1 4)求余数的规则: 异或(不同为1,相同为0) 5) 最后留下余数R,做FCS 6) 最终传送数据是:传送数据 + 余数 101001001 7) 接受方:用接收到的数据/协商好的除数==>余数为0,传输过程没有错误;否则错误,扔掉,要求重传 8)说明 除数是数据链路层协商定的 商不管 注 具有r检测位的多项式,能够检测出所有小于或等于r的突发错误 长度大于r+1的错误,逃脱的概率是1/(2的r次方) 仅能做到无差错接收(不是可靠传输) CRC是检错码。CRC是具有纠错功能的,但是在计算机网络中,一般是出错就直接要求重传,所以默认CRC是检错码(不是纠错码) 概述:在接收端不但能检查错误,而且还能纠正检查出来的错误。常见的纠错编码是海明编码 概述:在信息字段中插入若干位数据,用于监督码字里的哪一位数据发生了变化,具有一位纠错能力 1)求出校验码位数 原理 假设信息位有k位,冗余位r位,整个码字的长度就设置为k+r位 每一位数据有0、1两个状态,r位可以表示2^r种状态 一种状态来表示一个码元发生了错误;k+r 位码元,需要k+r种状态来表示 还额外需要一位表示数据的正确情况 所以2^r-1>=k+r才能检查一位错误 例子 推导D=101101的海明码,信息位有6位