3-2数据链路层(错误检测与纠正)课件.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3-2数据链路层(错误检测与纠正)课件

奇偶校验码 奇偶校验码是一种通过增加冗余位使得码字中“1”的个数为奇数或偶数的编码方法,它是一种检错码。一个二进制码字,如果它的码元有奇数个1,就称之为具有奇性。对于一个n位字,奇性=a0⊕a1⊕a2⊕…⊕an。很明显,用同样的方式,也能够根据每一个码字的零的个数来构成奇偶校验。 单个的奇偶校验码可描述为:给每一个码字加一个校验位,用它来构成奇性或偶性校验。因此,若有一个码元是错的,就可以分辨得出。在一个传输系统里,传输以前,由奇偶发生器把奇偶校验位加到每个字中。原有信息中的数字在接收机中被检测,如果没有出现正确的奇、偶性,这个信息标定为错误的,这个系统将把错误的字抛掉或者请求重发。注意,用单个的奇偶校验码仅能检出奇数个码元的错误。奇偶校验可以用在数字系统的主要接口设备中,由于在每个信息中增加了冗余度,仅当出现错误的概率和错误的危害足够大时,才采用奇偶校验码。在实际的应用中,按码字的形成方向可以分为垂直奇偶校验、水平奇偶校验和垂直水平奇偶校验三种奇偶校验方式。 垂直奇偶校验 垂直奇偶校验又称纵向奇偶校验,它能检测出每列中所有奇数个错,但检测不出偶数个的错,如图2-23所示,因而对差错的漏检率接近1/2。 水平奇偶校验 水平奇偶校验又称横向奇偶校验,它不但能检测出各段同一位上的奇数个错,而且还能检测出突发长度=p的所有突发错误,如图2-24所示。其漏检率要比垂直奇偶校验方法低,但实现水平奇偶校验时,一定要使用数据缓冲器。 水平垂直校验 水平垂直校验(LRC)又叫报文校验、方块校验。这种方法是在奇偶校验的基础上,为了提高奇偶校验码对突发错误的检测能力,将若干奇偶校验码排成若干行,然后对每列进行奇偶校验,放在最后一行,该检验字符的编码方法是使每一位纵向代码中1的个数成为奇数(或偶数)。传输时按照列顺序进行传输,在一批字符传送之后,另外增加一个检验字符,在接收端又按照行的顺序检验是否存在差错。由于突发错误是成串发生的,经过这样的传输后错误被分散了。它能检测出所有3位或3位以下的错误、奇数个错、大部分偶数个错以及突发长度=p+1的突发错,如图2-25所示。可使误码率降至原误码率的百分之一到万分之一,还可以用来纠正部分差错,有部分偶数个错不能测出。它适用于中、低速传输系统和反馈重传系统。 恒比码 码字中1的数目与0的数目保持恒定比例的码称为恒比码。“恒比码”仅是单个奇偶校验的推广。五中取三的恒比码常常用于传输二进形式的十进数。如我国邮电部门使用的五单位数字保护电报码,就是一种五中取三的恒比码,编码方式见图2-26所示。在这种表示方法中采用8-4-2-1的权数来表示十进数,然后选择所增加的恒比位使每个字恰好有两个0和三个1。当接收到的任何信息其1的个数少于三或多于三,就可以知道这个信息是错误的。恒比码能够检测出全部的单一错误和40%的两个错误。 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 假设待传送的数据 M = 1010001101(共k bit)。我们在M的后面再添加供差错检测用的 n bit 冗余码一起发送。 冗余码的计算 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。 得到的 (k + n) bit 的数除以事先选定好的长度为 (n + 1) bit 的数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少1 个比特。 冗余码的计算举例 设 n = 5, P = 110101,模 2 运算的结果是:商 Q = 1101010110, 余数R = 01110。 将余数 R 作为冗余码添加在数据 M 的后面发送出去,即发送的数据是101000110101110,或 2nM + R。 循环冗余检验的原理说明 帧检验序列 FCS 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并不等同。 CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的惟一方法。 检测出差错 只要得出的余数 R 不为 0,就表示检测到了差错。 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。 一旦检测出差错,就丢弃这个出现差错的帧。 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。 应当注意 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(ac

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档