《计算机网络》 数据链路控制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方块校验(LRC)
又叫报文校验或纵向(水平)冗余校验LRC(level redundancy code)。这种方法是 在垂直校验的基础上,在一批字符传送之后,另外增加一个检验字符,该字符的编码方 法是使每一位纵向代码中“1”的个数成为奇数(或偶数)。例如:
奇偶校验位(奇)
(VRC)
字符1
1010010 R
② 按模2除法用对应于G(x)的位串去除对应于2nM(x)的位串。 ③ 按模2减法从对应于2nM(x)的位串中减去余数。结果就是要传送
带校验和的帧,叫多项式T(x)。 后面的计算图表示帧1101011011和G(x)=x4+x+1的算法。 很清楚,T(x)能被G(x)除尽。在任何除法问题中,如果用被除数减
循环冗余校验的基本思想
将校验和加在数据帧的末尾,使这个带校 验和的数据帧的多项式能被生成多项式G(x)除 尽。当接收方收到带有校验和的帧时,用G(x) 去除它,如果在传送过程中无差错,则也应该 除尽,即余数应为0;如果有余数,则传输出 错,应要求对方重新发送一次。
计算校验和的算法
① 设生成多项式G(x)为n阶,在帧的末尾附加n个零,使帧为m +n 位,则相应的多项式是2nM(x)。
循环冗余校验(CRC)
循环冗余校验法(CRC,circular redundancy code)不产生 奇偶校验码,而是把整个数据块当作一个连续的二进制数据。从代数 结构来说,将数据位串看成是系数为0或1的多项式,一个k位帧可以 看成是从xk-1到x0的k次多项式的系数序列,这个多项式的阶数为k-1。 高位(最左边)是xk-1项系数,下一位是xk-2的系数,以此类推。例 如,110001有6位,表示成多项式是x5+x4+x0。它的6个多项式系 数分别是1,1,0,0,0,和1。
检错码
检错码是指在发送每一组信息时发送一些附加位, 接收端通过这些附加位可以对所接收的数据进行判断 看其是否正确,如果存在错误,它不能纠正错误而是 通过反馈信道传送一个应答帧把这个错误的结果告诉 给发送端,让发送端重新发送该信息,直至接收端收 到正确的数据为止。目前广泛采用的检错码有奇偶校 验码,方块码和循环冗余码等。
数据传输中的差错检验和纠正
字符代码沿着传输线路向外传送时,由于 电路设备的质量不好,或线路上的电磁耦合噪 声干扰等,难免发生差错。如何及时地自动检 验差错,并进一步做到自动校正,这是数字通 信系统中一个重要的研究课题(称为差错控制 技术)。通常,其解决办法就是采用抗干扰编 码或纠错编码。
纠错码
纠错码是指在发送每一组信息时发送足够的附加 位,接收端通过这些附加位在接收译码器的控制下不 仅可以发现错误,而且还能自动地纠正错误。如果采 用这种编码,传输系统中不需反馈信道就可以实现一 个对多个用户的通信,但译码器设备比较复杂,且因 所选用的纠错码与信道干扰情况有关。某些情况为了 纠正差错,要求附加的冗余码较多,这将会降低传输 的效率。现在比较常见的纠错编码有:海明纠错码、 正反纠错码等。
去余数,则剩下的部分是肯定能够被除数除尽。例如,如果你用 100除以7,余数为2;如果先用100减去2 ,剩下的98就能被7除 尽。可以认为这种方法除了是G(x)整数倍数据的多项式差错检测不 到外,其他错误均能捕捉到,由此可看出它的检错率是非常高的。
循环冗余校验(CRC)码
国际电报电话咨询委员会(CCITT)推荐的“生成多项式” 为
1010010
后面增加一位进行奇校验 1 0 1 0 0 1 0 0
(使“1”的个数为奇数)
传送时,其中一位出差错 1 0 1 1 0 1 0 0 (奇校验检查出错)
传送时有两位出差错
1 0 1 1 1 1 0 0 (奇校验不能检错)
由此可见,采用一位奇校验(或偶校验)只能检验出编码中的一位差错或奇数位差错, 而不能检验出两位或偶数位同时出错。事实上,在传输过程中,偶然一位出错的机会最 多,故这种简单的检验方法还是很有用的。但这种办法只能检验错误而不能纠正错误。 接收端检测该校验位以确定是否有差错发生。奇偶校验并不是一种十分安全可靠的检错 方法,如果有偶数个数据位在传输中同时出错,接收端无法检测出差错的数据,所以其 检错概率最多为50%。对于低速传输来说,奇偶校验是一种令人满意的检错法。通常 偶校验常用于异步传输或低速传输,而奇校验常用于同步传输。
数据链路控制
本章学习要点
1. 流量控制的原理及方法 2. 差错检测的原理及算法 3. 差错控制的方案 4. 高级数据链路控制协议HDLC
数据链路控制是为有效进行数据通信,对 传输链路上的信号发送进行的控制和管理。 为此,要在物理接口之上增加数据链路控制 的逻辑层。 差错控制机制用来检测和纠正错误。奇偶校 验是一种最简单的检错方法。循环冗余检错 CRC是一种最普遍最有效的检错方法。
G(x)=x16+x10+x5+1。
目前常见的生成多项式G(x)的国际标准还有以下两种:
CRC-12 CRC-16
G(x)=x12+x11+x3+x2+x+1 G(x)=x16+x15+x2+1
采用循环冗余校验之后,其误码率比方块码的误码率可以再 降低1~3个数量级,所以这种循环冗余校验法在数据通 信系统中被广泛应用。
0
字符2
1000001 A
1
Байду номын сангаас
字符3
1001100 L
0
字符4
1010000 P
1
字符5
1001000 H
1
字符6
1000010 B
1
方块校验符(奇)1 1 1 1 0 1 0 Z
1
(LRC)
采用这种校验之后,如果其中有一个二进位出错,不仅从一横行中的VRC校验位中反映 出来,同时从一纵列的LRC校验位中也反映出来,概括垂直和水平两个校验位的反映, 可以确知出错的位置,从而加以校正。采用这种办法之后,不仅可以检验出一位出错, 而且可以自动纠正一位差错,使误码率能降低2~4个数量级,纠错效果十分显著。
奇偶校验(VRC)
奇偶校验又叫字符校验,是最简单的一种校验方法。它是在每个字符编码的后面,
另外增加一个二进位。该位叫做校验位,其主要目的是使整个编码中的“1”或“0”的
个数成为奇数或偶数。如果使编码中“1”的个数成为奇数则叫做奇校验,反之,则叫做
偶校验。两位同时出错,无法检错。例如:
字符R的ASCII编码为
多项式的运算法则是模2运算。按照它的运算法则,加法不进位, 减法不借位。加法和减法两者都与异或运算相同(相同数相加为0, 不同数相加为1) 。这里可以看作是一报文码多项式。在网络中发送 数据块多项式时,发送方和接收方必须事先商定一个“生成多项式” G(x) ,生成多项式的最高位和最低位必须是1。要计算m位的数据 帧M(x)的校验和,生成多项式必须比该校验和的多项式短。