第09章数据通信规程.ppt

上传人:本田雅阁 文档编号:2504789 上传时间:2019-04-04 格式:PPT 页数:155 大小:1.30MB
返回 下载 相关 举报
第09章数据通信规程.ppt_第1页
第1页 / 共155页
第09章数据通信规程.ppt_第2页
第2页 / 共155页
第09章数据通信规程.ppt_第3页
第3页 / 共155页
亲,该文档总共155页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第09章数据通信规程.ppt》由会员分享,可在线阅读,更多相关《第09章数据通信规程.ppt(155页珍藏版)》请在三一文库上搜索。

1、第9章 数据通信规程,ISO-RM对数据链路的定义为:按照信息的特定方式进行操作的两个或两个以上的终端装置(DTE)与互连线路的一种组合体。所谓特定方式是指信息速率和编码格式相同。数据链路由数据电路和两端的通信控制器/传输控制器构成。数据链路是在数据电路已建立的基础上,通过两端的控制装置使收发双方之间交换握手信号,双方确认后才可开始传输数据。,在数据链路层上采取必要的控制手段对数据信息的传输进行控制,使DTE与网络或DTE与DTE之间能够有效、可靠地传输数据信息。 数据链路控制规程是实现链路控制、管理的相关规范、约定和协议等,本章主要讲述常见的数据链路通信控制规程,包括异步通信控制规程,BSC

2、、HDLC等。,第9章 数据通信规程,9.1 异步通信规程 9.2 面向字符的同步通信规程 9.3 面向比特的同步通信规程HDLC 9.4 其它数据链路控制规程 本 章 小 结,9.1 异步通信规程,异步通信方式(Asynchronous Transfer Mode,简称ATM)是一种比较常用的通信方式。在这种通信方式中,以字符为单位传输数据,字符可以一个一个地连续发送,也可以单独地随机发送,发送字符之间的时间间隔也可以是任意的。,异步通信方式中,每发送、接收一个字符,接收端和发送端都要重新校验一次同步关系。因此,不要求发送端和接收端的时钟严格保持同步,只需要在同一个字符的传输范围内保持同步即

3、可。这就意味着,用于实现异步通信的硬件成本要低。但是异步通信每传送一个字符都要附加起始位、校验位、停止位,这要增加大约20%的信息位,且字符与字符编码之间要加上不定长度的空闲位,所以其传输效率比较低。,异步通信的好处是通信设备简单、便宜、容易实现,常在低速的数据传输系统中使用。,9.1.1 XMODEM协议 Ward Christiansen于1979年为了实现个人计算机之间利用电话线通信而设计了名为“MODEM ASM”程序,后来被称为XMODEM协议。目前,XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件传输协议,这是一个半双工的等待ARQ协议,已成为事实标准。

4、其帧格式如图9-1所示。,图9-1 Xmodem协议数据帧格式,此协议中,每一帧以一个字节的头部开始字符(SOH)开始,接下来传送2个字节的头部,头部包括1个字节的本数据帧的编号和1个字节的序号反码(用于检验序号是否出错),接下来传送128个字节的数据(可以是文本、二进制码、ASCII码等等),最后传送循环冗余检验码(CRC),它只校验128个节的数据块差错。每一部分都有一个开始位和一个停止位(图9.3中灰色部分),其中数据块中有多个起始和停止位。,当将要传输数据时,接收方向发送方发送一个否定贴(NAK)开始传输数据。发送方每发送一帧,就要等待应答帧(ACK),当收到应答帧时才发送下一帧。如果

5、收到一个否定(NAK)帧,就会重新发送刚才发送的一帧,如果在一定的时间段内没有收到任何帧,那么也会重新发送刚才发送的一帧数据。发送方除了能收到NAK和ACK外,也有可能收到取消帧(CAN),如果发送方收到接收方反馈的CAN帧,则本次传输过程中止。,XMODEM协议由于发送方每发送一个帧之后就要等待接收方返回一个帧,或在超时之后重发,所以其传输效率较低。如果是在传输延迟比较大的系统(如卫星通信系统)中使用,这种不足会更加严重。,9.1.2 YMODEM协议 YMODEM协议是一个类似于XMODEM的协议,为了追求更大的传输效率YMODEM协议在数据块中采用1024个字节传输,其数据帧格式如图9-

