ch33讲数据链路层讲解(打印版)_第1页
ch33讲数据链路层讲解(打印版)_第2页
ch33讲数据链路层讲解(打印版)_第3页
ch33讲数据链路层讲解(打印版)_第4页
ch33讲数据链路层讲解(打印版)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据链路层(6学时)本章概述:数据链路层主要内容为:两台相邻机器之间实现可靠、有效的通信而涉及到的一些算法。所谓相邻,意思是指两台机器通过一条通信信道连接起来,这里的通信信道在概念上就像一条线(比如同轴电缆、电话线或者点到点的无线信道)。一条信道像一条线,这也暗示了它的一个本质特性,即在一条信道上递交的数据位的顺序及发送的顺序完全相同。相邻机器的通信并不简单,影响因素有:通信线路的偶尔错误,通信线路的数据传输率有限,传输延迟等.所以协议必须考虑这些因素的影响.数据链路层的任务是将物理层提供的原始位流转换成可供网络层使用的帧流。数据链路层用到了各种成帧的方法,包括字符计数法、字节填充法和位填充法。数据链路协议可以提供错误控制能力,以便重传损环的或者丢失的帧。为了避免快速的发送方淹没一个慢速的接收方,数据链路协议还要提供流控制功能。滑动窗口机制是—种被广泛使用的技术,它可以方便地将错误控制和流控制结合在一起来考虑。滑动窗口协议可以按照发送方的窗口大小和接收方的窗口大小来进行分类。当两个窗口的大小都是l的时候,滑动窗口协议变成了停—等协议。当发送方的窗口大于1(例如,为了避免发送方由于长的传输延迟而阻塞线路)的时候,接收方可以有两种实现办法:除了下一个顺序帧以外其他的帧都丢弃;或者将所有乱序的帧都缓存起来,一直到需要这些帧的时候。3.1数据链路层设计要点数链层基本功能:向网络层提供一个定义良好的服务接口;处理传输错误;调节数据流,防止淹死接收方.图3.1分组和帧之间的关系3.1.1为网络层提供服务图3.2(a)虚拟通信过程;(b)实际通信过程图3.3数据链路层协议的位置3.1.2成帧1.字符计数法在帧头中用一个域来表示整个帧的字符个数缺点:若计数出错,对本帧和后面的帧有影响图3.4一个字符流(a)无差错(b)有一个差错2.带字符填充的首尾字符定界法缺点:局限于8位字符和字符传送。图3.5(a)有标志字节作为分界的帧;(b)字节填充前后的4个字节序列例子3.带位填充的首尾标记定界法帧的起始和结束都用一个特殊的位串“”,称为标记()“0”比特插入删除技术图3.6位填充(a)原始数据;(b)线路上的数据;(c)删除填充之后存储在接收方存储器中的数据4.物理层编码违例法802:曼彻斯特编码或差分曼彻斯特编码用表示1/0,不表示数据,可以用来做定界符。注意:在很多数据链路协议中,使用字符计数法和一种其它方法的组合。3.1.3错误控制帧完全丢失一般方法:接收方给发送方一个反馈(响应)。接收方反馈接收情况信息确认:肯定性确认否定性确认出错情况帧(包括发送帧和响应帧)出错;帧(包括发送帧和响应帧)丢失计数器(计时用)收到重复帧帧编号通过计时器和序号保证每帧最终交给目的网络层仅一次是数据链路层的一个主要功能。3.1.4流控制淹没问题,两种流控制策略:基于反馈的流控制和基于速率的流控制(第5章讲)3.2错误检测和纠正差错出现的特点(错误分为两种):随机的,单个位,孤立的错误,连续突发()一次连续许多位错误更难以纠正处理差错的两种基本策略使用纠错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误。使用检错码:发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,但不能判断哪里有错。纠错码(),技术上又称为前向纠错()(适用于低可靠性信道—无线链路,在数据块中加入足够冗余信息,减少重传,因重传也可能是错误的)码字():一个帧包括m个数据位,r个校验位,n=m+r,则此n比特单元称为n位码字。海明距离():两个码字之间不同的比特位数目。例:0000000000及0000011111的海明距离为5如果两个码字的海明距离为d,则需要d个单比特错就可以把一个码字转换成另一个码字;为了检查出d个错(单比特错),需要使用海明距离为d+1的编码;为了纠正d个错,需要使用海明距离为2d+1的编码。最简单的例子是奇偶校验,在数据后填加一个奇偶位例:使用偶校验(“1”的个数为偶数) 10110101 ——> 101101011 10110001 ——> 101100010奇偶校验可以用来检查奇数个错误。设计纠错码要求:m个报文位,r个校验位,纠正单比特错;对2m个合法报文中任何一个,有个及其距离为1的非法码字,因此每个合法的报文都要求1个位模式,专门供它使用.由于总共只有2n个位模式,所以有:(n+1)2m£利用n=m+r,得到(m+r+1)£2r。给定m,利用该式可以得出校正单比特误码的校验位数目的下界.例如,8,则r>=4.海明码码位从左边开始编号,从“1”开始;位号为2的幂的位是校验位,其余是信息位;每个校验位使得包括自己在内的一些位的奇偶值为偶数(或奇数)。为看清数据位k对哪些校验位有影响,将k写成2的幂的和。例:11=1+2+8海明码工作过程每个码字到来前,接收方计数器清零;接收方检查每个校验位k(k=1,2,4…)的奇偶值是否正确;若第k位奇偶值不对,计数器加k;所有校验位检查完后,若计数器值为0,则码字有效;若计数器值为m,则第m位出错。例:若校验位1、2、8出错,则第11位变反。使用海明码纠正突发错误可采用k个码字(n=m+r)组成k´n矩阵,按列发送,接收方恢复成k´n矩阵个校验位,个数据位,可纠正最多为k个的突发性连续比特错。图3.7利用海明码来纠正突发性错误例题:习题3-9练习:3-10,3-11假设使用海明码来传输16位的报文.请问,需要多少个检查位才能确保接收方可以检测并纠正单个位错误对于报文1101,0011,0011,0101,请给出所传输的位模式.假设在海明码中使用了偶数位.解:16,根据公式(1)£2r得r5,即至少需要5个检查位.(1,2,4,8,16)1101,0011,0011,01011=13=1+22=25=1+44=47=1+2+47=1+2+411=1+2+88=812=4+811=1+2+815=1+2+4+812=4+817=1+1614=2+4+819=1+2+1616=1621=1+4+160110,1011,0011,0011,1010,1(答案错误)0111,1011,0011,0011,1010,1(正确)检错码()(适用于高可靠性信道—光纤)使用纠错码传数据,效率低,适用于不可能重传的场合;大多数情况采用检错码加重传。循环冗余码(码,多项式编码)循环冗余校验码110001,表示成多项式x5+x4+1生成多项式G(x)发方、收方事前商定;生成多项式的高位和低位必须为1生成多项式必须比传输信息对应的多项式短。码基本思想校验和()加在帧尾,使带校验和的帧的多项式能被G(x)除尽;收方接收时,用G(x)去除它,若有余数,则传输出错。校验和计算算法设G(x)为r阶,在帧的末尾加r个0,使帧为m+r位,相应多项式为(x);按模2除法用对应于G(x)的位串去除对应于(x)的位串;按模2减法从对应于(x)的位串中减去余数(等于或小于r位),结果就是要传送的带校验和的多项式T(x)。图3.8多项式编码校验和的计算过程的检错能力发送:T(x);接收:T(x)+E(x),E(x)¹0,E(x)中的每一个”1”位都对应于有一位变反了余数((T(x)+E(x))/G(x))=0+余数(E(x)/G(x))若余数(E(x)/G(x))=0,则差错不能发现;否则,可以发现。检错能力的几种情况分析如果只有单比特错,即E(x)=,而G(x)中至少有两项,余数(E(x)/G(x))¹0,所以可以查出单比特错;如果发生两个孤立单比特错,即E(x)=+=(+1),假定G(x)不能被x整除,则能够发现两个比特错的充分条件是:+1不能被G(x)整除(k£i-j);如果有奇数个比特错,即E(x)包括奇数个项,因为在模2系统中,没有一个奇数项多项式包含1作为因子,所以G(x)选(x+1)的倍数就能查出奇数个比特错;具有r个校验位的多项式能检查出所有长度£r的突发性差错。长度为k的突发性连续差错可表示为(1+…+1),若G(x)包括x0项,且k-1小于G(x)的阶,则余数(E(x)/G(x))¹0;如果突发差错长度为r+1,当且仅当突发差错和G(x)一样时,余数(E(x)/G(x))=0,概率为1/21;长度大于r+1的突发差错或几个较短的突发差错发生后,坏帧被接收的概率为1/2r。四个多项式已成为国际标准12 =x12+x11+x3+x2+x+116 =x16+x15+x2+1 =x16+x12+x5+13232+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1802使用32硬件实现校验网卡()练习:3-143.3基本数据链路层协议一个无限制的单工协议工作在理想情况,几个前提:单工传输发送方无休止工作(要发送的信息无限多)接收方无休止工作(缓冲区无限大)通信线路(信道)不损坏或丢失信息帧工作过程发送程序:取数据,构成帧,发送帧;接收程序:等待,接收帧,送数据给高层物理层物理层数据链路层网络层运输层应用层物理层网络层运输层应用层数据链路层12一个单工的停-等协议增加约束条件:接收方不能无休止接收。解决办法:接收方每收到一个帧后,给发送方回送一个响应。工作过程发送程序:取数据,成帧,发送帧,等待响应帧接收程序:等待,接收帧,送数据给高层,回送响应帧。物理层物理层数据链路层网络层运输层应用层物理层网络层运输层应用层数据链路层12有噪声信道的单工协议增加约束条件:信道(线路)有差错,信息帧可能损坏或丢失。解决办法:出错重传。带来的问题:什么时候重传——定时响应帧损坏怎么办(重复帧)——发送帧头中放入序号为了使帧头精简,序号取多少位——1位发方在发下一个帧之前等待一个肯定确认的协议叫做()或()工作过程00物理层数据链路层网络层运输层应用层物理层网络层运输层应用层数据链路层12000000001111111111111111110000000000000003.4滑动窗口协议单工——>全双工捎带/载答():暂时延迟待发确认,以便附加在下一个待发数据帧的技术。优点:充分利用信道带宽,减少帧的数目意味着减少“帧到达”中断;带来的问题:复杂。本节的三个协议统称滑动窗口协议,都能在实际(非理想)环境下正常工作,区别仅在于效率、复杂性和对缓冲区的要求。滑动窗口协议()工作原理发送的信息帧都有一个序号,从0到某个最大值,0~2n-1,一般用n个二进制位表示;发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口大小=上界-下界,大小可变;发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1;接收端有一个接收窗口,大小固定,但不一定及发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧;接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,上界、下界都加1。接收窗口大小不变。1位滑动窗口协议协议特点窗口大小:N=1,发送序号和接收序号的取值范围:0,1;可进行数据双向传输,信息帧中可含有确认信息(技术);信息帧中包括两个序号域:发送序号和接收序号(已经正确收到的帧的序号)存在问题能保证无差错传输,但是基于停等方式;若双方同时开始发送,则会有一半重复帧;效率低,传输时间长。使用退回n帧技术的协议为提高传输效率而设计例:卫星信道传输速率50,往返传输延迟500,若传1000的帧,使用协议4,则传输一个帧所需时间为:发送时间+信息信道延迟+确认信道延迟(确认帧很短,忽略发送时间)=1000/50+250+250=520信道利用率=20/520»4%结论传输延迟大,信道带宽高,帧短时,信道利用率低。解决办法连续发送多帧后再等待确认,称为流水线技术()。带来的问题信道误码率高时,对损坏帧和非损坏帧的重传非常多两种基本方法退后n帧(n)接收方从出错帧起丢弃所有后继帧;接收窗口为1;对于出错率较高的信道,浪费带宽。选择重传()接收窗口大于1,先暂存出错帧的后继帧;只重传坏帧;对最高序号的帧进行确认;接收窗口较大时,需较大缓冲区。使用选择性重传的协议对于选择重传协议,若用n比特进行编号,则接收窗口的最大值受下式的约束£22发送窗口大小:£21假定接收窗口等于7的情况7,域为3问题的本质是:当接收方向前移动了它的窗口之后,新的有效序列号范围及老的范围之间有重叠.3.5协议验证()3.6数据链路层协议示例—高级数据链路控制面向比特的链路控制规程概述1974年,公司推出了面向比特的规程()。后来把修改后称为(),译为高级数据链路控制,作为国际标准3309。则将再修改后称为链路接入规程()。不久,的新版本又把修改为,“B”表示平衡型(),所以叫做链路接入规程(平衡型)。帧结构位填充法(0比特填充法)标志域(字段)F()为6个连续1加上两边各一个0共8。在接收端只要找到标志字段就可确定一个帧的位置。采用零比特填充法使一帧中两个F字段之间不会出现6个连续1。在发送端,当一串比特流数据中有5个连续1时,就立即填入一个0。在接收帧时,先找到F字段以确定帧的边界。接着再对比特流进行扫描。每当发现5个连续1时,就将其后的一个0删除,以还原成原来的比特流。采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输。当连续传输两个帧时,前一个帧的结束标志字段F可以兼作后一帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使收端可以一直和发端保持同步。其它域(字段)地址域(字段)A是8。多终端线路,用来区分终端;点到点线路,有时用来区分命令和响应。若帧中的地址是接收该帧的站的地址,则该帧是命令帧;若帧中的地址是发送该帧的站的地址,则该帧是响应帧。帧检验序列域(字段)共16。所检验的范围是从地址字段的第一个比特起,到信息字段的最末一个比特为止。控制域(字段)C共8,是最复杂的字段。的许多重要功能都靠控制字段来实现。帧类型信息帧()(a)监控帧()(b)无序号帧()(c)序号()使用滑动窗口技术,3位序号,发送窗口大小为7捎带确认()捎带第一个未收到的帧序号,而不是最后一个已收到的帧序号探询/结束位()命令帧置“P”,响应帧置“F”。有些协议,位用来强迫对方机器立刻发控制帧;多终端系统中,计算机置“P”,允许终端发送数据;终端发向计算机的帧中,最后一个帧置为“F”,其它置为“P”。类型()“0”表示确认帧();“1”表示否定性确认帧()。(退回n帧重传)“2”表示接收未准备好()(要发方停)“3”表示选择拒绝()(选择性重传)-无序号帧可以用来传控制信息,也可在不可靠无连接服务中传数据。中的数据链路层1.协议的工作原理现在全世界使用得最多的数据链路层协议是点对点协议()。用户使用拨号电话线接入因特网时,一般都是使用协议。用户拨号入网的示意图1992年制订了协议。经过1993年和1994年的修订,现在的协议已成为因特网的正式标准[1661]。协议有三个组成部分一个将数据报封装到串行链路的方法。链路控制协议()。网络控制协议()。2.协议的帧格式的帧格式和的相似。标志域(字段)F仍为0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。地址域(字段)A只置为0。地址域(字段)实际上并不起作用。控制域(字段)C通常置为0x03。是面向字节的,所有的帧的长度都是整数字节。提供差错校验、支持多种协议、允许动态分配地址、支持认证有一个2个字节的协议域(字段)。当协议域(字段)为0x0021时,帧的信息域(字段)就是数据报。若为0021,则信息域(字段)是链路控制数据。若为0x8021,则表示这是网络控制数据。不提供使用序号和确认的可靠传输协议之所以不使用序号和确认机制是出于以下的考虑:在数据链路层出现差错的概率不大时,使用比较简单的协议较为合理。在因特网环境下,的信息字段放入的数据是数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列字段可保证无差错接受。3.协议的工作状态当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论