第09数据通信规程_第1页
第09数据通信规程_第2页
第09数据通信规程_第3页
第09数据通信规程_第4页
第09数据通信规程_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

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

文档简介

1、第第9 9章章 数据通信规程数据通信规程 iso-rm对数据链路的定义为:按照信息的对数据链路的定义为:按照信息的特定方式进行操作的两个或两个以上的终端装置特定方式进行操作的两个或两个以上的终端装置(dte)与互连线路的一种组合体。所谓特定方式是与互连线路的一种组合体。所谓特定方式是指信息速率和编码格式相同。数据链路由数据电指信息速率和编码格式相同。数据链路由数据电路和两端的通信控制器路和两端的通信控制器/传输控制器构成。数据链传输控制器构成。数据链路是在数据电路已建立的基础上,通过两端的控路是在数据电路已建立的基础上,通过两端的控制装置使收发双方之间交换握手信号,双方确认制装置使收发双方之间

2、交换握手信号,双方确认后才可开始传输数据。后才可开始传输数据。 在数据链路层上采取必要的控制手段对在数据链路层上采取必要的控制手段对数据信息的传输进行控制,使数据信息的传输进行控制,使dte与网与网络或络或dte与与dte之间能够有效、可靠地之间能够有效、可靠地传输数据信息。传输数据信息。 数据链路控制规程是实数据链路控制规程是实现链路控制、管理的相关规范、约定和现链路控制、管理的相关规范、约定和协议等,本章主要讲述常见的数据链路协议等,本章主要讲述常见的数据链路通信控制规程,包括异步通信控制规程,通信控制规程,包括异步通信控制规程,bsc、hdlc等。等。第第9 9章章 数据通信规程数据通信

3、规程9.1 异步通信规程异步通信规程9.2 面向字符的同步通信规程面向字符的同步通信规程9.3 面向比特的同步通信规程面向比特的同步通信规程hdlc9.4 其它数据链路控制规程其它数据链路控制规程本本 章章 小小 结结9.1 9.1 异步通信规程异步通信规程 异步通信方式(异步通信方式(asynchronous transfer mode,简称,简称atm)是一种比)是一种比较常用的通信方式。在这种通信方式中,较常用的通信方式。在这种通信方式中,以字符为单位传输数据,字符可以一个以字符为单位传输数据,字符可以一个一个地连续发送,也可以单独地随机发一个地连续发送,也可以单独地随机发送,发送字符之

4、间的时间间隔也可以是送,发送字符之间的时间间隔也可以是任意的。任意的。 异步通信方式中,每发送、接收异步通信方式中,每发送、接收一个字符,接收端和发送端都要重新校一个字符,接收端和发送端都要重新校验一次同步关系。因此,不要求发送端验一次同步关系。因此,不要求发送端和接收端的时钟严格保持同步,只需要和接收端的时钟严格保持同步,只需要在同一个字符的传输范围内保持同步即在同一个字符的传输范围内保持同步即可。这就意味着,用于实现异步通信的可。这就意味着,用于实现异步通信的硬件成本要低。但是异步通信每传送一硬件成本要低。但是异步通信每传送一个字符都要附加起始位、校验位、停止个字符都要附加起始位、校验位、

5、停止位,这要增加大约位,这要增加大约20%的信息位,且字的信息位,且字符与字符编码之间要加上不定长度的空符与字符编码之间要加上不定长度的空闲位,所以其传输效率比较低。闲位,所以其传输效率比较低。 异步通信的好处是通信设备简单、便宜、异步通信的好处是通信设备简单、便宜、容易实现,常在低速的数据传输系统中容易实现,常在低速的数据传输系统中使用。使用。9.1.1 xmodem协议协议 ward christiansen于于1979年年为了实现个人计算机之间利用电话线通为了实现个人计算机之间利用电话线通信而设计了名为信而设计了名为“modem asm”程序,程序,后来被称为后来被称为xmodem协议。

6、目前,协议。目前,xmodem协议是一种使用拨号调制解协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异调器的个人计算机通信中广泛使用的异步文件传输协议,这是一个半双工的等步文件传输协议,这是一个半双工的等待待arq协议,已成为事实标准。其帧格协议,已成为事实标准。其帧格式如图式如图9-1所示。所示。图9-1 xmodem协议数据帧格式 此协议中,每一帧以一个字节的此协议中,每一帧以一个字节的头部开始字符(头部开始字符(soh)开始,接下来传)开始,接下来传送送2个字节的头部,头部包括个字节的头部,头部包括1个字节的个字节的本数据帧的编号和本数据帧的编号和1个字节的序号反码个字节的序号

7、反码(用于检验序号是否出错),接下来传(用于检验序号是否出错),接下来传送送128个字节的数据(可以是文本、二个字节的数据(可以是文本、二进制码、进制码、ascii码等等),最后传送循环码等等),最后传送循环冗余检验码(冗余检验码(crc),它只校验),它只校验128个个节的数据块差错。每一部分都有一个开节的数据块差错。每一部分都有一个开始位和一个停止位(图始位和一个停止位(图9.3中灰色部分),中灰色部分),其中数据块中有多个起始和停止位。其中数据块中有多个起始和停止位。 当将要传输数据时,接收方向发当将要传输数据时,接收方向发送方发送一个否定贴(送方发送一个否定贴(nak)开始传输)开始传