6、2所示。,图9-2 YMODEM协议数据帧格式,YMODEM协议不同于XMODEM协议的地方是,数据块单元长度为1024个字节。其它数据帧格式和XMODEM协议一样。和XMODEM协议的其它差异在于,在YMODEM协议中传输过程开始后,接收方接收成功的帧并不向发送方返回ACK,只对接收错误的帧返回一个NCK,要求此帧重新发送。YMODEM协议提供了一种批模式,在此模式下,只有用一条命令就可以同时传输多个文件。,在YMODEM协议传输过程中,终止本次传输过程需要接收端发送两次取消帧(CAN);YMODEM协议中差错检验采用的是ITU-T的CRC-16标准。,9.1.3 ZMODEM协议 ZMOD

7、EM协议是一种针对MODEM的错误校验协议,被广泛用于个人计算机之间的异步通信。它是XMODEM协议的一种增强形式,在可以传输大文件的同时,可以有效降低传输过程中的错误率,使用此协议使计算机之间用MODEM进行文件的无错误传输变得更容易。,在此协议中,可以在MODEM上发送512个字节的数据块,如果接收端检测到某个数据块在传输过程中发生错误,就会向发送端发送一个NCK帧,要求此数据块重新传输。在文件开始传输时,ZMODEM协议先发送文件名、日期、文件大小,可变长度的数据块和CRC纠错码。ZMODEM协议支持断点续传,如果使用ZMODEM协议或YMODEM协议下载文件时意外中断,,ZMODEM在

8、下次下载此文件时会尝试仅传送文件的剩余部分,这种机制在传输大文件时就变得非常有用。,9.1.4 KERMIT协议 KERMIT协议是在1981年开始由哥伦比亚大学Kermit项目组成员设计的广泛用在计算机之间(包括大型机和个人计算机等众多机型)的传输文本文件、二进制文件的协议。它不仅仅是一种协议,实际上它还是一种终端仿真程序,目前为止,它已经被移植在了众多的操作系统中,包括Windows,UNIX,DOS,VMS,OS/2等操作系统。,KERMIT协议是一个半双工的通信协议,要在两台计算机之间进行文件的传输,必须在每台计算机上都运行Kermit协议。PC用户运行一些通信软件登录远程计算机,如图

9、9-3所示,一旦登录成功,用户通过输入名字调用Kermit,接着键入命令:Receive myfile,此时,被登录的远程计算机上运行的Kermit协议在等待一个文件的到来。下来,用户在本地计算机上调用Kermit协议,,并键入命令:Send FileName,这样就激活了本地计算机上的Kermit协议。这时,用户做的工作就完成了,Kermit完成剩余部分。它在本地计算机上寻找一个名为“FileName”的文件,并分组,组的数量取决于文件的大小和每个分组的大小。,图9.3 Kermit文件的传输,在此协议中,以发送端向接收端发送一初始化帧(S类型)来开始发送一个文件,此帧通知接收端准备接收帧。

10、S类型的帧和它的最终确认帧包括了一些参数,如果两个计算机之间要交换文件,那第它们必须按顺序同意这些参数,从而使协议能正常工作。它支持传输7位的ASCII字符,数据块能以长达96字节的可变长度的分组形式传输,对每个被传送的分组需要一个确认帧,Kermit协议支持批量文件的传输。Kermit协议的帧格式如图9-4所示。,图9-4 Kermit协议帧(分组)格式,KERMIT部分帧类型如下表9-1所示。,表9-1 Kermit协议帧(分组)类型,一个典型的Kermit交换如图9-5所示,A站发送一个含有初始信息的S帧,B站发送一个Y帧确认,Y帧中也有初始信息,这个过程允许每一个站通知其它站自己需要的

11、是什么。然后,A发送一个F帧来指出它将发送的文件的名字。B再一次发送另外一个Y帧来确认F帧。然后,就象前几节中描述的那样,传输数据,B收到帧后,发送确认信息,当帧损坏了,它将发送一个N A K。当最后一个帧发送出去时,,A发送一个Z帧,表示整个文件已经发送了,B再一次发送一个确认。最后,如果无东西要传输了,A就发送一个B帧,表示要断连了,B确认后,断连。,图9-5 发送文件的Kermit协议过程,9.2 面向字符的同步通信规程,BSC(Binary Synchronous Communication)是由IBM公司在1964年开发的一种典型的面向字符的数据链路协议(DLCP),该协议可以在点到

12、点和多点线路配置中使用,支持采用停等ARQ流量控制和差错控制的半双工传输,不支持全双工传输或滑动窗口协议。该协议于1968年开始用于IBM Computer System,主要目的将远程批处理终端和视频显示终端集中控制的连接到IBM主机上。,9.2.1 BSC控制字符 BSC是一种字符控制规程,对代码很敏感,使用ASCII或EBCDIC等编码字符进行链路控制,并且采用特殊字符分隔各种信息段,通过BSC信道传送的每个字符都要在接受端译码,以判别它是一个控制/用户数据。任何数据链路层规程均可由链路建立、数据传输和链路拆除三个部分组成。为了实现链路建立、拆除等链路管理及同步等功能,除了正常传输的数据

