第4章数据通信接口与链路控制第4章数据通信接口与链路控制4.1数据通信系统4.2数据通信接口特性4.3数据链路控制的基本概念4.4数据链路控制协议机理与分析4.5差错控制4.6高级数据链路控制(HDLC)规程第4章数据通信接口与链路控制4.1数据通信系统典型的数据通信系统主要由数据电路和两侧的数据终端设备所组成,如图4.1.1所示。在ITU的系列建议中,数据终端设备(DTE)泛指智能终端(各类计算机系统、服务器)或简单终端设备(如打印机),内含数据通信(或传输)控制单元。数据电路包含传输介质及两端的数据电路终接设备(DCE,DataCircuitTerminatingEquipment)。服务器(DTE)传输介质计算机系统(DTE)通信接口通信接口(DCE)(DCE)主机通信控制器数据电路终接设备传输信道通信控制器服务器数据电路数据链路数据电路终接设备图4.1.1传统的数据通信系统的基本构成第4章数据通信接口与链路控制如前所述,计算机通信在不同的发展阶段有其不同的应用对象,为了说明数据链路控制的作用,在此再强调一下两个术语:数据电路和数据链路[26]。数据电路是一条连接通信双方的物理电路段(可以是线传输媒体,也可以是软传输媒体),中间不包括任何交换节点。数据链路是在数据电路已建立的基础上,通过发送方和接收方之间交换“握手”信号,使双方确认后方可开始传输数据的两个或两个以上的终端装置与互连线路的组合体。当采用复用技术时,一条物理电路可以构成多条数据链路。第4章数据通信接口与链路控制4.1.1通信方式数据通信的传输是有方向性的,从通信双方的信息交互方式和数据电路的传输能力来看,有以下三种基本方式:·单工通信:即单方向通信,如电视广播、无线广播等,如图4.1.2(a)所示。·半双工通信:即双向交替通信,双方不能同时通信;一方发送信息时,另一方只能接收信息,反之亦然,如图4.1.2(b)所示。·全双工通信:即双向同时通信,双方能同时收发信息,如图4.1.2(c)所示。第4章数据通信接口与链路控制图4.1.2三种基本通信方式(a)单工通信;(b)半双工通信;(c)全双工通信传输方向A-B传输方向BAB-A传输方向A-B传输方向BAB-A传输方向(a)(b)(c)第4章数据通信接口与链路控制4.1.2异步通信和同步通信在串行传输中,解决收、发端间字符传输的同步协调目前主要存在两种方式:异步通信和同步通信。异步通信方式也称起止式同步通信,它以字符为传输单位,不论字符所采用的代码为多少位,在发送每一个字符代码时,都要在前面加上一个起始位,该起始位的长度为1个码元,极性为“0”,表示一个字符的开始。在每个字符代码的后面还要加上一个终止位,长度可选为1、1.5或2个码元长度,极性为“1”,表示一个字符的结束。异步串行通信的字符如图4.1.3所示。第4章数据通信接口与链路控制图4.1.3异步串行通信的字符字符起始位终止位校验位传输方向第4章数据通信接口与链路控制异步通信方式的优点是实现字符同步比较简单,收发双方的时钟信号不需要严格同步;缺点是不适宜高速率的数据通信,且对每个字符都需加入起始位和终止位,因而传输效率低。如字符采用国际5号码,起始位为1位,终止位为1位,并采用1位奇/偶校验位,则传输利用率仅为70%。第4章数据通信接口与链路控制同步通信方式要比异步通信方式复杂,它是以固定的时钟节拍来发送数据信号的,因此在一个串行数据流中,各信号码元之间的相对位置是固定(同步)的。接收端为了从接收到的数据流中正确地区分一个个信号码元,必须具有与发送端一致的时钟信号。在同步通信方式中,发送的数据一般以组(Block)或帧(Frame)为单位。通常一组(或帧)数据包含多个字符代码或多个比特,在其前、后分别加上控制字段和校验字段,如图4.1.4所示。信息字段校验字段控制字段传输方向图4.1.4同步串行通信的字符第4章数据通信接口与链路控制同步方式有比特同步、字符同步和帧同步等。与异步通信方式相比,由于它发送每一字符时不需要单独加起始位和终止位,具有较高的传输效率,故现代数据通信,特别是高速环境下,主要采用同步通信。第4章数据通信接口与链路控制4.1.3传输代码由数据终端设备发出的数据信息一般都是字母、数字或符号的组合。为了传递这些信息,首先需将这些字母、数字或符号用二进制数“0”或“1”的组合,即二进制代码来表示(在OSI参考模型上位于表示层)。目前常用的传输代码有:国际5号码、国际电报2号码、EBCDIC码和信息交换用汉字代码。第4章数据通信接口与链路控制1.国际5号码国际5号码是一种7单位代码,以7位二进制码来表示一个字母、数字或符号,最早是美国国家标准化协会在1963年提出的,称为美国信息交换用标准代码(ASCII,AmericanStandardCodeforInformationInterchange),后被ISO和ITU―T采纳并发展成为国际通用的信息交换用标准代码。表4.1.1列出了国际5号码编码表。第4章数据通信接口与链路控制表4.1.1国际5号码编码表第4章数据通信接口与链路控制4.2数据通信接口特性4.2.1通信接口的机械特性[10]DTE和DCE之间的接口首先涉及用于多线互连的接插件的机械特性,它规定了接插件的几何尺寸和引线排列,如图4.2.1所示。几种常用的接插件规格及其应用环境如表4.2.1所示。第4章数据通信接口与链路控制图4.2.1通信接口机械特性(接插件的几何尺寸和引线排列)13257114EIARS232-C(D)18915156925芯15芯9芯X.21EIARS232-C兼容35芯V.35第4章数据通信接口与链路控制4.2.2通信接口的电气特性电气特性描述了通信接口的发信器(驱动器)、接收器的电气连接方法及其电气参数,如信号电压(或电流)、信号源、负载阻抗等。ITU―TV系列建议的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章数据通信接口与链路控制4.3数据链路控制的基本概念4.3.1物理链路的基本结构由计算机和通信的各自发展进程可知,直接连接一词是指两台设备之间的传输信道为直接连接的通信形式。例如,两台计算机的直接连接如图4.3.1(a)所示,常称点-点连接;多台计算机的直接连接如图4.3.1(b)所示,常称多点连接。第4章数据通信接口与链路控制图4.3.1物理链路的结构(a)点-点连接;(b)多点连接DTEDTE(a)(b)第4章数据通信接口与链路控制物理链路的基本结构可分为两种:点-点链路和多点链路。数据链路两端的DTE可以是计算机或终端,也可是路由器或交换设备。从链路逻辑功能的角度来看,这些设备可称为站;从网络拓扑结构的观点来看,则常称之为节点(Node)。1)点-点链路在点-点链路中,发送信息或命令的站常称为主站(Primary,可简写成P),接收信息和命令而发出确认信息或响应的站称为从站(Secondary,可简写成S);兼有主、从站功能,可发送命令或响应的站称为复合站。第4章数据通信接口与链路控制2)多点链路在多点链路中,往往有一站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况;其余各站则为受控站。多点链路早先用于面向终端的计算机系统,随着计算机通信技术的发展,现已广泛用于计算机局域网、无线分组网和卫星分组网。第4章数据通信接口与链路控制上述的数据链路控制功能与其数据链路控制协议(规程)密切相关,不同的网络具有不同的通信协议(规程)。本章讨论的重点是广域网的数据链路控制协议(规程),而局域网的数据链路控制协议(规程)比广域网的更为复杂,我们将在介绍局域网时再进行讲述。第4章数据通信接口与链路控制4.4数据链路控制协议机理与分析4.4.1停止等待协议在广域网数据链路层上,最简单、最基本的数据链路控制协议是停止等待(StopandWait)协议。为叙述方便起见,我们假设数据以帧(Frame)为单元传输,并且数据链路为半双工传输方式,如图4.4.1所示,仅由节点A向节点B发送数据,节点B向节点A回送确认。第4章数据通信接口与链路控制图4.4.1停止等待协议的通信过程A数据帧应答帧t1tBt5t6t2t3t4第4章数据通信接口与链路控制1.停止等待协议的特征描述停止等待协议的特征是:当节点A发出一个数据帧后,必须停止发送,等待节点B的应答(Acknowledgement,ACK)。如果节点B收到数据帧后,经检验无差错,则回送一应答(确认)帧通知节点A,节点A才能发送下一个数据帧,这种处理称之为正证实。1)正常情况所谓正常情况,是指在传输过程中,任何帧都不会出错或被丢失,这是一种理想情况。如图4.4.1所示,主机A将原文送到节点A,以数据帧格式通过数据电路传到节点B。节点B收到数据帧后,经验证无误,应立即执行下列操作:第4章数据通信接口与链路控制(1)把数据帧送往主机B。(2)向节点A回送一个应答帧(ACK)确认。下面从时间顺序对传输一个数据帧的简单过程来分析停止等待协议的特征。设t1为数据帧传输第1比特的开始时刻,t2为第1比特到达节点B的时刻,t3为数据帧最后1比特到达的时刻,则数据帧的传播时间tp为21plttt(4.1)式中,l为节点AB间的传输距离(km);v为电波速度,一般在线媒质中取为2×105km/s。第4章数据通信接口与链路控制数据帧的传输时间tF为31FFHDtttCC(4.2)式中,设F为数据帧长度(bit),C为数据传输速率(b/s)。又设每个帧F由控制信息和数据信息两个部分组成,即FHD式中,H为控制信息的比特数,D为每帧数据信息的比特数。节点A和B处理帧的时间tproc为tproc=t4-t3=t7-t6第4章数据通信接口与链路控制应答帧(ACK)的传输时间tA为65AAtttC式中,A为应答帧长度。因此,停止等待协议传输一个数据帧中D比特数据的信道利用率U为222()DFApprocpproctDUttttFACtt(4.3)第4章数据通信接口与链路控制如果在纯理想的条件下,即既不考虑数据传输时间又忽略传播时延,不计确认帧的开销,则信道利用率U仅与帧的结构F=H+D有关。例如,设帧F的D长度为128字节,而H为6字节,由此可算得U=95.5%。与异步通信方式传输一个字符的信道利用率U=70%相比较,可见以帧为单元的同步通信的信道利用率有了较大的改善。第4章数据通信接口与链路控制2)非常情况现在,我们再来讨论节点A与B之间的数据传输有可能出现差错的情况。其差错具体表现在以下两方面:(1)节点A向节点B发送数据帧时,在传送中受到干扰出错或丢失数据。(2)节点B收到数据帧后,回送出ACK帧,在B→A的传输过程中,受到干扰出错或丢失数据。第4章数据通信接口与链路控制这两方面的问题都致使节点A将一直等不到ACK确认帧,因此,节点A也就永远无法继续发送下一个帧,这就形成了死锁(DeadLock)。解决上述问题的办法是在节点A设置一个定时器T1,它的预定时间为t0。当发出一个数据帧后,立即启动定时器T1。若在预定时间t0内,节点A能收到ACK,则可继续正常传送下一个待发帧。若在预定时间内收不到ACK,即超时(TimeOut),则节点A由此可判定应重发数据帧。第4章数据通信接口与链路控制定时器的t0值必须不小于节点A与B之间来回传播的时间,即节点A与B发、收帧的处理时间以及回送确认帧ACK的传输时间,也即t0≥(2tp+2tproc+tA)。很明显,如果t0<(2tp+2tproc+tA),则有可能在回送ACK的行程中,节点A的定时器已超时,误认有错而重发,这样在节点B将会收到第二份相同的数据帧,形成重复帧,这是在数据链路控制协议中要采取措施解决的又一问题。第4章数据通信接口与链路控制要解决重复帧的问题,行之有效的方法是对每一个