8、输数据。发送方每发送一帧,就要等待应数据。发送方每发送一帧,就要等待应答帧(答帧(ack),当收到应答帧时才发送),当收到应答帧时才发送下一帧。如果收到一个否定(下一帧。如果收到一个否定(nak)帧,)帧,就会重新发送刚才发送的一帧,如果在就会重新发送刚才发送的一帧,如果在一定的时间段内没有收到任何帧,那么一定的时间段内没有收到任何帧,那么也会重新发送刚才发送的一帧数据。发也会重新发送刚才发送的一帧数据。发送方除了能收到送方除了能收到nak和和ack外,也有可外,也有可能收到取消帧(能收到取消帧(can),如果发送方收到如果发送方收到接收方反馈的接收方反馈的can帧,则本次传输过程帧,则本次传

9、输过程中止。中止。 xmodem协议由于发送方每发协议由于发送方每发送一个帧之后就要等待接收方返回一个送一个帧之后就要等待接收方返回一个帧,或在超时之后重发,所以其传输效帧,或在超时之后重发,所以其传输效率较低。如果是在传输延迟比较大的系率较低。如果是在传输延迟比较大的系统(如卫星通信系统)中使用,这种不统(如卫星通信系统)中使用,这种不足会更加严重。足会更加严重。9.1.2 ymodem协议协议 ymodem协议是一个类似于协议是一个类似于xmodem的协议,为了追求更大的传的协议,为了追求更大的传输效率输效率ymodem协议在数据块中采用协议在数据块中采用1024个字节传输,其数据帧格式如

10、图个字节传输,其数据帧格式如图9-2所示。所示。图9-2 ymodem协议数据帧格式 ymodem协议不同于协议不同于xmodem协议的地方是,数据块单元协议的地方是,数据块单元长度为长度为1024个字节。其它数据帧格式个字节。其它数据帧格式和和xmodem协议一样。和协议一样。和xmodem协协议的其它差异在于,在议的其它差异在于,在ymodem协议协议中传输过程开始后,接收方接收成功的中传输过程开始后,接收方接收成功的帧并不向发送方返回帧并不向发送方返回ack,只对接收错,只对接收错误的帧返回一个误的帧返回一个nck,要求此帧重新发,要求此帧重新发送。送。ymodem协议提供了一种批模式,

11、协议提供了一种批模式,在此模式下,只有用一条命令就可以同在此模式下,只有用一条命令就可以同时传输多个文件。时传输多个文件。 在在ymodem协议传输过程中,终止本协议传输过程中,终止本次传输过程需要接收端发送两次取消帧次传输过程需要接收端发送两次取消帧(can););ymodem协议中差错检验协议中差错检验采用的是采用的是itu-t的的crc-16标准。标准。9.1.3 zmodem协议协议 zmodem协议是一种针对协议是一种针对modem的错误校验协议,被广泛用于的错误校验协议,被广泛用于个人计算机之间的异步通信。它是个人计算机之间的异步通信。它是xmodem协议的一种增强形式,在可协议的

12、一种增强形式,在可以传输大文件的同时,可以有效降低传以传输大文件的同时,可以有效降低传输过程中的错误率,使用此协议使计算输过程中的错误率,使用此协议使计算机之间用机之间用modem进行文件的无错误传进行文件的无错误传输变得更容易。输变得更容易。 在此协议中,可以在在此协议中,可以在modem上上发送发送512个字节的数据块,如果接收端个字节的数据块,如果接收端检测到某个数据块在传输过程中发生错检测到某个数据块在传输过程中发生错误,就会向发送端发送一个误,就会向发送端发送一个nck帧,要帧,要求此数据块重新传输。在文件开始传输求此数据块重新传输。在文件开始传输时,时,zmodem协议先发送文件名

13、、日协议先发送文件名、日期、文件大小,可变长度的数据块和期、文件大小,可变长度的数据块和crc纠错码。纠错码。zmodem协议支持断点协议支持断点续传,如果使用续传,如果使用zmodem协议或协议或ymodem协议下载文件时意外中断,协议下载文件时意外中断, zmodem在下次下载此文件时会尝试在下次下载此文件时会尝试仅传送文件的剩余部分,这种机制在传仅传送文件的剩余部分,这种机制在传输大文件时就变得非常有用。输大文件时就变得非常有用。 9.1.4 kermit协议协议 kermit协议是在协议是在1981年开始年开始由哥伦比亚大学由哥伦比亚大学kermit项目组成员设计项目组成员设计的广泛用

14、在计算机之间(包括大型机和的广泛用在计算机之间(包括大型机和个人计算机等众多机型)的传输文本文个人计算机等众多机型)的传输文本文件、二进制文件的协议。它不仅仅是一件、二进制文件的协议。它不仅仅是一种协议,实际上它还是一种终端仿真程种协议,实际上它还是一种终端仿真程序,目前为止,它已经被移植在了众多序,目前为止,它已经被移植在了众多的操作系统中,包括的操作系统中,包括windows,unix,dos,vms,os/2等操作系统。等操作系统。 kermit协议是一个半双工的通协议是一个半双工的通信协议,要在两台计算机之间进行文件信协议,要在两台计算机之间进行文件的传输,必须在每台计算机上都运行的传

15、输,必须在每台计算机上都运行kermit协议。协议。pc用户运行一些通信软用户运行一些通信软件登录远程计算机,如图件登录远程计算机,如图9-3所示,一所示,一旦登录成功,用户通过输入名字调用旦登录成功,用户通过输入名字调用kermit,接着键入命令:,接着键入命令:receive myfile,此时,被登录的远程计算机上,此时,被登录的远程计算机上运行的运行的kermit协议在等待一个文件的到协议在等待一个文件的到来。下来,用户在本地计算机上调用来。下来,用户在本地计算机上调用kermit协议,协议, 并键入命令:并键入命令:send filename,这样就这样就激活了本地计算机上的激活了本