13、报之外,,BSC还需要一些控制字符。BSC使用的控制字符如表9-2所示,CCITT建议用ASCII/IA5表示。,表9-2 二进制同步通信(BSC)的控制字符,1.BSC常用控制字符 SOH(Start of heading)标题开始:标题是信息报文中正文之前的字符序列,它由表示路由、优先权、保密措施和报文编号等组成,SOH不允许出现在正文中。 STX(Start of Text)信息报文正文开始:报文分成若干码组时,每组均以STX开始。 ETX(End of Text)信息报文结束:由发送端发送,报文被分组时,只有最后一组报文使用ETX结束。,EOT(End of Transmission)

14、表示数据传输的结束:EOT由发送端发出。 ENQ(Enquiry)询问:用来请求远程站给出应答。 ACK(Acknowledge)确认:由接受端发往发送端,作为对状态询问及报文的肯定应答。 NAK(Negative Acknowledge):由接受端发往发送端,作为对状态询问及报文的否定应答。 DLE(Data Linking Escape)数据链路转义:用来改变后续一定数目字符的意义,组成转义序列(其只能使用图形字符和传输控制字符)。,SYN(Synchronous Idle)同步:用于建立和保持收发两端的同步,SYN不能放在DLE之后和与校验码有关系的控制字符中间。 ETB (End of

15、 Transmission Block)数据分组块传输结束:仅由发送端送出,但校验码(BCC)仅随其后,但最后一个信息码组的结束必须使用ETX。,2.BSC其他控制字符 RVI(Receive Information)接收方紧急消息:用以申请中断(当发送端有紧急任务要发送时)。 TTD(Temporary Text Delay):发送方暂停但未拆除连接。 WACK(Wait and Acknowledge)等待应答:接收方已经接收完好帧但不能再接收前一帧已接收好但不能再接收下一帧, RNR报文。 扩充序列:以DLE开头的一些双字符控制序列。,DLE EOT要求拆线:表示要求拆除通信线路的传输控

16、制字符序列。 DLE0/DLE1编号确认:由接收站到发送站表示肯定应答的传输控制字符序列,用于编号应答方式中。 DLE3/12或DLE7/12站中断:从站同步字符序列代替正常的肯定应答,表示从站要求主站尽快停止现行传输的控制字符序列,与RVI有相同的功能。 DLE3/11或DLE3/15要求暂停发送,表示从站暂停时不能接收数据信息,要求主站暂停发送,与TTD功能相同。,DLE3/13反向拐入通道:表示接收站有优先级高的信息报文要求发送,为接收方获取发送权。 STX ENQ延时发送:当发送站未准备好发送时即可发出的序列。,9.2.2 BSC帧格式 BSC协议将传输分割成帧,如果一帧只能严格地用于

17、控制目的,就叫做控制帧。控制帧被用来在通信设备之间交换信息例如,建立初始连接,控制传输流,进行请求纠错,以及在会话结束时在设备之间断开连接。如果一帧中还有报文数据自身的部分或全部信息,它就称为数据帧。数据帧用来传输信息,但也可以包含可以应用到该信息上的控制信息。,1.数据帧 帧开头是两个或多个同步字符(SYN),这些字符通知接收方有新的帧到来并为接收设备提供一种可以用来与发送设备进行时钟同步的比特模式。在两个同步字符之后是文本开始符(STX),这个字符通知接收方控制信息结束,下一字节将是数据。数据或文本可以由不同数目的字符组成。一个文本结束符(ETX)指明了文本和进一步的控制字符之间的转换。最

18、后,是用于检错的纵向冗余校验码(LRC)或者是两个字符的循环冗余校验码(CRC)。一个简单的BSC数据帧格式如图9-6所示。,图9-6 简单的BSC数据帧,常见的BSC数据帧有如下四种类型: (1)头部数据字段 信息报文由标题(报头)和正文组成。正文包含要传输的有用数据信息,标题/报头是与报文的正文段的传送和处理相关的一些辅助信息的字符序列,如发信地址、收信地址、信息报文名称、报文级别、编号、传送路径等。带有头部的BSC帧如图9-7。,图9-7 带有头部的BSC帧,报文头在SOH字符之后和STX字符之前。文本开始符STX有两个作用,一个是表示报文头结束,另一个表示数据报文开始。数据和文本可以由

