数据链路层差错检测方法


0、奇偶校验

方法内容:

分为两个方法:奇校验和偶校验

奇校验:在每个字节后加一位,0/1,保证整体1的数目为奇数

偶校验:在每个字节后加一位,0/1,保证整体1的数目为偶数

方法优缺点:

缺点:

检验正确率只有50%

对于每个字节添加一位,影响传输效率

优点:

逻辑简单,可以直接写在硬件上,减少软件负担

1、累加和校验

方法内容:

最常用的一种是在一次通讯数据包的最后加入一个字节的校验数据。这个字节内容为前面数据包中全部数据的忽略进位的按字节累加和。

方法优缺点:

优点:

简单,判断错误的概率很低,因此被广泛应用

2、循环冗余检验

 方法内容:

1、在发送端,先把数据划分为组M。(这里的数据指的是哪一部分)假定每组k个比特。

2、用二进制的模2运算求出n位冗余码(检验位),供差错检测用。

CRC计算规则:

模2加法:两者异得1,两者同得0

模2减法:两者异得1,两者同得0

模2除法就是利用上述两点进行的二进制除法。之所以采用这种方法,是为了避免除法中减法的借位问题,所以除法变简单了。

被除数的名字叫做生成多项式。有好几种方法可以设计。一般是两个多项式相乘。计算前先将原始数据后面填四个零。

生成多项式的位宽是位数减一。

生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。理论上生成多项式可以是任意的数,但是为了更好的差错检验(这个数传输过程可能出错),所以定义了一套好的容错标准:

应满足以下条件:
A、生成多项式的最高位和最低位必须为1。
B、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做除后应该使余数不为0。
C、不同位发生错误时,应该使余数不同。
D、对余数继续做除,应使余数循环。

 

 

 

方法优缺点:

几乎可以做到完全可靠传输

缺点是找不出哪一位发生了错误

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM