第三章数据链路层_第1页
第三章数据链路层_第2页
第三章数据链路层_第3页
第三章数据链路层_第4页
第三章数据链路层_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第三章数据链路层主要内容数据链路层定义和功能错误检测和纠正流量控制常用的数据链路层协议

3.1 定义和功能一、定义要解决的问题:如何在有差错的线路上,进行无差错传输。ISO关于数据链路层的定义:数据链路层的目的是为了提供功能上和规程上的方法,以便建立、维护和释放网络实体间的数据链路。数据链路:从数据发送点到数据接收点(点到点pointtopoint)所经过的传输途径。虚拟数据通路,实际数据通路二、数据链路层基本功能数据链路控制规程为使数据能迅速、正确、有效地从发送点到达接收点所采用的控制方式。数据链路层协议应提供的最基本功能数据在数据链路上的正常传输(建立、维护和释放)定界与同步(成帧)差错控制顺序控制流量控制

数据链路连接

数据链路层为网络层提供三种合理的服务:无确认无连接服务由上层完成差错控制,适合于误码率低、实时性要求高的场合,如大部分局域网。有确认无连接服务进行简单的差错控制。适用于不可靠的信道,如无线网。正向应答只对正确的信息应答,在网络中最常使用的方式。负向应答只对错误的信息应答。双向应答既对正确的信息应答,也对错误的信息应答。正向应答工作方式A0D0D1A1D0D0A0D1A1D1

启动计时器计时器超时

启动计时器计时器超时D0A0D1A1D1A1(1)正常的数据传送 (2)数据帧丢失及出错(3)应答帧丢失面向连接的服务在发送前需要建立连接,保证了帧的正确按序传输,适合于可靠性要求较高的场合。数据传送的三个阶段原语与协议转换面向字符的传输控制字

成帧(Framing)将比特流分成离散的帧,并计算每个帧的校验和。成帧方法:字符计数法在帧头中用一个域来表示整个帧的字符个数缺点:若计数出错,对本帧和后面的帧有影响。555343224521355成帧(Framing)(2)带字符填充的首尾字符定界法用DLESTX标示帧的开始用DLEETX标示帧的结束用DLEDLE标示传送数据信息中的DLE例如:信息DLESTXADLEBDLEETX在网络中传送时表示为:DLESTXDLEDLESTXADLEDLEBDLEDLEETXDLEETX

缺点:局限于8位字符和ASCII字符传送。成帧(Framing)(3)带位填充的首尾标记定界法帧的起始和结束都用一个特殊的位串“01111110”,称为标记(flag)“0”比特插入删除技术,在传送的数据信息中每遇到5个连续的1在其后加0例如:0110111111011111001在网络中传送时表示为:0111111001101111101011111000101111110物理层编码违例法只适用于物理层编码有冗余的网络,如曼彻斯特编码注意:在很多数据链路协议中,使用字符计数法和一种其它方法的组合。

差错控制和流量控制(1)1.差错控制的基本概念差错出现的特点:随机,连续突发(burst)差错产生的原因

1)信道的电气特性引起信号幅度、频率、相位的畸变;

2)信号反射;

3)串扰;

4)闪电、大功率电机的启停等。

出错情况帧(包括发送帧和响应帧)出错帧(包括发送帧和响应帧)丢失差错控制和流量控制(2)差错控制的目的:

保证帧正确,按序送交上层。在接收方能够判断接收的数据是否正确,若错误还要恢复错误。差错控制的方法检错同时纠错检错加重发机制流量控制目的:解决收发方速率、处理能力及缓冲区数量不匹配问题。3.2 差错检测和纠正一、纠错码和校验码(检错码)1.码字codeword

一个帧包括m个数据位,r个校验位,

n=m+r,其中m位数据(报文),r位冗余位(或校验位),则此n比特单元称为n位码字。2.纠错码error-correctingcode

在数据块中附加足够的冗余信息,使接收方能推导出发出的字符是什么。3.检错码error-detectingcode

只加入冗余位,使接收方知道有差错发生,但不知道什么差错,然后请求重发。