19、不同数目的字符组成。文本结束符(ETX)指明了文本和下一个控制符之间的转换。最后,是错误检测字符(BCC),一个BCC域是一个字节长度的纵向冗余校验码(LRC,Longitudinal Redundancy Check)或是两个字节的循环冗余校验码(CRC)。,(2)多块帧 随着帧长度的增加,文本块出错的可能性随之增大。帧中的比特数越多,在传输中发生差错的可能性就越大,并且出现多个互相对消的差错从而使检错变得困难的可能性也越大。因此,在一个报文中的文本经常被分成几块。除最后一块外,每一块都由一个STX字符开始并由一个中间文本块字符(ETB)结束。最后一块由STX字符开始,结束却是ETX字符。紧

20、跟在每个ETB或ETX字符之后的是一个BCC字段。,通过这种方式,接收方可以对每一块单独进行检错,从而增加了检测出差错的可能性。但是,如果任何一个数据块有错,整个帧被重新传输。在接收到ETX字符并校验了最后一个BCC字段后,接收方对整个帧发送一个确认帧。一个多块帧的结构如图9-8。,图9-8 BSC多块帧,(3)多帧传输 在多块帧中,一帧包含了整个报文。在每一帧之后,报文就结束了并且线路的控制权就交给第二个设备(半双工模式下)。但有些报文可能太长,以到于不能容纳在一帧中。在这种情况下,发送方不仅可以将报文分在各数据块中,还可以将它分在不同帧中。可以用几帧来连续传输一个报文。,为使接收方知道帧的

21、结束不是报文的结束,除了最后一帧外其他帧中的文本结束符(ETX)都被传输块结束符(ETB)所代替。接收方可以分别对各帧进行确认,但只有在最后一帧中接收到ETX符后才能接管链路控制,多帧传输如图9-9所示。,图9-6 多帧传输,(4) 多报文头帧 多报文头帧方式中,由于报文头太长仿照多帧传输将报文头分为m组,每组报文的开头都用标题开始被符SOH,而每组报文的结尾使用ETX,中间的报文组都使用ETB界定,如图9-10所示,是多报文头帧传输的格式。,图9-10 多报文头帧,2.控制帧 控制帧是一个设备用来向另一个设备发送命令或索取信息的消息。控制帧分为正向控制帧和反向控制帧两种。正向控制帧指的是由主

22、站发送到从站去的控制序列,主要用于通信双方间的呼叫应答,以确保信息报文的正常可靠传输;反向控制帧是由从站发送到主站去的控制序列,主要用于对询问的应答和数据链路的控制。一个控制帧包含有控制字符但没有数据,它携带特定的数据链路层自身功能的信息,其基本格式如图9-11所示。,图9-11 BSC协议控制帧,控制帧主要用来完成建立连接,在数据传输过程中维护流量和差错控制,以及终止连接三种服务。BSC所采用的线路控制编码有:ACK0、ACK1、WACK、RVI、DISC、TTD,BSC控制序列的双重含义取决于主站/从站发出和线路处于控制方式/报文方式。BSC控制序列的双重含义如表9-3。,表9-3 BSC

23、控制序列的双重含义,3.多点结构BSC轮询/选择传输过程 在BSC的多点结构中,为确保所有从站处于控制方式,并准备好接受来自控制站的轮询或选择,由控制站发送SYN SYN EOT PAD SYN SYN (地址)ENQ序列,轮询或选择地址由17个字符组成,后跟ENQ。轮询帧的地址序列用大写字母表示;选择帧的地址序列用小写字母表示。,一个被轮询的从站可能回答: 报头数据:SYN SYN SOH; 正文数据:SYN SYN STX正文; 透明正文数据:SYN SYN DLE STX透明正文; 否定(当站没有东西要发送):SYN SYN EOT; 暂时正文推迟:SYN SYN STX ENQ;,一个

24、被选择的从站可能回答: 肯定,表明从站准备好接收SYN SYN ACK0;否定,表明从站不准备接收SYN SYN NAK;表明从站暂时不准备接收:SYN SYN WACK,9.2.3 BSC数据透明性和同步 BSC规程原本是为传输纯文本消息设计的;但是用户希望它具有一定的兼容性,使得能够传输类似程序和图画等非文本信息和命令的二进制序列。不幸的是,这种报文可能给BSC传输带来问题:传输中文本信息中可能包括一个看来与BSC规程的控制字符一样的8比特字符模式。,1.BSC数据透明性 数据通信中的数据透明性意味着必须能够把任何比特组合在不被错认是控制字符的前提下当作数据传送。BSC规程中的数据透明性实