16、地计算机上的kermit协议。这协议。这时,用户做的工作就完成了,时,用户做的工作就完成了,kermit完完成剩余部分。它在本地计算机上寻找一成剩余部分。它在本地计算机上寻找一个名为个名为“filename”的文件,并分组,组的文件,并分组,组的数量取决于文件的大小和每个分组的的数量取决于文件的大小和每个分组的大小。大小。图9.3 kermit文件的传输 在此协议中,以发送端向接收端发在此协议中,以发送端向接收端发送一初始化帧(送一初始化帧(s类型)来开始发送一个文类型)来开始发送一个文件,此帧通知接收端准备接收帧。件,此帧通知接收端准备接收帧。s类型的类型的帧和它的最终确认帧包括了一些参数,

17、如果帧和它的最终确认帧包括了一些参数,如果两个计算机之间要交换文件,那第它们必须两个计算机之间要交换文件,那第它们必须按顺序同意这些参数,从而使协议能正常工按顺序同意这些参数,从而使协议能正常工作。它支持传输作。它支持传输7位的位的ascii字符,数据块字符,数据块能以长达能以长达96字节的可变长度的分组形式传字节的可变长度的分组形式传输,对每个被传送的分组需要一个确认帧,输,对每个被传送的分组需要一个确认帧,kermit协议支持批量文件的传输。协议支持批量文件的传输。kermit协议的帧格式如图协议的帧格式如图9-4所示。所示。图9-4 kermit协议帧(分组)格式kermit部分帧类型如

18、下表9-1所示。表9-1 kermit协议帧(分组)类型 一个典型的一个典型的kermit交换如图交换如图9-5所示,所示,a站发送一个含有初始信息的站发送一个含有初始信息的s帧,帧,b站发送一个站发送一个y帧确认,帧确认,y帧中也有初始帧中也有初始信息,这个过程允许每一个站通知其它信息,这个过程允许每一个站通知其它站自己需要的是什么。然后,站自己需要的是什么。然后,a发送一发送一个个f帧来指出它将发送的文件的名字。帧来指出它将发送的文件的名字。b再一次发送另外一个再一次发送另外一个y帧来确认帧来确认f帧。然帧。然后,就象前几节中描述的那样,传输数后,就象前几节中描述的那样,传输数据,据,b收

19、到帧后,发送确认信息,当帧损收到帧后,发送确认信息,当帧损坏了,它将发送一个坏了,它将发送一个n a k。当最后一。当最后一个帧发送出去时,个帧发送出去时, a发送一个发送一个z帧,表示整个文件已经发帧,表示整个文件已经发送了,送了,b再一次发送一个确认。最后,如再一次发送一个确认。最后,如果无东西要传输了,果无东西要传输了,a就发送一个就发送一个b帧,帧,表示要断连了,表示要断连了,b确认后,断连。确认后,断连。图9-5 发送文件的kermit协议过程9.2 9.2 面向字符的同步通信规程面向字符的同步通信规程 bsc(binary synchronous communication)是由)

20、是由ibm公司在公司在1964年开发的一种典型的面向字符的数据链路年开发的一种典型的面向字符的数据链路协议协议(dlcp),该协议可以在点到点和多点,该协议可以在点到点和多点线路配置中使用,支持采用停等线路配置中使用,支持采用停等arq流量流量控制和差错控制的半双工传输,不支持全控制和差错控制的半双工传输,不支持全双工传输或滑动窗口协议。该协议于双工传输或滑动窗口协议。该协议于1968年开始用于年开始用于ibm computer system,主要目的将远程批处理终端和视,主要目的将远程批处理终端和视频显示终端集中控制的连接到频显示终端集中控制的连接到ibm主机上。主机上。9.2.1 bsc控

21、制字符控制字符 bsc是一种字符控制规程,对代是一种字符控制规程,对代码很敏感,使用码很敏感,使用ascii或或ebcdic等编码等编码字符进行链路控制,并且采用特殊字符字符进行链路控制,并且采用特殊字符分隔各种信息段,通过分隔各种信息段,通过bsc信道传送的信道传送的每个字符都要在接受端译码,以判别它每个字符都要在接受端译码,以判别它是一个控制是一个控制/用户数据。任何数据链路层用户数据。任何数据链路层规程均可由链路建立、数据传输和链路规程均可由链路建立、数据传输和链路拆除三个部分组成。为了实现链路建立、拆除三个部分组成。为了实现链路建立、拆除等链路管理及同步等功能,除了正拆除等链路管理及同

22、步等功能,除了正常传输的数据报之外,常传输的数据报之外, bsc还需要一些控制字符。还需要一些控制字符。bsc使用的使用的控制字符如表控制字符如表9-2所示,所示,ccitt建议用建议用ascii/ia5表示。表示。表9-2 二进制同步通信(bsc)的控制字符1.bsc常用控制字符常用控制字符soh(start of heading)标题开始:标)标题开始:标题是信息报文中正文之前的字符序列,它题是信息报文中正文之前的字符序列,它由表示路由、优先权、保密措施和报文编由表示路由、优先权、保密措施和报文编号等组成,号等组成,soh不允许出现在正文中。不允许出现在正文中。stx(start of t

23、ext)信息报文正文开始:)信息报文正文开始:报文分成若干码组时,每组均以报文分成若干码组时,每组均以stx开始。开始。etx(end of text)信息报文结束:由发)信息报文结束:由发送端发送,报文被分组时,只有最后一组送端发送,报文被分组时,只有最后一组报文使用报文使用etx结束。结束。eot(end of transmission)表示数据传)表示数据传输的结束:输的结束:eot由发送端发出。由发送端发出。enq(enquiry)询问:用来请求远程站给出)询问:用来请求远程站给出应答。应答。ack(acknowledge)确认)确认:由接受端发往发由接受端发往发送端,作为对状态询问及

