1.面向字符的同步控制协议 wovmy{K
面向字符的同步协议是最早提出的同步协议,其典型代表是IBM的 ETX(End of Text):文终,标志报文文本的结束。二进同步通信BSC(Binary Synchronous Communication)协议。随后ANSI和ISO都提出了类似的相应标准。 wovmy{K
任何链路层协议均可由链路建立、数据传输和链路拆除三部分组成。位实现建链、拆链等链路管理以及同步等各种功能,除了正常传输的数据块和报文外,还需要一些控制字符。BSC协议用ASCII和EBCDIC字符集定义的传输控制字符来实现相应的功能。这些传输控制字符的标记、名字及ASCII码值和EBCDIC码值见表3.3。 wovmy{K
wovmy{K
各传输控制字符的功能如下: F>*w)6 4~
SOH(START OF hEAD):序始,用于表示报文的标题信息或报头的开始。 F>*w)6 4~
STX(Start of test):文始,标志标题信息的结束和报关文本的开始。 F>*w)6 4~
F>*w)6 4~
EOT(End of Transmission):送毕,用以表示一个或多个文本的结束,并拆除链路。 F>*w)6 4~
ENQ(Enquire):询问,用以请求远程站给出响应,响应可能包括站的身份或状态。 F>*w)6 4~
ACK(Acknowledge):确认,由接收方发出的作为对正确接收到报文的响应。 F>*w)6 4~
DLE(Data Link Escape):转义,用以修改紧跟其后的有限个字符的意义。在BSC中 F>*w)6 4~
实现透明方式的数据传输,或者当10个传输控制字符不够用时提供新的转义伟输控制字符。 F>*w)6 4~
NAK(Negative Acknowledge):否认,由接收方发出的作为对未正确接收的报文的响应。 F>*w)6 4~
SYN(Synchronous):同步字符,在同步协议中,用以实现节点之间的字符同步,或用于 F>*w)6 4~
在无数据传输时保持该同步。 F>*w)6 4~
ETB(End of transmission Block):块终或组终,用以表示当报文分成多个数据块的结束。 F>*w)6 4~
BSC协议将在链路上传输的信息分为数据和监控报文两类。监控报文又可分为正向监控和反向监控两种。每一种报文中至少包括一个传输控制字符,用以确定报文中信息的性质或实现某种控制作用。 F>*w)6 4~
数据报文一般由报头和文本组成。文本是要传送的有效数据信息,而报头是与文本传送及处理有关的辅助信息,报头有时也可不用。对于不超过长度限制的报文可只用一个数据块发送,对较长的报文则分作多块发送,对较长的报文则分作多块发送,每一个数据块作为一个传输单位。接收方对于每一个收到的数据块都要给以确认,发送方收到反回的确认后,才能发送下一个数据块。 F>*w)6 4~
BSC协议的数据块有如下四种格式: F>*w)6 4~
BSC协议中所有发送的数据均跟在至少两个SYN字符之后,发使接收方能实现字符同步。报头字段的包识别符及地址。所有数据块在块终限定符(ETX或ETB)之后还有块校验字符BCC(block check character),bcc可以是垂直奇偶校验或者说16位CRC,校验范围从STX开始到ETX或ETB为止。 F>*w)6 4~
当发送的报文是二进制数据库而不是字符串时,二进制数据中形同传输控制字符的比特串将会引起传输混乱。为使二进制数据中允许出现与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符,在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个外加以标记。在接收端则进行同样的检测,若发现单个的DLE字符,则可知其后为传输控制字符;若发现连续两个DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。 F>*w)6 4~
正、反向监控报文有如下四种: F>*w)6 4~