25、现过程:字节填充,通过数据链路转义(DLE)字符定义透明文本区域以及在透明文本区域内的DLE字符之前加上一个附加的DLE字符。为定义透明区域,需要在文本字段开始的STX字符之前插入一个DLE字符,,并且在文本字段结束的ETX字符前也插入一个DLE字符。第一个DLE字符告诉接收方透明区域结束了。如果透明区域内含有一个作为文本的转义符DLE,那么仍然会出现问题。在这种情况下,就在文本中的每个DLE字符前插入一个DLE字符。如图9-12为透明帧的一个例子。,图9-12 字节填充,2.数据同步 BSC是同步规程,数据以字符块方式传送。BSC同步在每个数据报文的开头进行,以两个SYN字符开始,SYN是接

26、口硬件能识别的用以识别字符同步的唯一模式。同步过程:,BSC采用两个连续的PAD字符(交替的0、1)实现位同步,接收方识别两个连续的SYN字符建立字符同步;每个1秒时间间隔自动在头和正文数据中插入同步空转序列;非透明数据采用SYN SYN序列,透明数据采用DLE SYN序列。,9.3 面向比特的同步通信规程HDLC,HDLC(HDLC-High Data Link Control)高级链路控制规程,是面向二进制位的数据链路控制规程,使数据传输更可靠,效率更高,它可以支持任意二进制数据的传输。 HDLC来源于IBM公司的SDLC,1975年,IBM首先研究开发了面向比特的规程同步数据链路控制(S

27、DLC)。,1979年,ISO在SDLC基础上提出了高级数据链路控制规程(ISO3009,ISO4335)并逐渐被其他组织所接受和采用。ITU-T是最早接受HDLC规程的组织之一。从1981年开始,ITU-T开发了一系列基于HDLC规程的规程,叫做链路访问协议,如LAPB协议,LAPD协议,LAPM协议,LAPX协议等。其他由ITU-T和ANSI研制的协议,如帧中继,PPP协议等也是从HDLC规程发展而来的,大多数局域网访问控制协议也是如此。,9.3.1 HDLC帧格式 HDLC在链路上以帧作为传输信息的基本单位(Frame),无论是信息报文还是控制报文都必须符合帧的格式。HDLC的帧由六个字

28、段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段I。,位于信息字段前面的标志字段、地址字段、以及控制字段统称为首部)(heard),而跟在信息字段后面的FCS和标志字段称做尾部(tailer)。基本的hdlc帧格式如图9-13所示。,图9-13 HDLC的帧格式,1.标志字段(F) 标志字段以惟一的01111110模式在帧的两端起定界作用。要求所有的帧必须以F标志为帧的开始和结束标志,也是下一帧的起始标志。在用户网络接口的两侧,接收设备不断地搜寻F标志,用于一个帧起始时的同步。当接收到一个帧

29、之后,站点继续搜索这个标志序列,用以判断该帧的结束。,如图9-14(a)所示。从而保证接收部分对后续字段的正确识别。另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。如图9-14(b)所示。,(a) 同步作用,(b) F作时间填充 图9-14 标志字段F的作用,然而,二进制数01111110有可能出现在帧中间的某个地方,因而破坏了帧一级的同步。为了防止这种情况产生,保证对数据的透明传输,采取了比特插入、删除技术。在一个帧的传输起始位置和结束标志之前,每当出现5个连续二进制“1”以后,发送器就会插入一个“0”。这就保证了除标志帧以外,所有的帧均不会有多于五个连续“1”的比特帧出现。接收方

30、在检测到起始标志后,会时刻注意检查5个连续“1”之后的比特,,如为“0”,则删除5个“1”以后的“0”,恢复原来的数据序列,如为“1”,再检查下一个比特。如果第7个比特是“0”,那么这一组合被认为是标志字段。如果第7个比特是“1”,那么表示是错误序列,接收端拒绝接收此帧。比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。,使用位填充后,在帧的信息字段中可以插入任意的比特模式。这种性质称为数据的透明性,该传输方式称为透明传输报文交换方式。 例如,传送的数据流为111110001001

31、0111111001111110,为了能使传输透明,发送方将在发送前进行比特填充,上述数据流将变成1111100001001011111010011111010,字符串中的三个带下划线的0即为比特填充的0。,接收方收到带有比特填充的数据流之后,再进行比特删除,去掉三个带下划线的0,又还原成原来的数据1111100010010111111001111110。,2地址字段(A) 地址字段表示链路上站的地址。对于命令帧而言,地址字段给出的是执行该命令的从站和组合站的地址。对于响应帧来说,地址字段给出的是做出应答的从站和组合站的地址。点对点的链路不需要这个字段,但是为了统一,所有的帧都含有这个字段。在