24、报文的肯定应答。送端,作为对状态询问及报文的肯定应答。nak(negative acknowledge):由接受):由接受端发往发送端,作为对状态询问及报文的否端发往发送端,作为对状态询问及报文的否定应答。定应答。dle(data linking escape)数据链路转)数据链路转义:用来改变后续一定数目字符的意义,组义:用来改变后续一定数目字符的意义,组成转义序列(其只能使用图形字符和传输控成转义序列(其只能使用图形字符和传输控制字符)。制字符)。syn(synchronous idle)同步:用于建)同步:用于建立和保持收发两端的同步,立和保持收发两端的同步,syn不能放不能放在在dle

25、之后和与校验码有关系的控制字之后和与校验码有关系的控制字符中间。符中间。etb (end of transmission block)数据分组块传输结束:仅由发送端送出,数据分组块传输结束:仅由发送端送出,但校验码(但校验码(bcc)仅随其后,但最后一)仅随其后,但最后一个信息码组的结束必须使用个信息码组的结束必须使用etx。2.bsc其他控制字符其他控制字符rvi(receive information)接收方紧)接收方紧急消息急消息:用以申请中断(当发送端有紧急用以申请中断(当发送端有紧急任务要发送时)。任务要发送时)。ttd(temporary text delay):发送):发送方暂停

26、但未拆除连接。方暂停但未拆除连接。wack(wait and acknowledge)等)等待应答待应答:接收方已经接收完好帧但不能再接收方已经接收完好帧但不能再接收前一帧已接收好但不能再接收下一接收前一帧已接收好但不能再接收下一帧帧, rnr报文。报文。扩充序列:以扩充序列:以dle开头的一些双字符控制开头的一些双字符控制序列。序列。dle eot要求拆线:表示要求拆除通信要求拆线:表示要求拆除通信线路的传输控制字符序列。线路的传输控制字符序列。dle0/dle1编号确认:由接收站到发送编号确认:由接收站到发送站表示肯定应答的传输控制字符序列,站表示肯定应答的传输控制字符序列,用于编号应答方

27、式中。用于编号应答方式中。dle3/12或或dle7/12站中断:从站同站中断:从站同步字符序列代替正常的肯定应答,表示步字符序列代替正常的肯定应答,表示从站要求主站尽快停止现行传输的控制从站要求主站尽快停止现行传输的控制字符序列,与字符序列,与rvi有相同的功能。有相同的功能。dle3/11或或dle3/15要求暂停发送,要求暂停发送,表示从站暂停时不能接收数据信息,要表示从站暂停时不能接收数据信息,要求主站暂停发送,与求主站暂停发送,与ttd功能相同。功能相同。dle3/13反向拐入通道:表示接收站有反向拐入通道:表示接收站有优先级高的信息报文要求发送,为接收优先级高的信息报文要求发送,为

28、接收方获取发送权。方获取发送权。stx enq延时发送:当发送站未准备好延时发送:当发送站未准备好发送时即可发出的序列。发送时即可发出的序列。9.2.2 bsc帧格式帧格式 bsc协议将传输分割成帧,如果协议将传输分割成帧,如果一帧只能严格地用于控制目的,就叫做一帧只能严格地用于控制目的,就叫做控制帧。控制帧被用来在通信设备之间控制帧。控制帧被用来在通信设备之间交换信息例如,建立初始连接,控制传交换信息例如,建立初始连接,控制传输流,进行请求纠错,以及在会话结束输流,进行请求纠错,以及在会话结束时在设备之间断开连接。如果一帧中还时在设备之间断开连接。如果一帧中还有报文数据自身的部分或全部信息,

29、它有报文数据自身的部分或全部信息,它就称为数据帧。数据帧用来传输信息,就称为数据帧。数据帧用来传输信息,但也可以包含可以应用到该信息上的控但也可以包含可以应用到该信息上的控制信息。制信息。 1.数据帧数据帧 帧开头是两个或多个同步字符帧开头是两个或多个同步字符(syn),这些字符通知接收方有新的帧到),这些字符通知接收方有新的帧到来并为接收设备提供一种可以用来与发送设来并为接收设备提供一种可以用来与发送设备进行时钟同步的比特模式。在两个同步字备进行时钟同步的比特模式。在两个同步字符之后是文本开始符(符之后是文本开始符(stx),这个字符通),这个字符通知接收方控制信息结束,下一字节将是数据。知

30、接收方控制信息结束,下一字节将是数据。数据或文本可以由不同数目的字符组成。一数据或文本可以由不同数目的字符组成。一个文本结束符(个文本结束符(etx)指明了文本和进一步)指明了文本和进一步的控制字符之间的转换。最后,是用于检错的控制字符之间的转换。最后,是用于检错的纵向冗余校验码(的纵向冗余校验码(lrc)或者是两个字符)或者是两个字符的循环冗余校验码(的循环冗余校验码(crc)。一个简单的)。一个简单的bsc数据帧格式如图数据帧格式如图9-6所示。所示。图9-6 简单的bsc数据帧 常见的常见的bsc数据帧有如下四种类型:数据帧有如下四种类型:(1)头部数据字段头部数据字段 信息报文由标题(

31、报头)和正文信息报文由标题(报头)和正文组成。正文包含要传输的有用数据信息,组成。正文包含要传输的有用数据信息,标题标题/报头是与报文的正文段的传送和处报头是与报文的正文段的传送和处理相关的一些辅助信息的字符序列,如理相关的一些辅助信息的字符序列,如发信地址、收信地址、信息报文名称、发信地址、收信地址、信息报文名称、报文级别、编号、传送路径等。带有头报文级别、编号、传送路径等。带有头部的部的bsc帧如图帧如图9-7。图9-7 带有头部的bsc帧 报文头在报文头在soh字符之后和字符之后和stx字符字符之前。文本开始符之前。文本开始符stx有两个作用,一个有两个作用,一个是表示报文头结束,另一个

