ch81二进制同步通信规程.ppt
第8章 数据链路控制规程,8.0 概述8.1 二进制同步通信规程(BSC)8.2 高级数据链路控制(HDLC),8.0 概述,1.数据链路层的主要功能2.数据链路的概念3.数据链路控制规程4.数据通信过程,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标帧控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,在DL层中数据以帧为单位进行数据传送,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标访问控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,能对链路上的信息流量进行调节,能够决定暂停、停止或继续接受信息。,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标访问控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,采用纠错编码技术(CRC)对正确的帧进行认可,对不正确的帧要求重发;为避免重收和漏收,必须采用帧编号进行发送和接收确认。,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标访问控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,控制信息的传输方向,建立和结束链路的逻辑链接、显示站点的工作状态等。,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标访问控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,“透明帧传输”,所谓透明是指某一个实际存在的事物看起来却好像不存在一样。,1.数据链路层的主要功能,在物理层提供的通信线路连接和比特流传输的基础上,在相邻两台计算机之间的链路层上提供可靠和有效的通信 帧同步:bitframe并实现帧同步寻址:在多点连接设备中识别和查找源与目标访问控制流量控制差错控制链路管理透明传输异常状态恢复,管理链路并处理异常,当链路发生异常时,如出错、超时等,要能够自动重新启动恢复到正常工作状态。,2.数据链路的概念,2.数据链路的概念:是由数据电路和两端的通信控制器/传输控制器构成的。ISO-RM定义:按照信息的特定方式进行操作的两个或两个以上的终端装置(DTE)与互连线路的一种组合体。所谓特定方式是指信息速率和编码格式皆相同。数据链路是在数据电路已建立的基础上,通过两端的控制装置使收发双方之间交换握手信号,双方确认后才可开始传输数据。硬件构成软件控制确认后才能数据链路的建立,传输控制:在数据链路层上采取必要的控制手段对数据信息的传输进行控制,使DTE与网络或DTE与DTE之间能够有效、可靠地传输数据信息;传输控制是通过数据链路层协议来完成的。习惯上把DLCP(数据链路层协议)称为数据链路传输控制规程。,Data Link Control Protocol,数据链路控制:通信双方同步的需要载波同步、帧同步和位同步实现同步所必须的规则和约定数据链路控制(机制或协议)。ISO中,数据链路控制的功能是由物理层和数据链路层来完成的。物理层:实现载波同步和位同步数据链路层:实现帧同步,3.数据链路控制规程,3.数据链路控制规程:实现链路控制、管理的相关规范、约定和协议等两种主要的数据链路控制规程:BSCSDLC、HDLC,常用的数据链路层协议(1),数据链路层协议分类面向字符的链路层协议ISO的IS1745,基本型传输控制规程及其扩充部分(BM和XBM)IBM的二进制同步通信规程(BSC)DEC的数字数据通信报文协议(DDCMP)PPP,常用的数据链路层协议(2),面向比特的链路层协议IBM的SNA使用的数据链路协议SDLC(Synchronous Data Link Control protocol);ANSI修改SDLC,提出ADCCP(Advanced Data Communication Control Procedure);ISO修改SDLC,提出HDLC(High-level Data Link Control);CCITT修改HDLC,提出LAP(Link Access Procedure)作为X.25网络接口标准的一部分,后来改为LAPB。,数据链路控制规程,两种主要的数据链路控制规程:面向字符型协议链路上传输的数据必须由规定的字符集中的字符组成,包括控制与同步信息必须由该字符集中若干指定的控制字符组成。BSC:Binary Synchronous Control面向比特型协议传输的所有数据信息由位组成SDLC:Synchronous Data Link ControlHDLC:High Data Link Control,4.数据通信过程,在一个数据链路上进行通信过程通常分为五个阶段:1 在公用交换网络上建立连接2 建立数据链路,包括交换、探询和选择三个阶段3 传送数据信息4 结束,包括返回中性状态、返回控制状态和断开三个子阶段5 公用交换网络拆线;其中阶段(1)和(5)是公用交换网络上完成的操作,故数据链路控制规程通常包括对中间三个阶段的控制与管理。,阶段1:建立物理连接(由公用交换网络完成)所谓物理连接就是物理层的若干数据电路的互连;数据电路可以是交换型的,也可以是专用线路;对于专用线路,一般称为租用线路,在通信双方之间提供永久性的固定连接,本阶段没有操作;对交互型数据电路,必须按照交互网络的要求进行呼叫连接,为电路网V.25和数据网X.21等呼叫应答规程。,阶段2:建立数据链路在这个阶段为了能可靠而有效地传输数据信息,收发双方也要交换一些特别信息,包括呼叫对方是否是所要通信的对象;确定接收和发送状态:哪方为发送状态,哪方为接收状态;指定双方的I/O设备。阶段3:数据传送在这个阶段按照规定的格式组织数据信息,并按规定的顺序向新建立的数据链路的对方发送,同时进行差错控制、流量控制等,以保证透明和无差错地传送数据信息。,阶段4:传送结束,拆除数据链路通过规定的结束字符来拆除数据链路。需要注意的是拆除数据链路并不是拆除物理连接,该阶段结束后可以再次进入阶段(2)建立新的数据链路(一个数据通信可以建立一个/多个DL)阶段5:拆除物理链接由公用交换网络完成在数据通信中,当数据链路的物理连接是交换型电路时,数据传送结束后,只要任何一方发出拆除信号便可拆除通信线路,双方数据端恢复到初始状态。,8.1 二进制同步通信规程(BSC),8.1.1 控制字符8.1.2 帧格式8.1.3 数据透明性和同步8.1.4 数据链路结构及建立,8.1 二进制同步通信规程(BSC),BSC(Binary Synchronous Communication)是IBM研制的一种典型的面向字符的DLCP1968年开始用于IBM Computer System,主要目的将远程批处理终端和视频显示终端集中控制的连接到IBM主机上。,BSC是一种半双工通信规程,通信可以在两个方向上交替进行。BSC是第一个支持多点共享线路和点到点结构的通用数据链路控制规程:,数据站,在数据链路中引用了站(station)的概念,站是数据链路两端用来完成数据传输的终端装置,可以是DTE/DCE。数据站(简称站,station),负责发送和接收帧。BSC涉及几个站的概念:主站和从站:通常把保证数据传送的那个站叫做主站。把从主站那里得到数据的那个站叫从站。在一次通信连接中,一个站可以交替倒换为主站或从站,但在某段时间里一条数据链路上只有一个主站。控制站:用于管理的站,做诸如探询、选择和异常处理之类的工作。辅助站(又叫被控站):除控制站以外的其他站都是辅助站。,BSC是一种字符控制规程,对代码很敏感,使用ASCII或EBCDIC等编码字符进行链路控制:并且采用特殊字符分隔各种信息段通过BSC信道传送的每个字符都要在接受端译码,以判别它是一个控制/用户数据。,8.1.1 控制字符,控制字符,任何数据链路层规程均可由链路建立、数据传输和链路拆除三个部分组成。为了实现链路建立、拆除等链路管理及同步等功能,除了正常传输的数据报之外,BSC还需要一些控制字符。BSC使用的控制字符如表8.1所示,CCITT建议用ASCII/IA5表示。,BSC使用的控制字符,SOH:Start of heading标题开始标题是信息报文中正文之前的字符序列,它由表示路由、优先权、保密措施和报文编号等组成,SOH不允许出现在正文中。STX:Start of Text信息报文正文开始报文分成若干码组时,每组均以STX开始。ETX:End of Text信息报文结束由发送端发送,报文被分组时,只有最后一组报文使用ETX结束。,BSC使用的控制字符,EOT:End of Transmission表示数据传输的结束EOT由发送端发出。ENQ:Enquiry询问,用来请求远程站给出应答。ACK:Acknowledge确认由接受端发往发送端,作为对状态询问及报文的肯定应答。,BSC使用的控制字符,NAK:Negative Acknowledge由接受端发往发送端,作为对状态询问及报文的否定应答。DLE:Data Linking Escape 数据链路转义用来改变后续一定数目字符的意义,组成转义序列(其只能使用图形字符和传输控制字符)SYN:Synchronous Idle同步用于建立和保持收发两端的同步,SYN不能放在DLE之后和与校验码有关系的控制字符中间。,BSC使用的控制字符,ETB:End of Transmission Block数据分组块传输结束仅由发送端送出,但校验码(BCC)仅随其后,但最后一个信息码组的结束必须使用ETX,BSC使用的控制字符,BSC另行规定的三个控制字符:用于紧急情况处理RVI:Receive Information接收方紧急消息用以申请中断(当发送端有紧急任务要发送时)TTD:Temporary Text Delay发送方暂停但未拆除连接。WACK:Wait and Acknowledge等待应答,接收方已经接收完好帧但不能再接收前一帧已接收好但不能再接收下一帧,RNR报文,BSC使用的控制字符,扩充序列:以DLE开头的一些双字符控制序列。DLE EOT 要求拆线表示要求拆除通信线路的传输控制字符序列。DLE0/DLE1 编号确认由接收站到发送站表示肯定应答的传输控制字符序列,用于编号应答方式中。DLE3/12或DLE7/12 站中断从站同步字符序列代替正常的肯定应答,表示从站要求主站尽快停止现行传输的控制字符序列,与RVI有相同的功能。,BSC使用的控制字符,DLE3/11或DLE3/15 要求暂停发送,表示从站暂停时不能接收数据信息,要求主站暂停发送,与TTD功能相同。DLE3/13反向拐入通道表示接收站有优先级高的信息报文要求发送,为接收方获取发送权。STX ENQ延时发送当发送站未准备好发送时即可发出的序列,BSC使用的控制字符,8.1.2 帧格式,BSC规程中线路上传输的信息分为数据帧和监控帧。1.数据帧2.控制帧3.多点结构BSC轮询/选择传输过程,1.数据帧,1.数据帧:报文信息,利用上述编码字符进行数据传送时新规定的排列格式,有四种类型:(1)信息报文基本格式由标题(报头)和正文组成正文:包含要传输的有用数据信息标题/报头:是与报文的正文段的传送和处理相关的一些辅助信息的字符序列,如发信地址、收信地址、信息报文名称、报文级别、编号、传送路径等。,带有报文头的帧,数据帧说明,报文头在SOH字符之后和STX字符之前。文本开始符STX有两个作用,一个是表示报文头结束,另一个表示数据报文开始。数据和文本可以由不同数目的字符组成。文本结束符(ETX)指明了文本和下一个控制符之间的转换。最后,是错误检测字符(BCC),一个BCC域是一个字节长度的纵向冗余校验码(LRC,Longitudinal Redundancy Check)或是两个字节的循环冗余校验码(CRC)。,(2)多块帧,多块帧是把信息报文被分成几块,除最后一块外都由一个STX开始并由一个ETB结束,最后一块以ETX结束,如图8.2所示。,(3)多帧传输,信息报文太长,发送方用多个数据帧来传送,即用几个帧来传输一个信息,除最后一帧外其他帧中文本结束ETX为块传输结束符ETB所代替,如图8.3所示。,多报文头帧:报文头太长仿照多帧传输将报文头分为m组,如图8.4所示。,SYN,SYN,SOH,ETB,报文头组1,SYN,SYN,SOH,ETB,报文头组2,SYN,SYN,SOH,STX,ETX,BCC,信息报文正文,报文头组m,BCC,BCC,(4)多报文头帧,2.控制帧,一个控制帧是一个设备用来向另一个设备发送命令或索取信息的消息,控制帧又分为正向控制帧和反向控制帧两种。正向控制帧:由主站发送到从站去的控制序列,主要用于通信双方间的呼叫应答,以确保信息报文的正常可靠传输;反向控制帧:由从站发送到主站去的控制序列,主要用于对询问的应答和数据链路的控制。,一个控制帧包含有控制字符但没有数据,它携带特定的数据链路层自身功能的信息,其基本格式为:,控制帧主要用来完成三种服务:建立连接在数据传输过程中维护流量和差错控制终止连接 BSC所采用的线路控制编码有:ACK0 ACK1 WACKRVIDISCTTDBSC控制序列的双重含义:取决于主站/从站发出和线路处于控制方式/报文方式。,BSC控制序列的双重含义,3.多点结构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 ACK0否定,表明从站不准备接收SYN SYN NAK表明从站暂时不准备接收:SYN SYN WACK,例1:多点BSC轮询(邀请从站发送)传输过程,SYNSYNEOTAA6ENQ,SYNSYNEOT,SYNSYNBB6ENQ,SYNSYNSOHMHSTXTXTETBBCC,SYNSYNACK1,SYNSYNACK0,SYNSYNSTXTXTETXBCC,SYNSYNEOTAA6ENQ,SYNSYNEOT,SYNSYNEOT,SYNSYNBB6ENQ,SYNSYN,例2:多点BSC选择(主站发送)传输过程,SYNSYNEOTaa1ENQ,SYNSYNNAK,SYNSYNbb1ENQ,SYNSYNACK1,SYNSYNACK0,SYNSYNSTXTXTETXBCC,SYNSYNEOT,数据透明性和同步,BSC规程原本是为传输纯文本消息设计的;但是用户希望它具有一定的兼容性,使得能够传输类似程序和图画等非文本信息和命令的二进制序列。出现的问题:传输中文本信息中可能包括一个看来与BSC规程的控制字符一样的8比特字符模式。(怎么解决?),数据透明性和同步,1.数据透明性2.数据同步,1.数据透明性,数据通信中的数据透明性意味着必须能够把任何比特组合在不被错认是控制字符的前提下当作数据传送。BSC规程中的数据透明性实现过程:字节填充通过DLE定义透明文本区域透明文本区域内的DLE之前加上一个附加的DLE字符。,SYN,SYN,SOH,DLE,STX,DLE,ETX,BCC,在该区域内控制字符可以当做文本一样使用,DLE转义字符开始和结束一个透明文本,透明文本,报 文 头,字节填充,2.数据同步,BSC同步:BSC是同步规程,数据以字符块方式传送,与异步传输不同的是并不是每个传送的字符前面都有同步位。BSC同步在每个数据报文的开头进行,以两个SYN字符开始,SYN是接口硬件能识别的用以识别字符同步的唯一模式。,数据同步,同步过程:位同步:两个连续的PAD字符(交替的0、1)接收方识别两个连续的SYN建立字符同步每个1秒时间间隔自动在头和正文数据中插入同步空转序列非透明数据:SYN SYN透明数据:DLE SYN,所谓链路结构是指数据链路上硬件设备间的关系。1.三种常见的数据链路的结构2.数据通信过程3.数据链路建立方式4.多点结构建链过程的比较,数据链路结构及其建立,1.三种常见的数据链路的结构,1.三种常见的数据链路的结构:点点式:两个站点直接互通,处于同等地位,没有控制站和辅助站之分,把发送数据的站点称做主站,另一个为从站。,多点集中式:多点结构中有一个控制站(负责链路管理,如探询、选择和异常情况处理),其他站皆为辅助站;所有站点中,辅助站只能和控制站通信,这种链路结构称为集中式。多点非集中式:只有一个控制站点,但任意两个站点皆可通信,故称为非集中式。,数据链路结构,2.数据通信过程,在一个数据链路上进行通信过程通常分为五个阶段:1 在公用交换网络上建立连接2 建立数据链路,包括交换、探询和选择三个阶段3 传送信息4 结束,包括返回中性状态、返回控制状态和断开三个子阶段5 公用交换网络拆线;其中阶段(1)和(5)是公用交换网络上完成的操作,故数据链路控制规程通常包括中间三个阶段。BSC协议中也是如此。,3.数据链路建立方式,对不同的数据链路结构,其数据/信息传输控制的方式不同,则建立数据链路的方法也不尽相同。,(1)点点结构:采用争用(contention)方式建立数据链路,其基本的方法是按照“先到先服务(FIFO)”的原则分配线路。每个站点当它已准备好要发送信息或处于中性状态时,都可以发出选择序列,对方站被选择变成从站,而本站即为主站,于是建立起数据链路,特别适合两点直通结构。由于两个站中都可以发出选择序列,为了避免竞争冲突,赋予其中一个站点较高优先级。,数据链路建立方式,(2)多点分支结构:采用探询(邀请发送)/选择(请求接收)方式建立数据链路。对于集中控制方式中由控制站控制所有的辅助站,只允许控制站和辅助站之间进行信息传递,由控制站发送探询/选择序列,引导辅助站发送或接收报文;,数据链路建立方式,对于非集中方式,允许控制站和辅助站之间、辅助站之间进行通信,由控制站向辅助站发送探询序列之后,被探询的辅助站才成为主站,然后主站才能向控制站或其他辅助站发送选择序列,执行选择过程。,数据链路建立方式,探询过程:集中式:由控制站按一定顺序依次引导辅助站变成主站的过程;探询只能由控制站执行,被探询的辅助站收到探询序列之后才成为主站;然后主站(被探询的辅助站)就可以向控制站发送信息报文。非集中式:被探询的辅助站成为主站之后还应再向控制站或其他辅助站发送选择序列。探询的方法又分为轮流探询(Roll Polling)和传递探询(Hub Polling)两种类型,(3)探询,1.软件存储探询表2探询表决定辅助站的探询次序3被探询站如果无信息发送,则该站不变成主站,并回答“不”(SYN SYN EOT);继续探询下一个站。4被探询站如果有信息发送,该站变成主站。,Host,数据控制过程,M,M,M,M,M,M,N,B,A,Modem,输出,输入,Roll Polling,1.由控制站探询第一个辅助站2被探询站如果有信息发送,建立起辅助站和控制站之间的数据链路,开始传送报文;但消息传送完毕,则由它向下一种发出探询。3被探询站如果无信息发送,则由它把探询传递给第2个站。,Host,数据控制过程,M,M,N,Modem,B,M,M,B,B,M,M,A,B,输出,输入,Hub Polling,选择过程:由主站用选择序列引导一个或多个从站接收信息报文的过程。它只能由主站来执行。在进行选择时,可以给出一个站地址或使用“广播地址”来选择一个或多个从站。选择按实现的方法又分成两种方式:选择保持式快速选择式,(4)选择,选择保持式:主站发送一个选择序列(选择地址和ENQ)给一个或多个站;等待选择的从站应答:如果应答为ACK,表明该站可以接受信息,则建立起数据链路,把信息报文送给从站;如果应答为NAK,表明该站不可以接受信息,数据链路不能建立。,快速选择方式:没有单独选择从站建立链路的过程。主站将信息报文直接随着一次选择发送给从站,无须等待对方回答,节省时间,但差错恢复过程复杂。,4.多点结构建链过程的比较,非集中式:通过探询选择过程来建立数据链路探询操作由控制站执行选择操作由控制站或辅助站(主站)来执行集中式:控制站发送报文,则自动成为主站,建立链路过程不需探询操作辅助站发送报文,则通过探询操作使辅助站变成主站,但此时不需选择操作(信息传输只能在主站和控制站之间进行)。,几种链路建立方式的比较,争用方式优点是传输时延迟小;缺点只适合两点直接结构,且信息到达终端次序任意,需要重新排序。探询/选择方式辅助控制操作影响效率,但建链方式灵活,适合于多种结构。,