32、使用不平衡方式传送数据时(采用NRM和ARM),地址字段总是写入从站的地址;在使用平衡方式时(采用ABM),地址字段总是写入应答站的地址。,地址字段的长度一般为8bit,最多可以表示256个站的地址。但在最先的协议中,可以使用扩展格式,这时地址的实际长度是7bit,一般的扩展方法是末位置0,表示后面紧跟的8位数据也是地址的组成部分,可按此方法加以扩充。因此,单个8位地址范围变成了128。而每个8位组中的最低位是1还是0取决于它是不是地址字段的最后一个8位字段。除了该位之外,每个8位组中的其他7位组成了地址部分。扩展后的实际地址长度是7 bit 的倍数。,许多系统中规定,地址字段为“111111

33、11”时,定义为全站地址(广播地址),即通知所有的接收站接收有关的命令帧并按其动作;全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有254个之多,这对一般的多点链路是足够的。但考虑在某些情况下,例如使用分组无线网,用户可能很多,可使用扩充地址字段,以字节为单位扩充。,在扩充时,每个地址字段的第1位用作扩充指示,即当第1位为“0”时,后续字节为扩充地址字段;当第1位为“1”时,后续字节不是扩充地址字段,地址字段到此为止。如果地址只有一个字节,最后位总是“1”。如果是多字节,除最后一个字节外其他所有字节都要以“0”结尾。,3控制字段(C) 控制字段用来表示帧类型、帧编号,以及命令、

34、响应等功能,使对方站执行特定的操作。有关控制字段的知识点在9.3.3节详细介绍。,4信息字段(I) 紧跟在控制字段之后的是信息字段。信息字段表示链路扫要传输的实际信息,它不受格式或内容的限制,但实际的信息长度受有关站缓冲区的容量和链路差错特性的限制,一般规定最大信息长度不超过256个字节。不是所有的HDLC的帧都含有信息字段(I),只有信息帧和某些U帧才含有信息字段。信息帧里包含的是用户数据,U帧中包含的是网络管理信息。,5帧校验序列(FCS) 在所有的帧里均包含一个16位的帧校验序列,用于检测差错。HDLC差错校验是对整个帧的内容作CRC循环冗余校验,但标志序列和按透明规则插入的所有“0”不

35、在校验范围内。循环的生成多项式是16的CRCCCITT码或CRC32码。,9.3.2 HDLC链路结构和传输模式 HDLC定义了三种类型的站点、两种链路结构和三种数据传输模式。 1站点类型: HDLC规程有三种不同类型的站点:主站点,从站点,复合站点。,(1)主站点(primary station ):在点到点和多点线路结构中链路具有完全控制功能的设备。它的主要功能是发送命令帧(包括数据信息帧),从次站接收响应帧,并负责控制链路的操作与运行,如数据传输、流量控制、差错控制和异常恢复等。,(2)次站点(secondary station):其主要功能是接收主站来的命令帧,向主站发送响应帧,并且配

36、合主站进行差错控制等,主站和次站之间的关系类似与计算机主机和终端的关系。,(3)复合站点(combined station) :一个复合站点具有主站和次站两种功能,既可以发送命令也可以进行响应;复合站点是一组相互连接的对等站点中的一个,这些站点被安排来根据传输的属性和方向的不同而按照主站点或从站点方式工作。,2链路结构 所谓链路结构是指链路上硬件设备间的关系:设备可按照主从方式或对等方式组织,根据选择的交互模式不同,对等设备可以同时是主设备或是从设备。主站点、次站点以及复合站点可以构成三种方式的链路结构:非平衡式、对称式、以及平衡式。每一种结构又支持半双工和全双工通信。,(1)非平衡模式: 非

37、平衡模式分为点到点的连结结构合多点连接结构。点到点的连结结构中一个站作为主站,另一个站作为从站,属于点到点的连接方式。如图是点点连接结构。,多点结构中,一个主站和无数个次站连接,它适合把智能和半智能的终端连接到计算机。非平衡模式的多点结构如图所表示。,(2)对称结构 所谓的对称结构指的是通信双方都可以包含主站和次站,两个个主站和次站之间使用一个公共通道进行数据的传输,可以看作是按时间片的轮转来使用一个物理通道,而在逻辑上可以看作它们各自都存在一个通道。对称结构如图所表示。,(3)平衡式 平衡式指的是收发双方都可以是主站或者次站,并且可以同时使用公共信道进行数据的传输,平衡式结构如图所表示。,图