32、表示数据报文是表示报文头结束,另一个表示数据报文开始。数据和文本可以由不同数目的字符开始。数据和文本可以由不同数目的字符组成。文本结束符(组成。文本结束符(etx)指明了文本和)指明了文本和下一个控制符之间的转换。最后,是错误下一个控制符之间的转换。最后,是错误检测字符(检测字符(bcc),一个),一个bcc域是一个字域是一个字节长度的纵向冗余校验码节长度的纵向冗余校验码(lrc,longitudinal redundancy check)或是两个字节的循环冗余校验码)或是两个字节的循环冗余校验码(crc)。)。(2)多块帧多块帧 随着帧长度的增加,文本块出错随着帧长度的增加,文本块出错的可能

33、性随之增大。帧中的比特数越多,的可能性随之增大。帧中的比特数越多,在传输中发生差错的可能性就越大,并在传输中发生差错的可能性就越大,并且出现多个互相对消的差错从而使检错且出现多个互相对消的差错从而使检错变得困难的可能性也越大。因此,在一变得困难的可能性也越大。因此,在一个报文中的文本经常被分成几块。除最个报文中的文本经常被分成几块。除最后一块外,每一块都由一个后一块外,每一块都由一个stx字符开字符开始并由一个中间文本块字符(始并由一个中间文本块字符(etb)结)结束。最后一块由束。最后一块由stx字符开始,结束却字符开始,结束却是是etx字符。紧跟在每个字符。紧跟在每个etb或或etx字字符

34、之后的是一个符之后的是一个bcc字段。字段。 通过这种方式,接收方可以对每一块单通过这种方式,接收方可以对每一块单独进行检错,从而增加了检测出差错的独进行检错,从而增加了检测出差错的可能性。但是,如果任何一个数据块有可能性。但是,如果任何一个数据块有错,整个帧被重新传输。在接收到错,整个帧被重新传输。在接收到etx字符并校验了最后一个字符并校验了最后一个bcc字段后,接字段后,接收方对整个帧发送一个确认帧。一个多收方对整个帧发送一个确认帧。一个多块帧的结构如图块帧的结构如图9-8。图9-8 bsc多块帧(3)多帧传输多帧传输 在多块帧中,一帧包含了整个报在多块帧中,一帧包含了整个报文。在每一帧

