差错控制
差错控制可分为:
检错编码(Error-Detecting Code):出错时只能通知发送端重发。
纠错编码(Error-Correcting Code):出错时可以确定错误位置并加以纠正。
常见的检错技术:
奇偶校验:1位校验元,如果是奇校验码,附加上1位校验元后,码字中1的个数为奇数。
循环冗余校验(Cyclic Redundancy Code, CRC):一个二进制数位串可看作只有0和1两个系数的多项式。发送方和接收方事先商定一个 r 阶多项式 G(x)(最高位和最低位必须为1),发送方将待发送的帧后面补 r 个0,然后用补完的数据串去除 G(x),将得到的余数代替所补的 r 个0;这样接收方用同样的多项式去除收到的数据包,余数为0则表明正确。
校验和:循环冗余校验中的最后 r 位即可称为校验和。