差错检测和纠错技术
2017-01-09 16:54
316 查看
在网络传输中,由于噪音和信号衰减等,经常会在链路中发生比特翻转、丢失等·。为此在信息接收方常常需要对接收到的信息进行检错和纠错。常用的几种检错和纠错方法有
奇偶校验,校验和,循环冗余编码等。
1、奇偶校验
利用在信息后面附加一个奇偶校验位来进行校验
事先通信双方约定是采用奇校验还是偶校验,假设采用偶校验,则发送方在信息后面附加一位使所有信息(包括校验位)中一共有偶数个1,在接收方检验信息中1的个数,若为奇数个则判定出错。
优点:编码简单,方便
缺点:只能检错不能纠错,当发生偶数个错误时,不能检测出
为此,发展出二维奇偶校验
将要发送的d位数组成i行j列的二维矩阵,并使用i+j+1个校验位编码。
对于单个比特错误二维奇偶校验不仅能够检测出而且能够纠正,对于校验码本身的错误也能纠正,而且对于分组中两个比特错误的任何组合都能够检测出但不能纠正。
2、校验和
校验和是将分组中所有位每16位为一组,求和,将求和的结果取反码即得到校验码
对于求和溢出的情况,将溢出的那一位与最后一位相加。
接收方收到信息后将所有数据16位为一组相加(包括校验位)如果最终结果不是全1,则判断出错。
校验和相对开销较CRC小,只需要16位。
3、循环冗余编码CRC
循环冗余编码也称多项式编码
通信双方约定一个r+1比特的生成多项式G,发送方在d比特数据后附加r比特CRC码,使这d+r多项式可以整除G。接收方用G去除接收到的d+r如果余数不为0则判断出错。
其中 R=(D*2^r)/G的余数
校验和通常在运输层中应用而CRC通常用在链路层,主要因为运输层通常在用户主机中作为操作系统的一部分实现,所以使用相对简单和快速的校验和,而链路层差错检测在适配器中用专业硬件实现,能够快速处理复杂多CRC操作。
奇偶校验,校验和,循环冗余编码等。
1、奇偶校验
利用在信息后面附加一个奇偶校验位来进行校验
事先通信双方约定是采用奇校验还是偶校验,假设采用偶校验,则发送方在信息后面附加一位使所有信息(包括校验位)中一共有偶数个1,在接收方检验信息中1的个数,若为奇数个则判定出错。
优点:编码简单,方便
缺点:只能检错不能纠错,当发生偶数个错误时,不能检测出
为此,发展出二维奇偶校验
将要发送的d位数组成i行j列的二维矩阵,并使用i+j+1个校验位编码。
对于单个比特错误二维奇偶校验不仅能够检测出而且能够纠正,对于校验码本身的错误也能纠正,而且对于分组中两个比特错误的任何组合都能够检测出但不能纠正。
2、校验和
校验和是将分组中所有位每16位为一组,求和,将求和的结果取反码即得到校验码
对于求和溢出的情况,将溢出的那一位与最后一位相加。
接收方收到信息后将所有数据16位为一组相加(包括校验位)如果最终结果不是全1,则判断出错。
校验和相对开销较CRC小,只需要16位。
3、循环冗余编码CRC
循环冗余编码也称多项式编码
通信双方约定一个r+1比特的生成多项式G,发送方在d比特数据后附加r比特CRC码,使这d+r多项式可以整除G。接收方用G去除接收到的d+r如果余数不为0则判断出错。
其中 R=(D*2^r)/G的余数
校验和通常在运输层中应用而CRC通常用在链路层,主要因为运输层通常在用户主机中作为操作系统的一部分实现,所以使用相对简单和快速的校验和,而链路层差错检测在适配器中用专业硬件实现,能够快速处理复杂多CRC操作。
相关文章推荐
- 差错检测和纠错
- 虚拟机检测技术剖析
- 三相异步电机检测技术的应用研究
- DPI深度报文检测架构及关键技术实现
- SQL Injection规避入侵检测技术总结11条
- SQL注入技术和跨站脚本攻击的检测
- 雾计算:一种新型的数据泄露检测与追踪技术
- 工业视觉检测关键技术
- OpenCV学习笔记(十四)圆检测技术
- SQL注入攻击及其防范检测技术研究
- [置顶] 恶意代码--adobe启发式开源检测病毒引擎技术学习分享
- 动态的入侵检测技术IDS
- 图像处理------基于像素的皮肤检测技术 分类: 视频图像处理 2015-07-24 09:56 28人阅读 评论(0) 收藏
- SQL注入攻击及其防范检测技术研究
- 入侵检测及网络安全发展技术探讨
- 大牛讲堂 | 山世光博士:自动驾驶系统中的目标检测技术
- 技术检验检测管理系统之样品检验模块概况(一)
- 对抗启发式代码仿真检测技术分析收藏
- 高级碰撞检测技术
- 微软人工交互检测(HIP)技术