35、之后,报文就结束了并且文。在每一帧之后,报文就结束了并且线路的控制权就交给第二个设备(半双线路的控制权就交给第二个设备(半双工模式下)。但有些报文可能太长,以工模式下)。但有些报文可能太长,以到于不能容纳在一帧中。在这种情况下,到于不能容纳在一帧中。在这种情况下,发送方不仅可以将报文分在各数据块中,发送方不仅可以将报文分在各数据块中,还可以将它分在不同帧中。可以用几帧还可以将它分在不同帧中。可以用几帧来连续传输一个报文。来连续传输一个报文。 为使接收方知道帧的结束不是报文的结为使接收方知道帧的结束不是报文的结束,除了最后一帧外其他帧中的文本结束,除了最后一帧外其他帧中的文本结束符(束符(etx

36、)都被传输块结束符()都被传输块结束符(etb)所代替。接收方可以分别对各帧进行确所代替。接收方可以分别对各帧进行确认,但只有在最后一帧中接收到认,但只有在最后一帧中接收到etx符符后才能接管链路控制,多帧传输如图后才能接管链路控制,多帧传输如图9-9所示。所示。图9-6 多帧传输(4) 多报文头帧多报文头帧 多报文头帧方式中,由于报文头多报文头帧方式中,由于报文头太长仿照多帧传输将报文头分为太长仿照多帧传输将报文头分为m组,组,每组报文的开头都用标题开始被符每组报文的开头都用标题开始被符soh,而每组报文的结尾使用而每组报文的结尾使用etx,中间的报,中间的报文组都使用文组都使用etb界定,

37、如图界定,如图9-10所示,所示,是多报文头帧传输的格式。是多报文头帧传输的格式。图9-10 多报文头帧2.控制帧控制帧 控制帧是一个设备用来向另一个设控制帧是一个设备用来向另一个设备发送命令或索取信息的消息。控制帧分为备发送命令或索取信息的消息。控制帧分为正向控制帧和反向控制帧两种。正向控制帧正向控制帧和反向控制帧两种。正向控制帧指的是由主站发送到从站去的控制序列,主指的是由主站发送到从站去的控制序列,主要用于通信双方间的呼叫应答,以确保信息要用于通信双方间的呼叫应答,以确保信息报文的正常可靠传输;反向控制帧是由从站报文的正常可靠传输;反向控制帧是由从站发送到主站去的控制序列,主要用于对询问

38、发送到主站去的控制序列,主要用于对询问的应答和数据链路的控制。一个控制帧包含的应答和数据链路的控制。一个控制帧包含有控制字符但没有数据,它携带特定的数据有控制字符但没有数据,它携带特定的数据链路层自身功能的信息,其基本格式如图链路层自身功能的信息,其基本格式如图9-11所示。所示。图9-11 bsc协议控制帧 控制帧主要用来完成建立连接,控制帧主要用来完成建立连接,在数据传输过程中维护流量和差错控制,在数据传输过程中维护流量和差错控制,以及终止连接三种服务。以及终止连接三种服务。bsc所采用的所采用的线路控制编码有:线路控制编码有:ack0、ack1、wack、rvi、disc、ttd,bsc

39、控制控制序列的双重含义取决于主站序列的双重含义取决于主站/从站发出和从站发出和线路处于控制方式线路处于控制方式/报文方式。报文方式。bsc控制控制序列的双重含义如表序列的双重含义如表9-3。表9-3 bsc控制序列的双重含义3.多点结构多点结构bsc轮询轮询/选择传输过程选择传输过程 在在bsc的多点结构中,为确保所的多点结构中,为确保所有从站处于控制方式,并准备好接受来有从站处于控制方式,并准备好接受来自控制站的轮询或选择,由控制站发送自控制站的轮询或选择,由控制站发送syn syn eot pad syn syn (地(地址)址)enq序列,轮询或选择地址由序列,轮询或选择地址由17个字符

40、组成,后跟个字符组成,后跟enq。轮询帧的地址。轮询帧的地址序列用大写字母表示;选择帧的地址序序列用大写字母表示;选择帧的地址序列用小写字母表示。列用小写字母表示。一个被轮询的从站可能回答:一个被轮询的从站可能回答:报头数据:报头数据:syn syn soh;正文数据:正文数据:syn syn stx正文;正文;透明正文数据:透明正文数据:syn syn dle stx透明透明正文;正文;否定否定(当站没有东西要发送当站没有东西要发送):syn syn eot;暂时正文推迟:暂时正文推迟:syn syn stx enq; 一个被选择的从站可能回答:一个被选择的从站可能回答: 肯定,表明从站准备

41、好接收肯定,表明从站准备好接收syn syn ack0;否定,表明从站不准备接;否定,表明从站不准备接收收syn syn nak;表明从站暂时不准;表明从站暂时不准备接收:备接收:syn syn wack9.2.3 bsc数据透明性和同步数据透明性和同步 bsc规程原本是为传输纯文本消规程原本是为传输纯文本消息设计的;但是用户希望它具有一定的息设计的;但是用户希望它具有一定的兼容性,使得能够传输类似程序和图画兼容性,使得能够传输类似程序和图画等非文本信息和命令的二进制序列。不等非文本信息和命令的二进制序列。不幸的是,这种报文可能给幸的是,这种报文可能给bsc传输带来传输带来问题:传输中文本信息

42、中可能包括一个问题:传输中文本信息中可能包括一个看来与看来与bsc规程的控制字符一样的规程的控制字符一样的8比比特字符模式。特字符模式。1.bsc数据透明性数据透明性 数据通信中的数据透明性意味着数据通信中的数据透明性意味着必须能够把任何比特组合在不被错认是必须能够把任何比特组合在不被错认是控制字符的前提下当作数据传送。控制字符的前提下当作数据传送。bsc规程中的数据透明性实现过程:字节填规程中的数据透明性实现过程:字节填充,通过数据链路转义(充,通过数据链路转义(dle)字符定)字符定义透明文本区域以及在透明文本区域内义透明文本区域以及在透明文本区域内的的dle字符之前加上一个附加的字符之前

43、加上一个附加的dle字字符。为定义透明区域,需要在文本字段符。为定义透明区域,需要在文本字段开始的开始的stx字符之前插入一个字符之前插入一个dle字符,字符, 并且在文本字段结束的并且在文本字段结束的etx字符前也插字符前也插入一个入一个dle字符。第一个字符。第一个dle字符告诉字符告诉接收方透明区域结束了。如果透明区域接收方透明区域结束了。如果透明区域内含有一个作为文本的转义符内含有一个作为文本的转义符dle,那,那么仍然会出现问题。在这种情况下,就么仍然会出现问题。在这种情况下,就在文本中的每个在文本中的每个dle字符前插入一个字符前插入一个dle字符。如图字符。如图9-12为透明帧的

44、一个为透明帧的一个例子。例子。图9-12 字节填充2.数据同步数据同步 bsc是同步规程,数据以字符块是同步规程,数据以字符块方式传送。方式传送。bsc同步在每个数据报文的同步在每个数据报文的开头进行,以两个开头进行,以两个syn字符开始,字符开始,syn是接口硬件能识别的用以识别字符同步是接口硬件能识别的用以识别字符同步的唯一模式。同步过程:的唯一模式。同步过程: bsc采用两个连续的采用两个连续的pad字符字符(交替的(交替的0、1)实现位同步,接收方识)实现位同步,接收方识别两个连续的别两个连续的syn字符建立字符同步;字符建立字符同步;每个每个1秒时间间隔自动在头和正文数据中秒时间间隔

45、自动在头和正文数据中插入同步空转序列;非透明数据采用插入同步空转序列;非透明数据采用syn syn序列,透明数据采用序列,透明数据采用dle syn序列。序列。9.3 9.3 面向比特的同步通信规程面向比特的同步通信规程hdlchdlc hdlc(hdlc-high data link control)高级链路控制规程,是)高级链路控制规程,是面向二进制位的数据链路控制规程,使面向二进制位的数据链路控制规程,使数据传输更可靠,效率更高,它可以支数据传输更可靠,效率更高,它可以支持任意二进制数据的传输。持任意二进制数据的传输。 hdlc来源于来源于ibm公司的公司的sdlc,1975年,年,ib

