《数据通信规程》PPT课件.ppt
《《数据通信规程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据通信规程》PPT课件.ppt(155页珍藏版)》请在三一办公上搜索。
1、第9章 数据通信规程,ISO-RM对数据链路的定义为:按照信息的特定方式进行操作的两个或两个以上的终端装置(DTE)与互连线路的一种组合体。所谓特定方式是指信息速率和编码格式相同。数据链路由数据电路和两端的通信控制器/传输控制器构成。数据链路是在数据电路已建立的基础上,通过两端的控制装置使收发双方之间交换握手信号,双方确认后才可开始传输数据。,在数据链路层上采取必要的控制手段对数据信息的传输进行控制,使DTE与网络或DTE与DTE之间能够有效、可靠地传输数据信息。数据链路控制规程是实现链路控制、管理的相关规范、约定和协议等,本章主要讲述常见的数据链路通信控制规程,包括异步通信控制规程,BSC、
2、HDLC等。,第9章 数据通信规程,9.1 异步通信规程9.2 面向字符的同步通信规程9.3 面向比特的同步通信规程HDLC9.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-2所示。,
6、图9-2 YMODEM协议数据帧格式,YMODEM协议不同于XMODEM协议的地方是,数据块单元长度为1024个字节。其它数据帧格式和XMODEM协议一样。和XMODEM协议的其它差异在于,在YMODEM协议中传输过程开始后,接收方接收成功的帧并不向发送方返回ACK,只对接收错误的帧返回一个NCK,要求此帧重新发送。YMODEM协议提供了一种批模式,在此模式下,只有用一条命令就可以同时传输多个文件。,在YMODEM协议传输过程中,终止本次传输过程需要接收端发送两次取消帧(CAN);YMODEM协议中差错检验采用的是ITU-T的CRC-16标准。,9.1.3 ZMODEM协议 ZMODEM协议是
7、一种针对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-3所示
9、,一旦登录成功,用户通过输入名字调用Kermit,接着键入命令:Receive myfile,此时,被登录的远程计算机上运行的Kermit协议在等待一个文件的到来。下来,用户在本地计算机上调用Kermit协议,,并键入命令:Send FileName,这样就激活了本地计算机上的Kermit协议。这时,用户做的工作就完成了,Kermit完成剩余部分。它在本地计算机上寻找一个名为“FileName”的文件,并分组,组的数量取决于文件的大小和每个分组的大小。,图9.3 Kermit文件的传输,在此协议中,以发送端向接收端发送一初始化帧(S类型)来开始发送一个文件,此帧通知接收端准备接收帧。S类型的帧
10、和它的最终确认帧包括了一些参数,如果两个计算机之间要交换文件,那第它们必须按顺序同意这些参数,从而使协议能正常工作。它支持传输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 Transmission
15、Block)数据分组块传输结束:仅由发送端送出,但校验码(BCC)仅随其后,但最后一个信息码组的结束必须使用ETX。,2.BSC其他控制字符RVI(Receive Information)接收方紧急消息:用以申请中断(当发送端有紧急任务要发送时)。TTD(Temporary Text Delay):发送方暂停但未拆除连接。WACK(Wait and Acknowledge)等待应答:接收方已经接收完好帧但不能再接收前一帧已接收好但不能再接收下一帧,RNR报文。扩充序列:以DLE开头的一些双字符控制序列。,DLE EOT要求拆线:表示要求拆除通信线路的传输控制字符序列。DLE0/DLE1编号确认
16、:由接收站到发送站表示肯定应答的传输控制字符序列,用于编号应答方式中。DLE3/12或DLE7/12站中断:从站同步字符序列代替正常的肯定应答,表示从站要求主站尽快停止现行传输的控制字符序列,与RVI有相同的功能。DLE3/11或DLE3/15要求暂停发送,表示从站暂停时不能接收数据信息,要求主站暂停发送,与TTD功能相同。,DLE3/13反向拐入通道:表示接收站有优先级高的信息报文要求发送,为接收方获取发送权。STX ENQ延时发送:当发送站未准备好发送时即可发出的序列。,9.2.2 BSC帧格式 BSC协议将传输分割成帧,如果一帧只能严格地用于控制目的,就叫做控制帧。控制帧被用来在通信设备
17、之间交换信息例如,建立初始连接,控制传输流,进行请求纠错,以及在会话结束时在设备之间断开连接。如果一帧中还有报文数据自身的部分或全部信息,它就称为数据帧。数据帧用来传输信息,但也可以包含可以应用到该信息上的控制信息。,1.数据帧 帧开头是两个或多个同步字符(SYN),这些字符通知接收方有新的帧到来并为接收设备提供一种可以用来与发送设备进行时钟同步的比特模式。在两个同步字符之后是文本开始符(STX),这个字符通知接收方控制信息结束,下一字节将是数据。数据或文本可以由不同数目的字符组成。一个文本结束符(ETX)指明了文本和进一步的控制字符之间的转换。最后,是用于检错的纵向冗余校验码(LRC)或者是
18、两个字符的循环冗余校验码(CRC)。一个简单的BSC数据帧格式如图9-6所示。,图9-6 简单的BSC数据帧,常见的BSC数据帧有如下四种类型:(1)头部数据字段 信息报文由标题(报头)和正文组成。正文包含要传输的有用数据信息,标题/报头是与报文的正文段的传送和处理相关的一些辅助信息的字符序列,如发信地址、收信地址、信息报文名称、报文级别、编号、传送路径等。带有头部的BSC帧如图9-7。,图9-7 带有头部的BSC帧,报文头在SOH字符之后和STX字符之前。文本开始符STX有两个作用,一个是表示报文头结束,另一个表示数据报文开始。数据和文本可以由不同数目的字符组成。文本结束符(ETX)指明了文
19、本和下一个控制符之间的转换。最后,是错误检测字符(BCC),一个BCC域是一个字节长度的纵向冗余校验码(LRC,Longitudinal Redundancy Check)或是两个字节的循环冗余校验码(CRC)。,(2)多块帧 随着帧长度的增加,文本块出错的可能性随之增大。帧中的比特数越多,在传输中发生差错的可能性就越大,并且出现多个互相对消的差错从而使检错变得困难的可能性也越大。因此,在一个报文中的文本经常被分成几块。除最后一块外,每一块都由一个STX字符开始并由一个中间文本块字符(ETB)结束。最后一块由STX字符开始,结束却是ETX字符。紧跟在每个ETB或ETX字符之后的是一个BCC字段
20、。,通过这种方式,接收方可以对每一块单独进行检错,从而增加了检测出差错的可能性。但是,如果任何一个数据块有错,整个帧被重新传输。在接收到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控制序列的双重含义,3.多点结构BSC轮询/选择传
23、输过程 在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;,一个被选择的从站可能回答:肯定,表明从站准备好接收SYN SYN
24、ACK0;否定,表明从站不准备接收SYN SYN NAK;表明从站暂时不准备接收:SYN SYN WACK,9.2.3 BSC数据透明性和同步 BSC规程原本是为传输纯文本消息设计的;但是用户希望它具有一定的兼容性,使得能够传输类似程序和图画等非文本信息和命令的二进制序列。不幸的是,这种报文可能给BSC传输带来问题:传输中文本信息中可能包括一个看来与BSC规程的控制字符一样的8比特字符模式。,1.BSC数据透明性 数据通信中的数据透明性意味着必须能够把任何比特组合在不被错认是控制字符的前提下当作数据传送。BSC规程中的数据透明性实现过程:字节填充,通过数据链路转义(DLE)字符定义透明文本区域
25、以及在透明文本区域内的DLE字符之前加上一个附加的DLE字符。为定义透明区域,需要在文本字段开始的STX字符之前插入一个DLE字符,,并且在文本字段结束的ETX字符前也插入一个DLE字符。第一个DLE字符告诉接收方透明区域结束了。如果透明区域内含有一个作为文本的转义符DLE,那么仍然会出现问题。在这种情况下,就在文本中的每个DLE字符前插入一个DLE字符。如图9-12为透明帧的一个例子。,图9-12 字节填充,2.数据同步 BSC是同步规程,数据以字符块方式传送。BSC同步在每个数据报文的开头进行,以两个SYN字符开始,SYN是接口硬件能识别的用以识别字符同步的唯一模式。同步过程:,BSC采用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据通信规程 数据通信 规程 PPT 课件
链接地址:https://www.31ppt.com/p-5519727.html