计算机网络体系结构及协议之数据链路控制协议

计算机网络体系结构及协议之数据链路控制协议,第1张

计算机网络体系结构及协议之数据链路控制协议,第2张

3.3.4数据链路控制协议
 
  数据链路控制协议也称链路通信规程,也就是岱I参考模型中的数据链路层协议。路控制协议可分为异步协议和同步协议两大类。
异步协议以字符为独立的信息传输单位,在每个字符的起始处开始对字符内的比特实现同步,但字符与字符之间的间隔时间是不固定的(即字符之间是异步的)。由于发送器和接收器中近似于同一频率的两个约定时钟,能够在一段较短的时间内保持同步,所以可以用字符起始处同步的时钟来采样该字符中的各比特,而不需要每个比特再用其它方法同步。前面介绍过的"起一止"式通信规程便是异步协议的典型,它是靠起始位(逻辑0)和停止位(逻辑1)来实现字符的定界及字符内比特的同步的。异步协议中由于每个传输字符都要添加诸如起始位、校验位、停止位等冗余位,故信道利用率很低,一般用于数据速率较低的场合。
同步协议是以许多字符或许多比特组织成的数据块一一帧为传输单位,在帧的起始步,使帧内维持固定的时钟。由于采用帧为传输单位,所以同步协议能更有效地利用信道,也便于实现差错控制、流量控制等功能。
同步协议又可分为面向字符的同步协议、面向比特的同步协议及面向字节计数的同步协议三种类型。其中面向字节计数的同步协议在本节前面的帧同步功能中已做了较详细的介绍,下面介绍另外两种同步协议。

1.面向字符的同步控制协议

  面向字符的同步协议是最早提出的同步协议,其典型代表是IBM公司的二进同步通信部BSC(Binary Synchronous Communication)协议。随后,ANSI和ISO都提出了类似的相应标准。,任何链路层协议均可由链路建立、数据传输和链路拆除三部分组成。为实现建链、拆链等链路管理以及同步等各种功能,除了正常传输的数据块和报文外,还需要一些控制字符。BSC协议用ASCII或EBCDIC字符集定义的传输控制字符来实现相应的功能。这些传输控制字符的标记、名称及ASCII码值和EBCDIC码值见表3.3.

各传输控制字符的功能如下:

  SOH(Start of Head):序始,用于表示报文的标题信息或报头的开始。
  STX(Start d Text):文始,标志标题信息的结束和报文文本的开始。
  ETX (End of Text):文终,标志报文文本的结束。
  EOT (End d Transmission):送毕,用以表示一个或多个文本块的结束,并拆除链路。
  ENQ(Enquire):询问,用以请求远程站给出响应,响应可能包括站的身份或状态。
  ACK (Acknowledge):确认,由接收方发出的作为对正确接收到报文的响应。
  DLE (Data Link EScape):转义,用以修改紧跟其后的有限个字符的意义。在BSC中实现透明方式的数据传输,或者当10个传输控制字符不够用时提供新的转义传输控制字符。NAK (Negative Acknowledge):否认,由接收方发出的作为对未正确接收的报文的响应。
  SYN(Synchronous):同步字符,在同步协议中,用以实现节点之间的字符同步,或用于在无数据传输时保持该同步。
ETB (End of Transmission Block):块终或组终,用以表示当报文分成多个数据块时?
一个数据块的结束。
  BSC协议将在链路上传输的信息分为数据报文和监控报文两类。监控报文又可分为正向监控和反向监控两种。每一种报文中至少包含一个传输控制字符,用以确定报文中信息的性质或实现某种控制作用。

  数据报文一般由报头和文本组成。文本是要传送的有效数据信息,而报头是与文本传送及处理有关的辅助信息,报头有时也可不用。对于不超过长度限制的报文可只用一个数据块发送,对较长的报文则分作多块发送,每一个数据块作为一个传输单位。接收方对于每一个收到的数据块都要给以确认,发送方收到返回的确认后,才能发送下一个数据块。mc协议的数据块有如下四种格式:
 (1)不带报头的单块报文或分块传输中的最后一块报文:


  (2)带报头的单块报文:


  (3)分块传输中的第一块报文:


  (4)分块传输中的中间报文:

  BSC协议中所有发送的数据均眼在至少两个SYN字符之后,以使接收方能实现字符同步。报头字段用以说明数据报文字段的包识别符(序号)及地址。所有数据块在块终限定符(ETX或EIB)之后还有块校验字BCC(Block Check Character),BCC可以是垂直奇偶校验或16位CRC,校验范围从町X开始到ETX或m为止。

当发送的报文是二进制数据而不是字符串时,二进制数据中形同传输控制字符的比特串将会引起传输混乱。为使二进制数据中允许出现与传输控制字符相同的数据(即数据的透明性),可在各帧中真正的传输控制字符(SYN除外)前加上DLE转义字符,在发送时,若文本中也出现与DLE字符相同的二进制比特串,则可插入一个外加的DLE字符加以标记。在接收端则进行同样的检测,若发现单个的DLE字符,则可知其后为传输控制字符;若发现连续两个DLE字符,则知其后的DLE为数据,在进一步处理前将其中一个删去。

正、反向监控报文有如下四种格式:

  (1)肯定确认和选择响应:


  (2)否定确认和选择响应:


  (3)轮询/选择请求:


  (4)拆链:

监控报文一般附传输控时或由若干个其时时单个传输控时组成。引导字符统称为前缀,它包含识别符(序号)、地址信息、状态信息以及其它所需的信息NAK监控报文的作用,首先是作为对先前所发数据块是否正确接收的响应,因而包含识别符(序号);其次,用做对选择监控信息的响应,以ACK表示所选站能接收数据块,而NAK表壁示不能接收。ENQ用做轮询和选择监控报文,在多站结构中,轮询或选择的站地址在ENQ符前。EOT监控报文用以标志报文交换的结束,并在两站点间拆除逻辑链路。
由于BSC协议与特定的字符编码集关系过于密切,故兼容性较差。为满足数据透明性而采用的字符填充法,实现起来也比较麻烦,且也依赖于所采用的字符编码集。另外,由于BSC是一个半双工协议,它的链路传输效率很低。不过,由于BSC协议需要的缓冲存储空间较小,因而在面向终端的网络系统中仍然被广泛使用。

  2.面向比特的同步控制协议这里以Im的高级数据链路控制规程HDLC(High一level Data Link CoNTrol)协议为例来讨论面向比特的同步控制协议的一般原理与操作过程。作为面向比特的数据链路控制协议的典型,EBLC具有如下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,达用于实现透明传输的"0比特插入法"易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行顺序编号,,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性。由于以上特点,目前网络设计普遍使用HDLC作为数据链路控制协议。

 (1)HDLC的操作方式。HDLC是通用的数据链路控制协议,在开始建立数据链路时允许选用特定的操作方式。所谓操作方式,通俗地讲就是某站点是以主站方式操作还是以从站方式操作,或者是二者兼备。
链路上用于控制目的的站称为主站,其它的受主站控制的站称为从站。主站负责对数据流进行组织,并且对链路上的差错实施恢复。由主站发往从站的帧称为命令帧,而由从站返回回主站的帧称响应帧。连有多个站点的链路通常使用轮询技术,轮询其它站的站称为主站,而在点一点链路中每个站均可为主站6主站需要比从站有更多的逻辑功能,所以当终端与主机相连时,主机一般总是主站。在一个站连接多条链路的情况下,该站对于一些链路而言可能是主站,而对另外一些链路而言又可能是从站。有些站可兼备主站和从站的功能,这种站称为组合站,用于组合站之间信息传输的协议是对称的,即在链路上主、从站具有同样的传输控制功能,这又被称做平衡操作。相对的,那种操作时有主站、从站之分的,且各自功能高温不同的操作,称为非平衡操作。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机网络体系结构及协议之数据链路控制协议

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情