38、9.1,3.HDLC的传输模式(Transfer Modes ) HDLC规程中的方式就是在一次交互中涉及的两个设备之间的关系,主要描述由谁控制链路。HDLC规程支持站点间的三种不同操作方式:正常应答方式(NRM),异步应答方式(ARM),以及平衡方式(ABM)。通常非平衡结构进行的交互总是采用正常应答方式的。对称和平衡结构进行的衣锦还乡可能通过为传递命令设计的帧设置成特定的方式。,(1)正常应答方式 正常应答方式(NRM,Normal Response Mode)适用于非平衡链路结构,即用于点-点和点-多点的链路结构中,特别是点-多点链路。这种方式中,由主站控制整个链路的操作,负责链路的初始

39、化、数据流控制和链路复位等。只有当主站向次站发出探询后,次站才能获得传输帧的许可。从站的功能很简单,它只有在收到主站的明确允许后,才能发出响应。从站是由主站发送SNRM命令而置于此方式的。,(2)异步应答方式 异步应答方式(ARM,synchronous Response Mode)也适用于非平衡链路结构。它与NRM不同的是:在ARM方式中,只要信道空闲,从站可以不必得到主站的允许就可以开始数据传输。ARM在其他方面并没有改变方从关系。从一个设备发送的所有传输(甚至是发送到同一链路上另一个从设备上的传输)也必须经过主设备中继再转发到最终目的地。从站由主站发送SARM命令变为此方式。显然它的传输

40、效率比NRM有所提高。,(3)异步平衡方式 异步平衡方式(ABM,Synchronous Balanced Mode)中,所有站点都是平等的。适用于通信双方都是组合站的平衡链路结构,也采用异步响应。链路两端的复合站具有同等的能力,不管哪个复合站均可在任意时间发送命令帧,并且不需要收到对方复合站发出的命令帧就可以发送响应帧。通过SABM命令来建立这种方式。ITU-T X.25建议的数据链路层就采用这种方式。表9.1显示了这些方式和站点类型之间的关系。,除三种基本操作方式,还有三种扩充方式,即扩充正常响应方式(SNRM)、扩充异步响应方式(SARM)、扩充异步平衡方式(SABM)它们分别与基本方式

41、相对应。,表9.1 HDLC规程通信方式与站点类型之间的关系,4.HDLC窗口机制和捎带应答机制 为了减少应答次数,提高传输效率,HDLC控制规程中引入了窗口机制和稍带应答。发送方每发送一信息帧就开始计时,直到收到接收方的确认(包括捎带应答);若超时,则重发;接收方在正确接收到信息帧后开始计时;若在一定的时间内未收到后继信息,则发RR帧准备接收,并告诉发送方前面已接收。,(1)窗口尺寸:HDLC窗口尺寸确定为7,即任一方可以最多连续发送7帧而无需对方的确认。在信息帧中用NR,NS来表示当前窗口的情况。 (2)捎带应答:捎带应答是HDLC传输控制规程用于提高传输效率的又一措施。允许在反向传输的信

42、息帧中附带确认信息。,(3)超时重发:为了防止发送方无期限地等待接收方的确认,收发双方均设置计时器。发送方在一定的时间内未收到接收方传来的确认,表示传输有故障,准备重发所有未被确认的帧。,9.3.3 HDLC帧类型和功能 由于HDLC中C字段的构成不同,可以把HDLC帧分为三种类型:信息帧(I帧)、监控帧(S帧)、无序号帧(U帧)。根据帧类型不同,控制字段也不同。如果第一个比特是1而且第二个比特是0,就是一个监控帧(S帧)。如果第一个和第二个比特都是1,则意味着是一个无序号帧(U帧)。所有这三种类型的帧的控制字段都包含一个查询/结束(P/F)。,图9.5 HDLC的控制字段,P/F位是具有双重

43、功能的单个比特位,即查询/结束。它的应用与环境有关。通常,在命令帧中,它指的是P比特,如果该位被置1,意味着向对等实体请求(轮询)响应帧。当帧是从从站点发送到主站点时(当地址字段含有发送方地址时),该位为F,当它为1时,表示发送的这个响应帧是一个请求命令的结束。,1.信息帧(I) 如果控制字段的第一个比特是0,该帧就是一个信息帧(I帧)。一个I帧在P/F位两侧具有两个3比特的流量和错误控制序列,叫做N(S)和N(R)。信息帧的C字段结构如图9-18所示。,图9-18 信息帧的C字段结构,HDLC规定每个站都要把它的发送序号N(S)和接收序号N(R)保存下来,用以指示发送/接收顺序情况,即HDL

44、C利用I帧N(S)和N(R)进行差错和流量控制。 N(S)表示本站当前发送的帧序号,说明本帧对应的帧序号(采用模8计数),发送端可以不必等待确认,而连续地发送若干帧(不超过8帧),每发一帧,N(S)模8计数一次;,N(R)表示本站期望接收到对方站的帧序号,并累积确认序号之前已接收到的所有数据帧。说明希望接收对方帧的序号(采用模8计数),N(R)隐含指示该序号之前的所有帧已被正确接收;例如,如果N(R)段的值是5,那么收到带有该N(R)的帧的站明白,它所发送的0号、1号直至4号帧都已被正确接收,对方站正期待接收发送序号为5的信息帧。,其原理与滑动流量控制相类似。另外,为了保证HDLC规程的正常工