二、海明定理海明距离两个编码的海明距离:两个编码不相同的位数的个数。编码方案的海明距离:编码方案中任两个编码海明距离的最小值。例:0000000000与0000011111的海明距离为52.

海明定理为检测d位错,编码方案的海明距离应至少为d+1;当发生d位错时,不会由一种合法编码变为另一种合法编码。为纠正d位错,编码方案的海明距离应至少为2d+1;当发生d位错时,出错编码仍然最接近于原始的正确编码。三、差错码举例奇偶校验码

在数据后填加一个奇偶位(paritybit)例:使用偶校验(“1”的个数为偶数)

10110101 ——> 101101011 10110001 ——> 101100010奇偶校验可以用来检查单个错误。2.循环冗余码(CRC)循环冗余码(CRC码,多项式编码)110001,表示成多项式x5+x4+1生成多项式G(x)发方、收方事前商定;生成多项式的高位和低位必须为1生成多项式必须比传输信息对应的多项式短。CRC码基本思想:校验和(checksum)加在帧尾,使带校验和的帧的多项式能被G(x)除尽;收方接收时,用G(x)去除它,若有余数,则传输出错。校验和计算算法设G(x)为r阶,在帧的末尾加r个0,使帧为m+r位,相应多项式为xrM(x);按模2除法用对应于G(x)的位串去除对应于xrM(x)的位串;按模2减法从对应于xrM(x)的位串中减去余数(等于或小于r位),结果就是要传送的带校验和的多项式T(x)。T(x)=xrM(x)+[xrM(x)MOD2G(x)]CRC的检错能力发送:T(x);接收:T(x)+E(x);余数((T(x)+E(x))/G(x))=0+余数(E(x)/G(x))若余数(E(x)/G(x))=0,则差错不能发现;否则,可以发现。四个多项式已成为国际标准CRC-12 =x12+x11+x3+x2+x+1CRC-16 =x16+x15+x2+1CRC-CCITT =x16+x12+x5+1CRC-32硬件实现CRC校验。3.检验和(checksum)算法检验字段初值置0待检验的数据拆分成一个个与检验字段等长的分片,不足部分补0以满足长度要求将所有分片逐位取反,并连续累加,丢弃最高进位计算结果置入检验字段填充的0仅参与计算,不参与传输检验字段自身不参与计算接收段执行相同的过程,并将计算结果和传输过来的检验和进行比较以决定数据是否出现差错适用于高层的字节型协议,如IP、TCP、UDP等常见分片长度:8位、16位和32位检验和算法举例待传输数据为:10010100,01110110,1100计算过程~(10010100)+~(01110110)=1111010011110100+~(11000000)=00110011带检验和的传输数据是10010100,01110110,1100001100113.3 流量控制一、单工停等协议

1.理想情况下单工传输发送方无休止工作(要发送的信息无限多)接收方无休止工作(缓冲区无限大)通信线路(信道)不损坏或丢失信息帧工作过程发送程序:取数据,构成帧,发送帧;接收程序:等待,接收帧,送数据给高层2.无错单工停等协议

(ASimplexStop-and-WaitProtocol)增加约束条件:接收方不能无休止接收。例如:缓冲区数量有限,接受速率比发送速率低等。解决办法:接收方每收到一个帧后,给发送方回送一个响应。工作过程发送程序:取数据,成帧,发送帧,等待响应帧;接收程序:等待,接收帧,送数据给高层,回送响应帧。理想情况无错单工停等协议

D0D1D2D3D0D1A0A13.有噪声信道的单工协议(ASimplexProtocolforaNoisyChannel)增加约束条件:信道(线路)有差错,信息帧可能损坏或丢失。

1)常使用正向应答+重发机制来解决差错的控制问题。

2)数据序号采用循环序号机制。

3)使用超时重发计时器开解决出错重发问题。

4)为判断重复帧,在接受方必须保存下一个接收的帧的序号。

5)应答帧的两种方式:单帧应答:应答序号为某一个正确帧的序号成批应答:应答序号为下一个期望接收的序号

6)通常采用附载应答方式

7)协议效率低从网络层取数,成帧发送帧帧到否应答到否超时否重复否正确否接收帧,送网络层发应答发送帧应答帧YNYNYNNY定时器

