第4章++数据通信接口与链路控制.ppt_第1页
第4章++数据通信接口与链路控制.ppt_第2页
第4章++数据通信接口与链路控制.ppt_第3页
第4章++数据通信接口与链路控制.ppt_第4页
第4章++数据通信接口与链路控制.ppt_第5页
已阅读5页,还剩203页未读 继续免费阅读

下载本文档

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

文档简介

第4章数据通信接口与链路控制,4.1数据通信系统4.2数据通信接口特性4.3数据链路控制的基本概念4.4数据链路控制协议机理与分析4.5差错控制4.6高级数据链路控制(HDLC)规程,4.1数据通信系统,典型的数据通信系统主要由数据电路和两侧的数据终端设备所组成,如图4.1.1所示。在ITU的系列建议中,数据终端设备(DTE)泛指智能终端(各类计算机系统、服务器)或简单终端设备(如打印机),内含数据通信(或传输)控制单元。数据电路包含传输介质及两端的数据电路终接设备(DCE,DataCircuitTerminatingEquipment)。,若传输信道采用专线方式,则计算机系统发送的数字数据通过通信接口,经传输信道到达接收端的DCE,然后再经过通信接口传送到服务器,反之亦然。但在计算机与服务器间通信的过程中,仍然需要考虑如下问题:通信接口的规范性;通信模式的选择;数据链路的建立;通信双方的协调,收、发数据缓冲,速率适配和串并转换等;差错控制,检测与恢复在通信与传输过程中出现差错的数据;传输代码的确定等。,图4.1.1传统的数据通信系统的基本构成,若采用拨号呼叫方式,传输信道部分可由通信子网替代,此时要考虑计算机如何寻找到所需的服务器这一问题,即数据电路的建立、寻址和路由选择。数据电路位于DTEDTE之间,为数据通信提供数字传输信道。DTE产生的数据信号可能有不同的形式,但都表现为数字脉冲信号。DCE是DTE与传输信道(或通信子网)之间的接口设备,其主要作用是信号变换。当传输信道为模拟信道时,DCE为调制解调器(Modem),发送方DCE将DTE送来的数字信号进行调制(频谱搬移)变成模拟信号送往信道或进行相反的变换。,当传输信道是数字信道时,DCE实际是数字接口适配器,其中包含数据服务单元(DSU,DataServiceUnit)与信道服务单元(CSU,ChannelServiceUnit),前者执行码型和电平转换、定时、信号再生和同步等功能;后者则执行信道均衡、信号整形和环路检测等功能。,如前所述,计算机通信在不同的发展阶段有其不同的应用对象,为了说明数据链路控制的作用,在此再强调一下两个术语:数据电路和数据链路26。数据电路是一条连接通信双方的物理电路段(可以是线传输媒体,也可以是软传输媒体),中间不包括任何交换节点。在进行数据通信时,两台计算机之间的通路往往是由许多物理电路链接而成的。,因此,物理电路在网络中仅是一个基本单元,有时也可称之为物理链路,或简称链路。但数据链路(DataLink)却是另一个概念,它具备逻辑上的控制关系。在OSIRM的数据链路层上常用虚线来表示通信双方的连接,这是因为在一条线路上传送数据时,除了必须具有一条物理电路外,还必须有一些必要的协议、规程(Procedure或Protocol)来控制这些数据的传输,把实现这些规程的硬件和软件加到物理链路上,就构成了数据链路(参见图4.1.1)。因此,数据链路就像一个数字通道,可以在数据链路上进行数据通信。当采用复用技术时,一条物理电路可以构成多条数据链路。,4.1.1通信方式数据通信的传输是有方向性的,从通信双方的信息交互方式和数据电路的传输能力来看,有以下三种基本方式:单工通信:即单方向通信,如电视广播、无线广播等,如图4.1.2(a)所示。半双工通信:即双向交替通信,双方不能同时通信;一方发送信息时,另一方只能接收信息,反之亦然,如图4.1.2(b)所示。全双工通信:即双向同时通信,双方能同时收发信息,如图4.1.2(c)所示。,全双工通信可以是四线或二线传输。四线传输时,有两条物理上独立的信道,一条发送,一条接收;二线传输时,可以把两个方向的信号采用频分复用或时分复用等方法将信道的带宽一分为二,或采用回波抵消技术使两个方向的数据共享信道带宽。,图4.1.2三种基本通信方式(a)单工通信;(b)半双工通信;(c)全双工通信,4.1.2异步通信和同步通信在串行传输中,解决收、发端间字符传输的同步协调目前主要存在两种方式:异步通信和同步通信。异步通信方式也称起止式同步通信,它以字符为传输单位,不论字符所采用的代码为多少位,在发送每一个字符代码时,都要在前面加上一个起始位,该起始位的长度为1个码元,极性为“0”,表示一个字符的开始。在每个字符代码的后面还要加上一个终止位,长度可选为1、1.5或2个码元长度,极性为“1”,表示一个字符的结束。异步串行通信的字符如图4.1.3所示。,图4.1.3异步串行通信的字符,字符可以连续发送,也可以单独发送。当不发送字符时,保持“1”状态。因此,每个字符的起始时刻可以是任意的,从这一意义上,收发端的通信具有异步性,但在同一字符内部,各码元长度应是相同的。接收方可以根据字符之间从终止到起始的跳变,即由“1”变“0”的下降沿来识别一个字符的开始,然后从下降沿以后T2秒(T为接收方本地时钟周期)开始每隔T秒进行取样,直到取完整个字符,再来判断一个个字符。,异步通信方式的优点是实现字符同步比较简单,收发双方的时钟信号不需要严格同步;缺点是不适宜高速率的数据通信,且对每个字符都需加入起始位和终止位,因而传输效率低。如字符采用国际5号码,起始位为1位,终止位为1位,并采用1位奇/偶校验位,则传输利用率仅为70。,异步通信方式的优点是实现字符同步比较简单,收发双方的时钟信号不需要严格同步;缺点是不适宜高速率的数据通信,且对每个字符都需加入起始位和终止位,因而传输效率低。如字符采用国际5号码,起始位为1位,终止位为1位,并采用1位奇/偶校验位,则传输利用率仅为70。,同步通信方式要比异步通信方式复杂,它是以固定的时钟节拍来发送数据信号的,因此在一个串行数据流中,各信号码元之间的相对位置是固定(同步)的。接收端为了从接收到的数据流中正确地区分一个个信号码元,必须具有与发送端一致的时钟信号。在同步通信方式中,发送的数据一般以组(Block)或帧(Frame)为单位。通常一组(或帧)数据包含多个字符代码或多个比特,在其前、后分别加上控制字段和校验字段,如图4.1.4所示。,图4.1.4同步串行通信的字符,同步方式有比特同步、字符同步和帧同步等。与异步通信方式相比,由于它发送每一字符时不需要单独加起始位和终止位,具有较高的传输效率,故现代数据通信,特别是高速环境下,主要采用同步通信。,4.1.3传输代码由数据终端设备发出的数据信息一般都是字母、数字或符号的组合。为了传递这些信息,首先需将这些字母、数字或符号用二进制数“0”或“1”的组合,即二进制代码来表示(在OSI参考模型上位于表示层)。目前常用的传输代码有:国际5号码、国际电报2号码、EBCDIC码和信息交换用汉字代码。,1.国际5号码国际5号码是一种7单位代码,以7位二进制码来表示一个字母、数字或符号,最早是美国国家标准化协会在1963年提出的,称为美国信息交换用标准代码(ASCII,AmericanStandardCodeforInformationInterchange),后被ISO和ITUT采纳并发展成为国际通用的信息交换用标准代码。表4.1.1列出了国际5号码编码表。,7位二进制共有128个代码,可表示128个不同的字母、符号和数字。其中,32个作为控制字符使用,它们只产生控制功能,不可被显示或打印;其余均为显示或打印用的图形字符,包括大、小写英文字母各26个,数字10个,以及其他图形符号33个。,表4.1.1国际5号码编码表,2.国际电报2号码国际电报2号码(ITA2)是一种5单位代码,又称为博多(Baudot)码,是起止式电传电报通信中的标准代码,目前仍在采用普通电传机作终端的低速数据通信系统中使用。5单位码共有32种组合,另外还有两个转移控制码“字母(Letter)”和“数字(Figure)”使其随后的代码改变意义,用于区分数字和字母。因此,国际电报2号码可表示64种字符,实际只用58个传输码字,包括字母、数字、符号和控制符。,3.EBCDIC码EBCDIC码是扩充的二-十进制码的简称,是由IBM公司提出的一种8单位代码。由于第8位用于扩充功能,不能作奇偶校验,故这种码一般作为计算机的内部码使用。4.信息交换用汉字代码信息交换用汉字代码是汉字信息交换用的标准代码,它适用于一般的汉字处理、汉字通信等系统之间的信息交换。汉字用两个字节表示,每个字节均采用国家标准GB1988-80“信息处理交换用的七位编码字符集”的7单位代码。,4.2数据通信接口特性,4.2.1通信接口的机械特性10DTE和DCE之间的接口首先涉及用于多线互连的接插件的机械特性,它规定了接插件的几何尺寸和引线排列,如图4.2.1所示。几种常用的接插件规格及其应用环境如表4.2.1所示。,图4.2.1通信接口机械特性(接插件的几何尺寸和引线排列),表4.2.1接插件规格和应用环境,4.2.2通信接口的电气特性电气特性描述了通信接口的发信器(驱动器)、接收器的电气连接方法及其电气参数,如信号电压(或电流)、信号源、负载阻抗等。ITUTV系列建议的V.28、V.10、V.11及X系列的X.26、X.27都是描述有关电气特性的,其中V.10与X.26,V.11与V.27具有相同的特性,参见表4.2.2。表4.2.2中给出的数据传输率是参考值,它与DTE/DCE间电缆的长度和类型有关。,表4.2.2通信接口的电气特性,V.28为不平衡接口,通过其公共的信号地线构成回路引起的串音会随工作速率增大而增加,所以V.28的传输速率限制在20kb/s(目前已能达到33.6kb/s)之内。V.10/X.26所规定的电气连接为准平衡双流接口电路,发信器G为不平衡驱动电路,而接收端为差动平衡输入电路。若DTE侧为不平衡驱动,其公共回线为Ga;同样DCE侧的不平衡驱动电路,其公共回线则为Gb。当电缆长度为10m时,其速率可达100kb/s,若电缆长度为1000m时,则速率小于1kb/s。,V.11/V.27为平衡接口电路,即一对信号线对地平衡,当电缆长度为10m时,工作速率可达10Mb/s,而电缆长度为1000m时,工作速率可达100kb/s。发信器的输出电压Uaa0.3V时,则为二进制数据“0”或控制、定时端口为“ON”(连通)状态。V.28接口常用的集成电路芯片型号:发信器(驱动电路)为SN75188或MC1488;而接收器为SN75189或MC1489;V.10则采用SN75157、SN75158;V.11则采用SN75174、SN75175。,4.2.3通信接口的功能特性通信接口的功能特性描述了接口执行的功能,定义接插件的每一引线(针,Pin)的作用。通常,按功能特性可将端口归为四类:数据线、控制线、定时线和地线。ITUTV.24建议定义了V系列接口电路的名称及功能,而X.24建议则定义了X系列接口电路的名称及功能。V.24(100系列)和V.24(200系列)接口电路的名称和功能分别如表4.2.3、表4.2.4和表4.2.6所示。V.24建议接口功能定义了100系列接口电路和200系列接口电路。100系列接口电路可用于DTE与Modem、DTE与串行自动呼叫自动应答器(DCE)之间的接口电路。,表4.2.4V.24(200系列)接口电路的名称及功能,200系列接口电路适用于DTE和并行自动呼叫器(ACE)间的接口电路。V.24建议为每一种控制功能定义了一系列接口电路,因此,其接口电路的数量很多,不利于增加新的功能。X.24建议则采用了多重复用一条接口线的方法来减少接口线的数量,而且增加和修改接口的控制功能时不需要增加接口电路。X.24接口控制功能是通过C、I、T、R四条线的接口电路的共同协作来完成的,因此,X.24接口要求DTE和DCE设备能够根据控制的要求,发送、接收和识别相应的字符串信号,比较复杂。,1.V.24100系列接口电路(1)信号地线和公共回线:V.24定义了四根信号地线或公共回线,即102、102a、102b、102c,其中102是最基本的,它为V.28非平衡接口电路建立信号公共回线,为V.10、V.11接口提供直流基准电位。102a(DTE公共回线)和102b(DCE公共回线)只是与V.10接口电路配合使用。(2)数据电路:103为发送数据电路,104为接收数据电路;而118为发送反向信道数据电路,119为接收反向信道数据电路。,(3)控制电路:V.24定义的控制电路较多,都是为实现通信规程的控制和测试的需求而建立的。107、108/2用于由DCE和DTE分别向对方通知本端所处的状态,108/1用于实现DTE对DCE的控制。105和106用于实现DTE和DCE之间开始或结束数据传输的过程控制。105为ON状态,表示DTE请求发送数据,若DCE同意DTE要求,它可以将106置为ON状态予以肯定回答。109线用于监视通信线路和DCE设备的工作状态。,(4)定时电路。在同步通信方式中,接口需要定时信号,以利于数据电路(收、发)保持同步,确保数据信息的正确识别和接收。在实际应用中,发送和接收码元的定时只需要由DTE或DCE一侧提供,例如,由DCE提供发信码元定时和收信码元定时可分别用114、115。由表4.2.3可知,数据、控制和定时电路的每一线均有流向指示。上述的定义均是从DTE一侧作出的。如DTE的103表示从DTE向DCE发送数据的电路,相对来讲,在DCE侧,103实际上是接收数据电路,但仍称作“发送数据电路”,此时,103含义是指该端子应与DTE的103端相连接。,2.V.24200系列接口电路200系列接口电路用于DTE和带有ACE(自动呼叫设备)的DCE之间的接口电路,其接口电路功能如下:201为信号地线或公共回线。202为呼叫请求,DTE用此线控制DCE中ACE与线路接通(202“ON”)或断开(202“OFF”)。203为数据线路占线指示,由DCE告知DTE有关数据线路的状态。203为“ON”表示线路忙;203为“OFF”,则表示线路空闲,DTE可呼叫。,204指示远端站已接通,由DCE通知DTE表示远端站已接通。205为放弃呼叫,由DCE通知DTE拨完号后超时而线路尚未接通,DTE应当放弃呼叫。206209为DTE向DCE发送的拨号号码(十进制数)和控制字符的编码组合,如表4.2.5所示。,表4.2.5呼叫数字编码,表中控制字符END表示拨号号码结束,使DCE等待呼叫数据站的应答。控制字符SEP表示使ACE插入适当的时间间隔,例如,小交换机用户拨外线时,在“0”之后需有一个停顿时间,才允许拨下一串呼叫号码,此时可插入SEP来实现此停顿时间。210表示呈现下一个数字,由DCE通知DTE,ACE已做好接收一个数字的准备。211为数字呈现,由DTE通知DCE,拨号数字已经呈现在206209上,DCE可以读取数字。213为电源指示。,3.X.24接口电路表4.2.6给出了X.24(X.21、X.20)接口电路的功能。(1)信号地线或公共回线(G、Ga、Gb)的含义与V.24的102、102a、102b相对应。(2)数据电路中各线功能如下:发送线T:DTE使用T向DCE发送用户的数据和控制信号,DCE监视和检测接口的状态,并依据接口规程实现接口的过程控制。,表4.2.6CCITTX.24(X.21、X.20)系列接口电路的名称及功能,接收线R:DCE使用R向DTE发送来自远端DTE的数据,并依据规程向DTE发送控制信号。DTE监视与检测该电路状态,并依据规程实现通信规程控制。(3)控制电路中各线功能如下:控制线C:DTE使用C的状态和T的编码,指示数据传输阶段和各种控制信号。指示线I:DCE使用I的状态和R的编码,指示数据传输阶段和各种控制信号。,(4)定时电路中各符号的功能如下:信号码元定时S:DCE使用S向DTE提供比特定时信号,它是周期性信号。当S状态由OFF到ON跃变时,T、C、R、I应处于稳定状态。字节定时B:DCE使用B向DTE提供字节(8比特)定时信号。在字节的最后一个比特期间,S处于ON状态,B处于OFF状态;在其他所有时间,B为ON状态。,帧开始定时F:当连接多路复用的DTE/DCE接口时,由DCE向DTE提供F。在复用帧的最后1个比特期间,F处于OFF状态,其他时间为ON状态。DTE信号码元定时X:DTE用X向DCE提供码元定时,X线也是周期性信号。当X由OFF到ON跃变时,T、C应处于稳定状态。,4.X.21建议X.21建议定义了在公用数据网上提供同步通信的DTE/DCE之间的接口,它是X.24的一个子集。X.21建议接口的电气特性在DCE侧应符合X.27建议,在DTE侧应符合X.27或X.26建议,且要求采用15芯接插件。当DTE和DCE用T、R、C、I发送二进制数“1”或“0”作控制状态时,其发送时间应至少持续24比特,而监测该状态的时间应是16个连续的“1”或“0”。,5.X.20建议X.20建议定义了在公用数据网上提供异步通信的DTE和DCE之间的接口,它也是X.24的一个子集。X.20建议的电气特性在DCE侧应符合X.26建议,而在DTE侧应符合X.26或X.27建议,也可以是V.28建议的DTE。X.20建议中,接口的控制过程是由T和R传输控制字符的,这些用于呼叫控制的字符取自T.50建议规定的国际5号码(IA5)。X.20建议的功能特性参见表4.2.6,接插件也采用15芯(ISO4903)。,ITUT还定义了X.21bis和X.20bis。X.21bis是指在公用数据网(PDN)上与同步V系列Modem接口的DTE操作规程,而X.20bis是在PDN上与异步全双工V系列Modem接口的DTE操作规程,它们都是V.24的子集。,4.2.4通信接口的规程特性通信接口的规程特性描述通信接口上传输时间与控制需要执行的事件顺序。1.V.24接口电路的规程特性V.24建议的通信过程控制是由许多控制线的状态变化来实现的,它还规定了各条控制线的定时关系。现讨论下列两组控制电路。(1)107(数据设备准备好)和108/1(数据设备可接至线路)或108/2(数据终端准备好)。这组电路用于控制DCE与通信媒体的连通。108/1或108/2表示由DTE发送控制命令,107则表示由DCE对控制命令作出响应。,108/1用于人工呼叫/应答站,而108/2用于自动呼叫/应答站,DTE只能选用其中一种。108/1从OFF到ON状态,要求DCE(调制解调器)立即与线路接续;而108/2从OFF到ON状态,还须有125处于ON状态,表示自动呼叫/应答站已准备好,才能使调制解调器与线路接续。107为ON状态,表示DCE已接通线路,并准备好与DTE进一步交换控制信号。108/1或108/2线一旦为OFF状态,表示DTE要求拆线,且在107线断开之前,不能再次转为接通状态。,图4.2.2V.24接口的规程特性,(2)105(请求发送)和106(准备发送)。这一组电路用于线路接续完成之后控制DTE和DCE之间数据的发送和接收过程。DTE通过置105为ON状态,表示它要求发送数据。DCE检测到105为ON状态后就进入发送方式,且通知远地的DCE,调整到它可以接收数据的状态。DCE置106为ON状态,向DTE表明它已做好发送数据的准备。DTE通过将105置为OFF状态,表示要求终止发送数据,DCE则置106为OFF状态,予以响应,并且在106为OFF状态之前,105不能再次被置为ON状态。,下面以一个调制解调器半双工通信为例,说明其操作顺序,如图4.2.2所示。当107线为ON状态时,若105也处于ON状态,DCE向对方发送载频,经过时延t1(约数十至数百毫秒)后,将106置为ON状态,DTE就可以用103发送数据。当107接通后,若105仍处于OFF状态,则DCE开始检测线路上输入的载频信号。一旦测到载频信号,表示远端要求发送数据,经过一定时延后,由DCE将109置为ON状态,通知DTE准备在104上接收数据。图中省略了呼叫的拨号过程。,2.X.21接口电路的规程特性X.21接口电路是X.24的一个子集,在电路交换数据网、分组交换数据网中用得较多,其规程特性规定了DTE/DCE的T、R、C、I接口线的使用方法,以及接口的静止状态和转移状态。(1)静止状态:DTE有3种静止状态,它取决于T、C的状态。当T“1“、C“OFF”时,表示DTE准备好;当T“0”、C“OFF”时,表示DTE未准备好;当T“01”、C“OFF”时,即T上出现连续的01比特,则表明DTE可工作,但暂不能接入呼叫。,DCE有2种静止状态,它取决于R、I的状态。当R“1”、I“OFF”时,表示DCE准备好;当R“0”、I“OFF”时,则表示DCE未准备好。(2)转移状态:根据DTE、DCE转移状态的组合,ITUT规定的X.21转移状态如图4.2.3所示。图中圆圈表示状态,圆的上半部表示状态名,下半部列出了T、C、R、I。由此可见,X.21状态转移图共有6个状态:,A状态11:DTE、DCE准备好;B状态10:DTE准备好,DCE未准备好;C状态011:DTE受控未准备好,DCE准备好;D状态01:DTE未准备好,DCE未准备好;E状态010:DTE受控未准备好,DCE未准备好;F状态00:DTE、DCE均未准备好。,图4.2.3X.21状态转移图,图中引起状态转移的策动设备(如DTE或DCE)均注在箭头旁。例如,从B状态转移到A状态,是由DCE引起的,DCE从未准备好状态转移到准备好状态。X.21同时规定DTE和DCE用T、C、R、I作控制时,发送时间应至少持续24比特,而检测该状态的时间是16个连续的“0”或“1”。表4.2.7列出了X.21的规程特性示例及其呼叫建立和释放规程中T、C、R、I上所传送的控制信息,并且与打电话过程作了类比。,X.21接口的工作解释如下:初始状态,即DTE、DCE均处于准备好状态。主叫DTE发起呼叫设置T0,C“ON”。若本地DCE接受此呼叫,则在R线上向主叫DTE连发ASCII码字符“”,表示数字拨号音,通知主叫可以拨号。主叫DTE在T线传送被叫地址字符串。,本端的DCE将地址信息传送到远端的DCE后,由远端的DCE向被叫DTE发控制字符“BEL”进行振铃。与此同时,本地DCE向主叫DTE发回呼叫进展信号。ITUT的X.96建议规定呼叫进展信号由两位数字表示,反映呼叫的结果,如“呼叫接通”、“被叫占线”或“网络拥挤”等。若呼叫成功,则本地DCE置R1,I“ON”,通知DTE可以开始发送数据。全双工数据通信建立后,双方可通过T、R发送和接收数据。,数据传输结束后,主叫DTE令C“OFF”,T“0”,向DCE表示不再发送数据,但此时仍能接收对端发来的数据。本地DCE随后令I“OFF”,作为对DTE的响应,当被叫DTE也将C置OFF时,本地DCE可置R1,相当于挂机。主叫DTE收到R1后,即置T1,至此又回到线路空闲状态。,表4.2.7X.21规程特性示例,DTE的入呼叫过程和上述的出呼叫过程类似。若入呼叫过程和出呼叫过程同时发生,则应取消入呼叫,而让出呼叫继续执行。在DTE与DCE传送控制信息时,前后必须传送至少两个以上的同步字符SYN,以确保实现同步。上述的X.21规程特性适用于全数字的电路交换网。为使基于V.24/RS232C的设备易向X.21接口标准过渡,ITUT制定了X.21bis建议(其中bis是法文“替代”的意思),这时DCE应采用同步工作方式的调制解调器。,4.3数据链路控制的基本概念,4.3.1物理链路的基本结构由计算机和通信的各自发展进程可知,直接连接一词是指两台设备之间的传输信道为直接连接的通信形式。例如,两台计算机的直接连接如图4.3.1(a)所示,常称点-点连接;多台计算机的直接连接如图4.3.1(b)所示,常称多点连接。,图4.3.1物理链路的结构(a)点-点连接;(b)多点连接,物理链路的基本结构可分为两种:点-点链路和多点链路。数据链路两端的DTE可以是计算机或终端,也可是路由器或交换设备。从链路逻辑功能的角度来看,这些设备可称为站;从网络拓扑结构的观点来看,则常称之为节点(Node)。1)点-点链路在点-点链路中,发送信息或命令的站常称为主站(Primary,可简写成P),接收信息和命令而发出确认信息或响应的站称为从站(Secondary,可简写成S);兼有主、从站功能,可发送命令或响应的站称为复合站。,2)多点链路在多点链路中,往往有一站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况;其余各站则为受控站。多点链路早先用于面向终端的计算机系统,随着计算机通信技术的发展,现已广泛用于计算机局域网、无线分组网和卫星分组网。,4.3.2数据链路控制的功能数据链路最重要的作用就是:通过一些数据链路控制规程(即数据链路层协议),在不太可靠的、有外来干扰的物理链路上实现可靠的、几乎无差错的数据传输。依照OSI参考模式,可将数据链路层的主要功能归纳为以下7类。,1.帧同步(FrameSynchronous)在数据链路层,数据的传送单元是帧(Frame)。数据一帧一帧地依次传送,这样在传输中一旦出现差错,只需将有差错的帧再重传一次,而无须将全部数据都进行重传,尤其适合于传输长的数据文件。帧同步是指收方应能从收到的比特流中准确地判断出一帧的开始和结束,以便协调收发方之间的工作。,2.寻址(Addressing)在点-点链接的环境中,如X.25帧级的寻址方式,寻址方式比较单一;但在多点链接的情况下,必须设置保证每一帧正确送到的收方地址及发方地址,以便收方知道是哪一个站点发送的帧。3.流量控制(FlowControl)流量控制应确保通信的基本要求,即发方的发送数据速率必须不能超过收方及时接收和处理的能力。当收方来不及接收时,就必须采取相应的措施来控制发方发送数据的速率。,4.差错控制(ErrorControl)在计算机一类数据通信中,一般都要求有极低的比特差错率,为此广泛采用了编码技术。编码技术有两大类:一类是纠错编码,即前向纠错。收方收到有差错的数据帧时,能够发现差错并能自动加以改正。这种方法的开销较大,适合于使用卫星中继的计算机通信。另一类是检错编码,即检错重发。收方一旦检测出收到的帧中有差错(但并不关心是哪几个比特有错),就要求发方重复发送这一帧,以便收方能正确接收。这种方法在计算机通信中是最常用的。本章所要讨论的协议主要采用检错重发这种差错控制方法。,5.数据和控制信息的识别(Identification)由于数据和控制信息都是在同一信道中传送的,在许多情况下,数据和控制信息处在同一帧中,因此,一定要有相应的办法使收方能够将它们区分开来,这就是数据和控制信息的识别。6.透明传输(TransparentTransmission)所谓透明传输,就是不管所传数据是什么样的比特组合,都应当能够在物理链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息,即保证了数据链路的传输具有透明性。,7.链路管理(LinkManagement)当网络中的两个节点要进行通信时,数据的发方必须确知收方是否已在准备接收的状态。为此,通信的双方必须先交换一些必要的控制信息,或者说,必须先建立一条数据链路。同样地,在传输数据时应当维持数据链路,而在通信完毕时要释放数据链路。数据链路的建立、维持和释放过程就叫做链路管理。,上述的数据链路控制功能与其数据链路控制协议(规程)密切相关,不同的网络具有不同的通信协议(规程)。本章讨论的重点是广域网的数据链路控制协议(规程),而局域网的数据链路控制协议(规程)比广域网的更为复杂,我们将在介绍局域网时再进行讲述。,4.4数据链路控制协议机理与分析,4.4.1停止等待协议在广域网数据链路层上,最简单、最基本的数据链路控制协议是停止等待(StopandWait)协议。为叙述方便起见,我们假设数据以帧(Frame)为单元传输,并且数据链路为半双工传输方式,如图4.4.1所示,仅由节点A向节点B发送数据,节点B向节点A回送确认。,图4.4.1停止等待协议的通信过程,1.停止等待协议的特征描述停止等待协议的特征是:当节点A发出一个数据帧后,必须停止发送,等待节点B的应答(Acknowledgement,ACK)。如果节点B收到数据帧后,经检验无差错,则回送一应答(确认)帧通知节点A,节点A才能发送下一个数据帧,这种处理称之为正证实。1)正常情况所谓正常情况,是指在传输过程中,任何帧都不会出错或被丢失,这是一种理想情况。如图4.4.1所示,主机A将原文送到节点A,以数据帧格式通过数据电路传到节点B。节点B收到数据帧后,经验证无误,应立即执行下列操作:,(1)把数据帧送往主机B。(2)向节点A回送一个应答帧(ACK)确认。下面从时间顺序对传输一个数据帧的简单过程来分析停止等待协议的特征。设t1为数据帧传输第1比特的开始时刻,t2为第1比特到达节点B的时刻,t3为数据帧最后1比特到达的时刻,则数据帧的传播时间tp为,(4.1),式中,l为节点AB间的传输距离(km);v为电波速度,一般在线媒质中取为2105km/s。,数据帧的传输时间tF为,(4.2),式中,设F为数据帧长度(bit),C为数据传输速率(b/s)。又设每个帧F由控制信息和数据信息两个部分组成,即,式中,H为控制信息的比特数,D为每帧数据信息的比特数。节点A和B处理帧的时间tproc为tproc=t4-t3=t7-t6,应答帧(ACK)的传输时间tA为,式中,A为应答帧长度。因此,停止等待协议传输一个数据帧中D比特数据的信道利用率U为,(4.3),如果在纯理想的条件下,即既不考虑数据传输时间又忽略传播时延,不计确认帧的开销,则信道利用率U仅与帧的结构F=H+D有关。例如,设帧F的D长度为128字节,而H为6字节,由此可算得U=95.5%。与异步通信方式传输一个字符的信道利用率U=70%相比较,可见以帧为单元的同步通信的信道利用率有了较大的改善。,2)非常情况现在,我们再来讨论节点A与B之间的数据传输有可能出现差错的情况。其差错具体表现在以下两方面:(1)节点A向节点B发送数据帧时,在传送中受到干扰出错或丢失数据。(2)节点B收到数据帧后,回送出ACK帧,在BA的传输过程中,受到干扰出错或丢失数据。,这两方面的问题都致使节点A将一直等不到ACK确认帧,因此,节点A也就永远无法继续发送下一个帧,这就形成了死锁(DeadLock)。解决上述问题的办法是在节点A设置一个定时器T1,它的预定时间为t0。当发出一个数据帧后,立即启动定时器T1。若在预定时间t0内,节点A能收到ACK,则可继续正常传送下一个待发帧。若在预定时间内收不到ACK,即超时(TimeOut),则节点A由此可判定应重发数据帧。,定时器的t0值必须不小于节点A与B之间来回传播的时间,即节点A与B发、收帧的处理时间以及回送确认帧ACK的传输时间,也即t0(2tp+2tproc+tA)。很明显,如果t0(2tp+2tproc+tA),则有可能在回送ACK的行程中,节点A的定时器已超时,误认有错而重发,这样在节点B将会收到第二份相同的数据帧,形成重复帧,这是在数据链路控制协议中要采取措施解决的又一问题。,要解决重复帧的问题,行之有效的方法是对每一个发出的数据帧都编上号。若接收端收到相同编号的帧,可认为出现了重复帧,这时应当丢弃这一重复帧,与此同时,节点B仍需向节点A发送确认帧ACK,表明上一次发送的ACK已受干扰或丢失,并未送到节点A。,接着要考虑的问题是如何选用编号方案。对于停止等待协议,节点A每次只能发一个数据帧,所以只需用1bit的两个状态0、1加以编号即可。在正常的数据帧交换过程中,帧的序号0、1交替出现。每发送一个新的数据帧,编号值与上一次不同,收方就能区分出新的或重复的数据帧。,2.停止等待协议的定量分析现在我们来对上述的停止等待协议作定量分析。考虑到传输差错的影响,若某帧被干扰或丢失,设定时器的时限为T,则不成功传输所占用的传输容量Q1为F+CT。如果每帧重发平均次数为R,那么含R个废帧、一个正确帧的信道总容量Q0为Q0=R(F+CT)+(F+A+2CI)式中,I=tp+tproc。那么,考虑到传输差错影响的信道利用率U0为,现在再计算每帧重发的R。设p1为丢失某一数据帧的概率,p2为丢失1个ACK的概率。当数据帧和ACK帧两者均被正确接收,即帧发送成功的概率为(1-p1)(1-p2)时,显然有故障的概率p为1-(1-p1)(1-p2),在k次试验中有k-1次重发的概率为(1-p)pk-1,则每帧传送的平均数R为,(4.4),所以,每个数据帧重发的平均次数R为,将式(4.5)代入式(4.4),可得,(4.6),为简化分析,假设定时器的超时值T近似等于(A/C+2I),那么信道利用率U0可化简为,(4.7),上式表明停止等待协议的实际信道利用率U0与以下三个因素有关:(1)第一项D/(H+D),表明帧内附加控制信息标题的大小H会直接影响U0的值,即使在正常情况下,为传送数据位D也要考虑附加H时所引起的开销。(2)第二项(1-p),表明在传送过程中出现差错的概率p决定着重发过程。也就是说,差错概率越大,重发可能性越大,致使U0降低。,(3)最后一项是协议的控制过程所引起的开销,每发送一数据帧,要等待T才能发送下一个数据帧,因此T值越大,其U0越低。当式(4.7)中的HD,且CTF时,该式就简化为U(1-p),说明信道利用率U取决于故障的概率p。由以上分析可知,停止等待协议很简单,但信道利用率不高。,3.停止等待协议的算法下面用程序语言来阐述停止等待协议的算法。为了讨论方便,仍设数据链路为半双工通信方式,仅由节点A发送数据帧,节点B接收数据帧,并假定只回送ACK确认帧。发送节点A内设发送状态变量V(S),接收节点B内设接收状态变量V(R)。V(S)的值表示下一个待发送的帧序号,V(R)的值表示期望接收的帧序号。停止等待协议基本的收发过程如图4.4.2所示。其工作过程解释如下:,图4.4.2停止等待协议(半双工传输方式)基本的收发过程,(1)经数据链路初始化后,V(S)、V(R)分别置于0。(2)对停止等待协议的V(S)、V(R),若用1bit编号,只能是0、1两个值。(3)节点A每发送一个新帧,在其控制字段中填上N(S)值,此值取自V(S)。图中节点A发送第一个数据帧I格式内含N(S),其值为0,因为N(S)=V(S)。,(4)在节点B,每收到一个数据帧,将其N(S)与节点B内的V(R)相比。若相等,表明该帧序号为期望值,则把数据帧的信息内容送往主机;修改V(R),取V(R)V(R)+1(模2),赋值V(R)=1;同时对节点A回送确认帧ACK,内含节点B期望收到的下一个帧序号N(R),此值为修改后的V(R)。如不相等,表明发送出错。,(5)当节点A收到节点B的确认帧时,RRN(R)=1,RR表示接收端准备妥(ReceiveReady)。取出N(R)=1,节点A判定N(S)为0的数据帧已被节点B正确接收了,可以发下一个数据帧,其V(S)应为V(S)+1=0+1=1。为了对上述停止等待协议(半双工传输方式)基本的收发过程有一个深入的理解,下面给出用C语言编写的算法程序:,constintMaxSeq=1;enumEventTypeFrameArrival,CkNumErr,TimeOut;StructFramecharinfo131;intseq;intack;r,s;intvs,vr,,charbuffer131;EventTypeevent;voidprotocol-1()vs=0;/*初始化发送状态变量*/vr=0;/*初始化接收状态变量*/FromHost(buffer);/*从主机取信息*/strcpy(,buffer);/*准备发送开头的帧*/s.seq=vs;/*将发送状态变量值写入帧发送序号*/,s.ack=1-vr;/*捎带(piggybacking)ACK*/Sendf(s);/*发送帧*/StartTimer(s.seq);/*定时器开始运行*/while(!doomsday)wait(event);/*等待可能性:帧到达、校验和差错、超时*/if(event=FrameArrival)/*有效帧来到*/Getf(r);if(r.seq=vr)/*处理输入信息流中序列号*/,ToHost();/*报文送往主机*/vr+;/*变更接收序号*/if(r.ack=vs)/*处理输出信息流*/FromHost(buffer);/*主机取新报文*/vs+;/*变更发送序号*/,=buffer;/*构成输出帧*/s.seq=vs;/*在帧中插入序号*/s.ack=1-vr;/*这是上一次所收到的序号*/Sendf(s);/*发送一个帧*/StartTimer(s.seq);/*定时启动*/,(1)发送部分。初始化V(S)=0;从主机取一数据信息;将数据信息送到发送缓冲区;构成数据帧N(S)=V(S);发送数据帧;启动定时器;等待;取一确认帧ACK,修改V(S)。,(2)接收部分。初始化V(R)=0;等待;收到一有效帧;将数据信息送交主机;修改V(R);回送ACK。,由上述算法程序可见,停止等待协议在实用中,通信的双方必须设置缓冲区,定义内置的状态变量,如V(S)、V(R)。接收端节点B收到数据帧,要作出判断。其依据为V(R)是否等于N(S),若相等,回送确认帧ACK;若不相等,则不予回答(这种方式称之为正证实停止等待协议)。节点A收不到ACK,定时器超时,则重发原数据帧。在此基础上,可进一步将停止等待协议的内容加以扩展,从以下几方面加以考虑:,(1)当接收端的节点B收到的N(S)与本身的V(R)不等,表明序号有错,那么也可以采用回送一否认帧(NAK),表明收到的帧有误。加了这点功能,标志着通信协议已有了变化,这种处理称之为“负证实”。,(2)同样,可将半双工数据链路推广为全双工通信工作方式,亦即节点A、B都可发送和接收数据帧、确认帧或否认帧等。于是,收、发双方均需各自设置V(S)和V(R)。在传输的数据帧中应有N(S)与N(R)两个值,分别取自V(S)与V(R)。由于在数据帧中可通过N(R)传送确认信息,这种方式称捎带(piggybacking)确认(在上列程序中已用到),其中N(R)值告诉发送方,表明N(R)-1及以前的序号的帧已正确地被接收到,期望对方发送的帧号为N(R),而N(S)为本方发送的数据帧序号。,(3)在程序设计中,我们还应当考虑发送端在发完数据帧后,必须在其发送缓冲区内保留该数据帧的内容,以便在出现差错时可重发;只有在收到对方发来的ACK后,才能将其清除。这种方法采用接收端检错、发送端执行重发的控制体系,常称之为自动请求重发(ARQ,AutomaticRepeatRequest)。,4.4.2滑动窗口的流量控制方法实用的数据链路通信一般要求双向传输,即每个节点都能发送和接收数据;同一帧中既有数据信息又含有控制信息;发送节点发出的每一个帧均应有序号。本节将引入“滑动窗口(SlideWindow)”机制来说明如何循环重复使用已收到确认的帧的序号,提供可靠的流量控制手段,保证信息传输的准确性,有效地提高信道利用率。,1.滑动窗口的概念“滑动窗口”机制是实现数据帧的顺序控制的逻辑过程,它要求通信两端节点设置发送存储单元(缓冲区),用于保存已发送但尚未被确认的帧,这些帧对应着一张连续序号列表。实质上,这些帧也可等效成一个先进先出的队列,如图4.4.3所示。,图4.4.3滑动窗口的概念图,图中所示的已发送但未收到确认的序号队列的界称为发送窗口,其上界和下界分别称为发送窗口的上沿H(W)和下沿L(W),上沿与下沿的区间定义为窗口尺寸W。设WT为发送窗口的尺寸,表示要占用存储单元的数量。同理,在接收端也可设置类似的接收窗口,设WR为接收窗口尺寸,指示期待接收的帧序号。,窗口尺寸W的选择与信道的数据速率以及传输时延都有关,还与编号的bit数有关。若用nbit编号,可以编2n个序号,从0到2n-1,其中最大序号值Smax=2n-1。经常选用的n值为3或7。当n=3时,序号可为(07)模8循环使用;当n=7时,序号可为(0127)模128循环使用。,假定现用3bit进行编号,则窗口尺寸W的最小值为1,最大值为模数值-1即2n-1=7。对于模8的应用,数据帧的顺序编号总是07这8个数字循环,于是可以把窗口看作(注意仅仅是看作而言)是由一个圆的多个连续的八等分扇形面所组成的,如图4.4.4所示,每个扇形面代表一个序号,并按顺时钟方向编号。,图4.4.4滑动窗口机制的流量控制,发送窗口是用来对发送端进行流量控制的,发送窗口尺寸WT表示在没有收到对方确认的条件下发送端可连续发送的帧数。就停止等待协议而言,按照窗口尺寸的概念,其WT=1。这意味着停止等待协议在发出一个数据帧后,若没有收到对方确认,就不能连续发下一个数据帧。,2.滑动窗口机制的流量控制方法现在来解释图4.4.4中滑动窗口的流量控制方法。假定其发送窗口尺寸WT=3,按定义这表明在没有收到对方确认的情况下,发送端可连续最多发3个数据帧。在节点初始化后,图4.4.4的发送窗口内包含3个序号,即02。当发送端依次发完了02号数据帧,而尚未收到确认信息,那么发送窗口已满,就应停止发送进入等待状态。,此时窗口的下沿L(W)=0,而窗口的上沿H(W)=2。设最后收到的确认帧的N(R)=3,按上一节的解释,则表示发送的编号为0、1及2号的帧已全部正确被对方所接收。这时将收到帧的N(R)作为窗口的下沿L(W)=3,则窗口上沿H(W)=W+N(R)-1(模8)=5,表示现在可以发送的数据帧编号为3、4、5,整个扇形面按顺时针方向滑动了一个区域。,若此时V(S)值为4,表示编号为3的帧已经发送,还允许继续发送4、5号帧。如果发送帧的N(S)等于窗口的上沿,则窗口关闭,应停止发送,等待确认。待接收到新的数据帧或确认帧,它的N(R)大于上次的N(R),则窗口的下沿按顺时针方向移动,那样又可继续发送N(S)=V(S)的数据帧。正因为窗口按照上述规律不断地向前滑动,故称之为滑动窗口机制的流量控制方法。,接收窗口的设置与发送窗口类似,但接收窗口是表明接收端允许接收的数据帧的序号范围。因此,只有在接收窗口内的数据帧才是期望接收的,换句话说,接收窗口之外的帧被看作是非法的而丢弃。滑动窗口机制的流量控制方法可用于包括数据链路控制协议在内的各层次控制协议,例如,它在网络层、传输层中都有应用。,4.4.3连续ARQ协议连续ARQ协议的工作原理是应用滑动窗口机制的流量控制方法,改进了停止等待协议的缺点;在发送一个数据帧后,不是停止发送,而是允许继续发送多个数据帧,使通信的效率得到了提高。在连续ARQ协议中,所用的发送窗口尺寸WT应大于1,且接收端是有序接收的。允许连续发送数据帧的个数取决于窗口尺寸的大小,一般WT

温馨提示

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

评论

0/150

提交评论