45、作,在全双工通信的双方需要各自设置两个本地状态序号,由这两个值确定发送序号N(S)和接收序号N(R)的值。,P/F位称为“询问/终止”位,当P/F位用于命令帧时,称为询问位;当P/F位用于响应帧时,称为终止位,表示接收站确认该帧,具体功能: (1)询问功能 NRM方式,带P=1的命令帧表示主站请求从站作出响应(请求从站的主站发I帧), ARM方式,从站主动发I 帧,主站利用带P=1的命令帧,请求从站尽快发F=1的响应帧,强迫从站作出响应。,(2)终止功能 NRM方式,从站把最后一个响应帧(I帧)的P/F比特置1即F=1,然后从站停止发送,直到又收到主站发来的带P=1的命令帧后再开始下一次传送。

46、 ARM方式,从站只有在响应P=1的命令帧后才发带F=1的响应帧,但从站不需停止发送。ARM方式F=1并不表示从站的传输结束。,(3)P/F比特使用的成对性 带P比特的命令帧和带F比特的响应帧总是成对出现。即主站发送了带P比特的命令后,从站必须在适当时候发送一个带F比特的响应帧,否则不允许出现下一次P/F“握手”,而且在数据链路上在给定的时刻只允许有一个带P=1的命令帧是未确认的。,2.监控帧(S) 控制字段的1、2位为10的帧为监控帧S帧,在S帧中的控制字段包含一个N(R)字段却没有N(S)字段。S帧是用来在接收方自己并没有数据发送时返回N(R)值时。否则应答消息将包含在I帧的控制字段中。S

47、帧并不是传输数据因此并不需要N(S)字段来识别帧。S帧中在P/F位之前的两位是携带编码后的流量和错误控制信息的。监控帧的C字段结构如图9-19所示。,图9-19 监控帧的C字段结构,根据控制字段第3、4位的编码共有种类型,即RR(接收已就绪),REJ(拒绝),RNR(接收未就绪),SREJ(选择性拒绝)。其中RR,RNR用于所有类型的链路,REJ和SREJ用于全双工通信(双向通道)。表8.3列出了这种监控帧的名称和功能。,表9.2 监控帧的名称和功能,上面四种监控帧中,前三种用在返回N连续ARQ方法中,最后一种只用于选择重发ARQ方式中。 RR(Receive Ready)表示接收准备就绪,指

48、的是被一个站用来表示它已作好接收信息帧的准备,还可以用其中N(R)段来确认前面收到的数据帧(,N(R));如果该站曾用RNR表示它处于忙状态,那么可用RR命令清除忙状态表示现在可以接收数据,主站还可以用RR来轮询从站。,RNR(Receive Not Ready)指的是接收未准备好,被一个站用来表示它暂时不能接收数据,处于忙状态。 REJ(Rejection)指的是拒绝,它拒绝N(R)段中指定的序号开始的全部信息帧,从而请求重发有N(R)段中指定的这些帧,同时也对N(R)帧以前的所有信息帧进行确认,REJ帧用来实现透明帧ARQ机制。,另外S帧使用SIM命令重新进行初始化链路。当收到应答后初始化

49、操作完成,需要对一个站进行远程初始化时发送SIM命令,所期待的响应是UA帧,使用DISC做为断链命令,用于中止已建立的各种数据传输模式。当主站或复合站要关断链路(使被寻址的站处于逻辑断的状态)时,它就发送一个DISC命令,它所期待的回答是UA,使用RESET做为复位重置命令,在数据传输过程中组合站用它来重新初始化某个方向的数据流,期待应答。,S帧中没有包含用户的数据信息字段,它只有48bit的长度,显然不需要N(S),但S帧中N(R)特别有用,它具体含义随不同的S帧类型而不同。其中RR帧和RNR帧相当于确认信息ACK,REJ帧相当于否认信息NAK。RR帧和RNR帧还具有流量控制的作用,RR帧表示已经作好表示接收帧的准备,希望对方继续发送,而RNR帧则表示希望对方停止发送(这可能是由于来不及处理到达的帧或缓冲器已存满)。,3.无编号帧(U) 控制字段第1、2位是11的帧即为无编号帧(U帧),U帧不带编号即无N(S)和N(R)字段。无编号帧的C字段结构如图9-2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1