有噪声信道的单工停等协议示意图丢弃丢弃二、流水线协议(连续停等协议)

连续停等协议是指不需要等前面帧的应答收到就可连续不断的发下面的帧。全部重发流水线协议当一帧出错时,需重发出错帧之后的所有帧接收方的缓冲区数量只需要一个选择重发流水线协议当一帧出错时,只重发出错帧接收方的缓冲区数量足够多三、滑动窗口协议(1)

(SlidingWindowProtocol)

滑动窗口协议是对连续停等协议的改进,它能够控制已发送但未确认的数据帧的个数(滑动窗口的大小)。发送窗口窗口尺寸:允许连续发送未应答的帧的个数数据允许发送的条件:上界-下界<窗口尺寸窗口滑动的条件窗口上界移动:发送数据帧;窗口下界移动:收到应答帧接收窗口窗口尺寸:允许连续接收未处理的帧的个数数据允许接收的条件:数据序号落在接收窗口中窗口滑动的条件发送应答帧后上下界同时移动

三、滑动窗口协议(2)

(SlidingWindowProtocol)发送的数据帧都有一个序号,从0到某个最大值,0~2n-1,一般用n个二进制位表示;发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口大小=上界-下界,大小可变;发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1;接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧;接收窗口容纳允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,上界、下界都加1。接收窗口大小不变。

三、滑动窗口协议(3)

(SlidingWindowProtocol)1比特滑动窗口协议(AOneBitSlidingWindowProtocol)协议特点窗口大小:N=1发送序号和接收序号的取值范围:0,1;可进行数据双向传输,信息帧中可含有确认信息信息帧中包括两个序号域:发送序号和接收序号(已经正确收到的帧的序号)工作过程3.5 常用的数据链路层协议(1)

ISO和CCITT在数据链路层协议的标准制定方面做了大量工作,各大公司也形成了自己的标准。数据链路层协议分类面向字符的链路层协议ISO的IS1745,基本型传输控制规程及其扩充部分(BM和XBM)IBM的二进制同步通信规程(BSC)DEC的数字数据通信报文协议(DDCMP)PPP3.5 常用的数据链路层协议(2)面向比特的链路层协议IBM的SNA使用的数据链路协议SDLC(SynchronousDataLinkControlprotocol);ANSI修改SDLC,提出ADCCP(AdvancedDataCommunicationControlProcedure);ISO修改SDLC,提出HDLC(High-levelDataLinkControl);CCITT修改HDLC,提出LAP(LinkAccessProcedure)作为X.25网络接口标准的一部分,后来改为LAPB。一、高级数据链路控制规程HDLC(1)1976年,ISO提出HDLC(High-levelDataLinkControl)HDLC的组成帧结构规程元素规程类型 语义使用HDLC的语法可以定义多种具有不同操作特点的链路层协议。HDLC的适用范围计算机——

计算机计算机——

终端终端——

终端}语法数据站(简称站station),由计算机和终端组成,负责发送和接收帧。HDLC涉及三种类型的站:主站(primarystation):主要功能是发送命令(包括数据),接收响应,负责整个链路的控制(如系统的初始、流控、差错恢复等);次站(secondarystation):主要功能是接收命令,发送响应,配合主站完成链路的控制;组合站(combinedstation):同时具有主、次站功能,既发送又接收命令和响应,并负责整个链路的控制。高级数据链路控制规程HDLC(2)HDLC适用的链路构型非平衡型点—

点式多点式适合把智能和半智能的终端连接到计算机。

主站次站主站次站次站次站...高级数据链路控制规程HDLC(3)HDLC适用的链路构型平衡型主站—

次站式组合式适合于计算机和计算机之间的连接主站主站次站次站逻辑通道组合站组合站高级数据链路控制规程HDLC(4)高级数据链路控制规程HDLC(5)HDLC的基本操作模式正规响应模式NRM(NormalResponseMode)适用于点—

点式和多点式两种非平衡构型。只有当主站向次站发出探询后,次站才能获得传输帧的许可。异步响应模式ARM(AsynchronousResponseMode)适用于点—

点式非平衡构型和主站—

