标记 SOH STX ETX EOT ENQ ACK DEL NAK SYN ETB
名称 序始 文始 文终 送毕 询问 确认 转义 否认 同步 块终
ASCII码值 01H 02H 03H 04H 05H 06H 10H 15H 16H 17H
EBCDIC码值 01H 02H 03H 37H 2DH 2EH 10H 3DH 32H 26H
各传输控制字符的功能如下:
SOH(START OF hEAD):序始,用于表示报文的标题信息或报头的开始。
STX(Start of test):文始,标志标题信息的结束和报关文本的开始。
ETX(End of Text):文终,标志报文文本的结束。
EOT(End of Transmission):送毕,用以表示一个或多个文本的结束,并拆除链路。
ENQ(Enquire):询问,用以请求远程站给出响应,响应可能包括站的身份或状态。
ACK(Acknowledge):确认,由接收方发出的作为对正确接收到报文的响应。
DLE(Data Link Escape):转义,用以修改紧跟其后的有限个字符的意义。在BSC中
实现透明方式的数据传输,或者当10个传输控制字符不够用时提供新的转义伟输控制字符。
NAK(Negative Acknowledge):否认,由接收方发出的作为对未正确接收的报文的响应。
SYN(Synchronous):同步字符,在同步协议中,用以实现节点之间的字符同步,或用于
在无数据传输时保持该同步。
ETB(End of transmission Block):块终或组终,用以表示当报文分成多个数据块的结束。
BSC协议将在链路上传输的信息分为数据和监控报文两类。监控报文又可分为正向监控和反向监控两种。每一种报文中至少包括一个传输控制字符,用以确定报文中信息的性质或实现某种控制作用。
数据报文一般由报头和文本组成。文本是要传送的有效数据信息,而报头是与文本传送及处理有关的辅助信息,报头有时也可不用。对于不超过长度限制的报文可只用一个数据块发送,对较长的报文则分作多块发送,对较长的报文则分作多块发送,每一个数据块作为一个传输单位。接收方对于每一个收到的数据块都要给以确认,发送方收到反回的确认后,才能发送下一个数据块。
BSC协议的数据块有如下四种格式:
(1)不带报头的单块报文或分块传输中的最后一块报文:
┈┈ SYN SYN STX 报文 ETX BCC
(2)带报头的单块报文:
┈┈ SYN SYN SOH 报头 STX 报文 ETX BCC
(3)分块传输中的第一块报文:
┈┈ SYN SYN SOH 报头 STX 报文 ETB BCC
(4)分块传输中的中间报文:
┈┈ SYN SYN STX 报文 ETB BCC
BSC协议中所有发送的数据均跟在至少两个SYN字符之后,发使接收方能实现字符同步。报头字段的包识别符及地址。所有数据块在块终限定符(ETX或ETB)之后还有块校验字符BCC(block check character),bcc可以是垂直奇偶校验或者说16位CRC,校验范围从STX开始到ETX或ETB为止。
当发送的报文是二进制数据库而不是字符串时,二进制数据中形同传输控制字符的比特串将会引起传输混乱。为使二进制数据中允许出现与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符,在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个外加以标记。在接收端则进行同样的检测,若发现单个的DLE字符,则可知其后为传输控制字符;若发现连续两个DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。
正、反向监控报文有如下四种:
(1)肯定确认和选择响应: (2)否定确认和选择响应:
SYN SYN ACK
SYN SYN NAK
(3)轮询/选择请求: (4)拆链:
SYN SYN P/S前缀 站地址 ENQ
SYN SYN EOT
监控报文一般由单个传输控制字符或由若干个其它字符引导的单个传输控制字符组成。引导字符统称为前缀,它包含识别符(序号)、地址信息、状态信息以及其它所需信息。ACK和NAK监控报文的作用,首先是作为对先前所发数据块是否正确接收的响应,因而包含识别符(序号);其次,用做对选择监控信息的响应,以ACK表示所选站能接收数据块,而NAK不能接收。ENQ用作轮询和选择监控报文,在多站结构中,轮询或选择的地址在ENQ字符前。EOT监控报文用以标志报文交换的结束,并在两站点间拆除逻辑链路。
由于BSC协议与特定的字符编码集关系过于密切,故兼容性较差。为满足数据透明性而采用的字符填充法,实现起来比较麻烦,且依赖于所采用的字符编码集。另外,由于BSC是一个半双工协议,它的链路伟传输效率很低。不过,由于BSC协议需要的缓冲存储空间较小,因而在面向终端的网络系统中仍然被广泛使用。
2、面向比特的同步协议
这里以ISO的高级数据链路控制规程HDLC协议为例,来讨论面向比特的同步控制协议的一般原理与操作过程。面向比特的数据链路控制协议的典型,HDLC具有发以下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。由于以上特点,目前网络设计普遍使用HDLC数据链路控制协议。
(1)HDLC的操作方式。HDLC是通用的数据链路控制协议,在开始建立数据链路时,允许选用特定的操作方式。所谓操作方式,通俗地讲就是某站点是以主站点方式操作还是以从站方式操作,或者是二者兼备。 链路上用于控制目的的站称为主站,其它的受主站控制的站称为从站。主站对数据流进行组织,并且对链路上的差错实施恢复。由主站发往从站的帧称为命令帧,而从从站返回主站的帧称为响应帧。连有多个站点的链路通常使用轮询技术,轮询其它站的站称为主站,而在点-点链路中每个站均可为主站。主站需要比从站有更多的逻辑功能,所以当终端与主机相连时,主机一般总是主站。在一个站连接多个链路的情况下,该站对于一些链路而言可能是主站,而对于一些链路而言又可能是从站。有些站可兼备主站和从站的功能,这种站称为组合站,用于组合站之间信息传输的协议是对称的,即在链路上主、从站具有同样的传输控制功能,这又称作平衡操作。相对的,那种操作时有主站、从站之分的,且各自功能不同的操作,称为非平衡操作。
HDLC中常有的操作方式有以下三种:
①正常响应方式NRM(Norma Responses Model) 。这是一非平衡数据链路方式,有时也称非平衡正常响应方式。该操作方式适用于面向终端的点—点或一点与多点的链路。在这种操作方式中,传输过程由主站启动,从站只有收到主站某个命令帧后,才能作出响应向主站传输信息。响应信息可以由一个或多个帧组成,若信息由多个帧组成,则应指出哪一个是最后一帧 。主站负责整个链路,且具有轮询、选择从站及向从站发送命令的权利,同时也负责对超时、重发及各类恢复操作的控制。
②异步响应方式ARM Asynchronous Responses Mode)这也是一种非平衡数据链路操作方式,与NRM不同的是,ARM下的传输过程由从站启动。从站主的动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧。在这种操作方式,与NRM不同的是,ARM下的传输过程由从站启动。从站主的动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧。在这种操作方式下,由从站来控制超时和重发。该方式对采用轮询方式的多站链路来说是必不可少的。
③异步平衡方式ABM(Asynchronous Balanced Mode).这是一种允许任何节点来启动传输的操作方式。为了提高链路传输效率,节点之间在两个方向上都需要有较高的信息传输量。在这种操作方式下,任何时候任何站点都能启动传输操作,每个站点既可作为主站又可作为从站,即每个站都是组合站。各站都有相同的一组协议,任何站点都可以发送或接收命令,也可以给出应答,并且各站对差错恢复过程都负有相同的责任。
(2)HDLC的帧格式。在HDLC中,数据和控制报文均以帧的标准格式传送。HDLC中的帧类似于BSC字符块,但BSC协议中的数据报文和控制报文是独立传输的,而HDLC中命令和响应以统一的格式按帧传输。完整的HDLC帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成,其格式如下:
标志
地址 控制 信息 帧校验序列 标志
F
01111110
A
8位
C
8位
I
N位
FCS
16位
F
01111110