46、m首先研究开发了面向比首先研究开发了面向比特的规程同步数据链路控制(特的规程同步数据链路控制(sdlc)。)。 1979年,年,iso在在sdlc基础上提出了高基础上提出了高级数据链路控制规程(级数据链路控制规程(iso3009,iso4335)并逐渐被其他组织所接受和)并逐渐被其他组织所接受和采用。采用。itu-t是最早接受是最早接受hdlc规程的规程的组织之一。从组织之一。从1981年开始,年开始,itu-t开开发了一系列基于发了一系列基于hdlc规程的规程,叫规程的规程,叫做链路访问协议,如做链路访问协议,如lapb协议,协议,lapd协议,协议,lapm协议,协议,lapx协议等。其协

47、议等。其他由他由itu-t和和ansi研制的协议,如帧中研制的协议,如帧中继,继,ppp协议等也是从协议等也是从hdlc规程发展规程发展而来的,大多数局域网访问控制协议也而来的,大多数局域网访问控制协议也是如此。是如此。9.3.1 hdlc帧格式帧格式 hdlc在链路上以帧作为传输信在链路上以帧作为传输信息的基本单位(息的基本单位(frame),无论是信息报无论是信息报文还是控制报文都必须符合帧的格式。文还是控制报文都必须符合帧的格式。hdlc的帧由六个字段组成,这六个字的帧由六个字段组成,这六个字段可以分为五中类型,即标志序列(段可以分为五中类型,即标志序列(f)、)、地址字段(地址字段(a

48、)、控制字段()、控制字段(c)、信息)、信息字段(字段(i)、帧校验字段()、帧校验字段(fcs)。在帧)。在帧结构中允许不包含信息字段结构中允许不包含信息字段i。 位于信息字段前面的标志字段、地址字位于信息字段前面的标志字段、地址字段、以及控制字段统称为首部)段、以及控制字段统称为首部)(heard),而跟在信息字段后面的而跟在信息字段后面的fcs和标志字段称做尾部(和标志字段称做尾部(tailer)。基本的)。基本的hdlc帧格式如图帧格式如图9-13所示。所示。图9-13 hdlc的帧格式1.标志字段(标志字段(f) 标志字段以惟一的标志字段以惟一的01111110模式在帧的两端起定界

49、作用。要求所有模式在帧的两端起定界作用。要求所有的帧必须以的帧必须以f标志为帧的开始和结束标志,标志为帧的开始和结束标志,也是下一帧的起始标志。在用户网络接也是下一帧的起始标志。在用户网络接口的两侧,接收设备不断地搜寻口的两侧,接收设备不断地搜寻f标志,标志,用于一个帧起始时的同步。当接收到一用于一个帧起始时的同步。当接收到一个帧之后,站点继续搜索这个标志序列,个帧之后,站点继续搜索这个标志序列,用以判断该帧的结束。用以判断该帧的结束。 如图如图9-14(a)所示。从而保证接收部)所示。从而保证接收部分对后续字段的正确识别。另外,在帧分对后续字段的正确识别。另外,在帧与帧的空载期间,可以连续发

50、送与帧的空载期间,可以连续发送f,用来,用来作时间填充。如图作时间填充。如图9-14(b)所示。所示。(a) 同步作用(b) f作时间填充图9-14 标志字段f的作用 然而,二进制数然而,二进制数01111110有有可能出现在帧中间的某个地方,因而破可能出现在帧中间的某个地方,因而破坏了帧一级的同步。为了防止这种情况坏了帧一级的同步。为了防止这种情况产生,保证对数据的透明传输,采取了产生,保证对数据的透明传输,采取了比特插入、删除技术。在一个帧的传输比特插入、删除技术。在一个帧的传输起始位置和结束标志之前,每当出现起始位置和结束标志之前,每当出现5个个连续二进制连续二进制“1”以后,发送器就会

51、插入以后,发送器就会插入一个一个“0”。这就保证了除标志帧以外,。这就保证了除标志帧以外,所有的帧均不会有多于五个连续所有的帧均不会有多于五个连续“1”的的比特帧出现。接收方在检测到起始标志比特帧出现。接收方在检测到起始标志后,会时刻注意检查后,会时刻注意检查5个连续个连续“1”之后之后的比特,的比特, 如为如为“0”,则删除,则删除5个个“1”以后的以后的“0”,恢复原来的数据序列,如为,恢复原来的数据序列,如为“1”,再检查下一个比特。如果第再检查下一个比特。如果第7个比特是个比特是“0”,那么这一组合被认为是标志字段。,那么这一组合被认为是标志字段。如果第如果第7个比特是个比特是“1”,

52、那么表示是错,那么表示是错误序列,接收端拒绝接收此帧。比特填误序列,接收端拒绝接收此帧。比特填充技术的采用排除了在信息流中出现的充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息标志字段的可能性,保证了对数据信息的透明传输。当暂时没有信息传送时,的透明传输。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以可以连续发送标志字段,使接收端可以一直保持与发送端同步。一直保持与发送端同步。 使用位填充后,在帧的信息字段使用位填充后,在帧的信息字段中可以插入任意的比特模式。这种性质中可以插入任意的比特模式。这种性质称为数据的透明性,该传输方式称为透称为数据的透明性,该传输方式称

53、为透明传输报文交换方式。明传输报文交换方式。 例如,传送的数据流为例如,传送的数据流为1111100010010111111001111110,为了能使传输透明,发送方将,为了能使传输透明,发送方将在发送前进行比特填充,上述数据流将在发送前进行比特填充,上述数据流将变成变成1111100001001011111010011111010,字符串中的三个带下划线的字符串中的三个带下划线的0即为比特填充的即为比特填充的0。 接收方收到带有比特填充的数据流之后,接收方收到带有比特填充的数据流之后,再进行比特删除,去掉三个带下划线的再进行比特删除,去掉三个带下划线的0,又还原成原来的数据又还原成原来的数