次站式平衡构型。次站可以随时传输帧,不必等待主站的探询。异步平衡模式ABM(AsynchronousBalancedMode)适用于通信双方都是组合站的平衡构型,也采用异步响应,双方具有同等能力。HDLC的帧结构(1)定界符01111110空闲的点到点线路上连续传定界符地址域(Address)多终端线路,用来区分终端;点到点线路,有时用来区分命令和响应。若帧中的地址是接收该帧的站的地址,则该帧是命令帧;若帧中的地址是发送该帧的站的地址,则该帧是响应帧。HDLC的帧结构(2)控制域(Control)8b:用作序号、确认和其它目的数据域(Data)任意信息,任意长度(上层协议SDU有上限)校验和(Checksum)CRC校验生成多项式:CRC-CCITTHDLC的帧结构(3)帧类型信息帧(Information)完成信息传送。监控帧(Supervisory)差错控制和流量控制。无序号帧(Unnumbered)链路控制管理。控制域Fig.3-25信息帧序号(Seq):滑动窗口技术,3位序号,发送窗口大小为7捎带确认(Next):捎带第一个未收到的帧序号,而不是最后一个已收到的帧序号探询/结束P/F位(Poll/Final):多终端系统中,计算机置“P”,允许终端发送数据;终端发向计算机的帧中,最后一个帧置为“F”,其它置为“P”。HDLC的帧结构(4)监控帧类型“0”表示确认帧RR(RECEIVEREADY)类型“1”表示否定性确认帧REJ(REJECT),对应于出错全部重传类型“2”表示接收未准备好RNR(RECEIVENOTREADY)类型“3”表示选择拒绝SREJ(SELECTIVEREJECT),对应选择性重传HDLC和ADCCP允许选择拒绝,SDLC和LAPB不允许。HDLC的帧结构(5)无序号帧可以用来传控制信息,也可在不可靠无连接服务中传数据。命令DISC(DISConnect)SNRM(SetNormalResponseMode)SARM(SetAsynchronousResponseMode)SABM(SetAsynchronousBalancedMode)HDLC和LAPB使用。FRMR(FRaMeReject)无序号确认UA(UnnumberedAcknowledgement)对控制帧进行确认,用于确认模式建立和接受拆除命令。UI(UnnumberedInformation)HDLC的帧结构(6)HDLC的功能组合三种站,两种构型,三种操作模式,以及规程元素中定义的各种帧的各种组合产生多种链路层协议。HDLC定义了选择构成链路层协议的良序结构:选择站构型——>基本操作模式——>基本帧种类——>12种任选功能——>得到协议二、X.25的链路层协议LAPB(1)X.25协议分组级,PLP帧级,X.25LAP(LinkAccessProcedure),X.25LAPB(Balanced)物理级,X.21“X.25协议规程使用HDLC规程的原理和术语”X.25LAP:HDLC非平衡规程帧的基本清单+任选功能2、8、12,也可组成主站—

次站式平衡规程。X.25LAPB:HDLC组合站平衡规程帧的基本清单+任选功能2、8、11、12。因此,X.25LAP、LAPB是HDLC的子集。X.25的帧格式与HDLC完全相同X.25链路级的命令和响应X.25的链路层协议LAPB(2)X.25LAPB的各种检错和纠错措施a帧格式上采用CRC校验,只检错,不纠错,丢弃出错帧;b设立超时机制,计时器超时重传,重传N次,则向上层协议报告。超时机制用来检错,重传用来纠错。c帧序号若接收方发现帧序号错,就发拒绝帧给发送方,发送方重传,既检错也纠错。d采用P/F位来进行校验指示发送置为P的命令帧,等待置为F的响应帧,能及时发现远程数据站是否收到命令帧。规程规定:a必须使用;b,c,d组合使用。X.25的链路层协议LAPB(3)三、Internet数据链路层协议(1)点到点通信的两种主要情形:路由器到路由器(router-routerleasedlineconnection)通过modem拨号上网,连到路由器或接入服务器(AccessServer)(dial-uphost-routerconnection)Internet数据链路层协议(2)SLIP——SerialLineIP

温馨提示

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

评论

0/150

提交评论