54、据1111100010010111111001111110。2地址字段(地址字段(a) 地址字段表示链路上站的地址。对于地址字段表示链路上站的地址。对于命令帧而言,地址字段给出的是执行该命令命令帧而言,地址字段给出的是执行该命令的从站和组合站的地址。对于响应帧来说,的从站和组合站的地址。对于响应帧来说,地址字段给出的是做出应答的从站和组合站地址字段给出的是做出应答的从站和组合站的地址。点对点的链路不需要这个字段,但的地址。点对点的链路不需要这个字段,但是为了统一,所有的帧都含有这个字段。在是为了统一,所有的帧都含有这个字段。在使用不平衡方式传送数据时(采用使用不平衡方式传送数据时(采用nrm和

55、和arm),地址字段总是写入从站的地址;在),地址字段总是写入从站的地址;在使用平衡方式时(采用使用平衡方式时(采用abm),地址字段总),地址字段总是写入应答站的地址。是写入应答站的地址。 地址字段的长度一般为地址字段的长度一般为8bit,最多可,最多可以表示以表示256个站的地址。但在最先的协议中,个站的地址。但在最先的协议中,可以使用扩展格式,这时地址的实际长度是可以使用扩展格式,这时地址的实际长度是7bit,一般的扩展方法是末位置,一般的扩展方法是末位置0,表示后,表示后面紧跟的面紧跟的8位数据也是地址的组成部分,可位数据也是地址的组成部分,可按此方法加以扩充。因此,单个按此方法加以扩

56、充。因此,单个8位地址范位地址范围变成了围变成了128。而每个。而每个8位组中的最低位是位组中的最低位是1还是还是0取决于它是不是地址字段的最后一取决于它是不是地址字段的最后一个个8位字段。除了该位之外,每个位字段。除了该位之外,每个8位组中位组中的其他的其他7位组成了地址部分。扩展后的实际位组成了地址部分。扩展后的实际地址长度是地址长度是7 bit 的倍数。的倍数。 许多系统中规定,地址字段为许多系统中规定,地址字段为“11111111”时,定义为全站地址时,定义为全站地址(广播地址),即通知所有的接收站接(广播地址),即通知所有的接收站接收有关的命令帧并按其动作;全收有关的命令帧并按其动作

57、;全“0”比比特为无站地址,用于测试数据链路的状特为无站地址,用于测试数据链路的状态。因此有效地址共有态。因此有效地址共有254个之多,这个之多,这对一般的多点链路是足够的。但考虑在对一般的多点链路是足够的。但考虑在某些情况下,例如使用分组无线网,用某些情况下,例如使用分组无线网,用户可能很多,可使用扩充地址字段,以户可能很多,可使用扩充地址字段,以字节为单位扩充。字节为单位扩充。 在扩充时,每个地址字段的第在扩充时,每个地址字段的第1位用作扩充指示,即当第位用作扩充指示,即当第1位为位为“0”时,时,后续字节为扩充地址字段;当第后续字节为扩充地址字段;当第1位为位为“1”时,后续字节不是扩充

58、地址字段,时,后续字节不是扩充地址字段,地址字段到此为止。如果地址只有一个地址字段到此为止。如果地址只有一个字节,最后位总是字节,最后位总是“1”。如果是多字节,。如果是多字节,除最后一个字节外其他所有字节都要以除最后一个字节外其他所有字节都要以“0”结尾。结尾。3控制字段(控制字段(c) 控制字段用来表示帧类型、帧编控制字段用来表示帧类型、帧编号,以及命令、响应等功能,使对方站号,以及命令、响应等功能,使对方站执行特定的操作。有关控制字段的知识执行特定的操作。有关控制字段的知识点在点在9.3.3节详细介绍。节详细介绍。4信息字段(信息字段(i) 紧跟在控制字段之后的是信息字紧跟在控制字段之后

59、的是信息字段。信息字段表示链路扫要传输的实际段。信息字段表示链路扫要传输的实际信息,它不受格式或内容的限制,但实信息,它不受格式或内容的限制,但实际的信息长度受有关站缓冲区的容量和际的信息长度受有关站缓冲区的容量和链路差错特性的限制,一般规定最大信链路差错特性的限制,一般规定最大信息长度不超过息长度不超过256个字节。不是所有的个字节。不是所有的hdlc的帧都含有信息字段(的帧都含有信息字段(i),只有),只有信息帧和某些信息帧和某些u帧才含有信息字段。信帧才含有信息字段。信息帧里包含的是用户数据,息帧里包含的是用户数据,u帧中包含帧中包含的是网络管理信息。的是网络管理信息。5帧校验序列(帧校

60、验序列(fcs) 在所有的帧里均包含一个在所有的帧里均包含一个16位的位的帧校验序列,用于检测差错。帧校验序列,用于检测差错。hdlc差差错校验是对整个帧的内容作错校验是对整个帧的内容作crc循环冗循环冗余校验,但标志序列和按透明规则插入余校验,但标志序列和按透明规则插入的所有的所有“0”不在校验范围内。循环的生不在校验范围内。循环的生成多项式是成多项式是16的的crcccitt码或码或crc32码。码。9.3.2 hdlc链路结构和传输模式链路结构和传输模式 hdlc定义了三种类型的站点、定义了三种类型的站点、两种链路结构和三种数据传输模式。两种链路结构和三种数据传输模式。1站点类型:站点类

温馨提示

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

评论

0/150

提交评论