• 高级数据链路控制(规程)  High-Level Data Link Control

    High-Level Data Link Control(HDLC) 高级数据链路控制(规程 )(HDLC) HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是由国际标准化组织(ISO)制订的。HDLC是IBM的同步数据链路控制规程(SDLC)的一个超集。SDLC是由BISYNC通信协议发展成功的,起初是通过IBM的系统网络结构(SNA)产品推出。HDLC的另外一个名字叫高级数据通信控制规程(ADCCP),这个名字是由美国国家标准协会(ANSI)命名的,但是HDLC却更为广大用户接受。由于供应商的不同,SDLC和HDLC之间存在不兼容性。

    HDLC是面向位的,这意味着数据是一位一位地监控的,传输的数据以二进制数据组成,不存在任何特殊的控制代码,但帧中的信息包含了控制和响应命令。HDLC支持全双工传输,在同一时刻,数据在两个方向上传输,导致了较高的吞吐率。HDLC适合于点对点和多点(多路播送或一对多)连接。HDLC的子集被用来向X.25、ISDN和帧中继网提供信令和控制数据链路。

    当建立一个HDLC会话时,一个称为主站(primary station)的站点就用来管理数据的流动。其他的站点就称为从站(secondary station),主站发出命令,从站作出响应。存在三种可能的连接方法,如图H-4所示。上面的两种连接既支持两个系统之间的点对点(point-to-point)连接,也支持一个主站和两个或多个从站之间的多点(multipoint)连接。

    通常模式是非平衡的,因为从站仅在主站许可的情况下,才能传输数据。

    异步模式是非平衡的,但是从站可以在自己一方启动一次传输。

    异步平衡模式是为在一条双工线路上实现两台计算机之间的点对点连接而设计的。每个站点能在它自己的线路上发送命令和响应,并且在双工线路上接收命令和响应。这种模式被用来将站点连接到X.25分组交换网。

    HDLC帧为通信系统之间发送数据和命令与响应消息定义了结构。帧结构如图H-5所示,下面我们将讨论一下帧中的各字段含义。

    标志字段包含01111110位序列,它指明了HDLC帧的开始和结束。如果帧中数据的任何一部分有多于5个1的位序列,这时就通过零位插入(zero-bit insertion)技术在这个序列中插入一个零,以确保数据不会被当作标志。

    地址字段一般包含从站的地址。通常是8位,但有可能因为多点连接(包括许多不同的地址)而扩展地址字段。在这个字段中还可以插入广播地址,从而可以把消息发往多点连接上的所有站点。

    控制字段指明帧中的信息是数据、命令还是响应。主站发送命令而从站发送响应。控制信息可以是帧应答、帧重传请求、传输挂起请求和其他一些命令以及响应。

    通讯会话由主站和从站之间的连接建立开始。主站向一个或多个站点传送一幅特别的帧来启动建立过程。从站以在会话期间用作错误和流控的信息作为响应。当一切就绪时,数据传输就开始了。当数据传输终止时,主站就会发送一个帧来解除会话连接。

    正如上面提到的那样,HDLC是X.25分组交换网的数据链路层控制的基础。但是CCITT又为X.25另外定义一个链路访问过程平衡(LAPB)协议,它是HDLC的子集。LAPB是为点对点的连接设计的,所以不必用地址字段来标识从站。它为异步平衡模式会话提供了帧结构、错误和流控机制。HDLC的另外一个子集是链路访问过程D信道(LAP-D)协议,该协议与综合业务数字网(ISDN)相联。D信道是信令信道,用来控制数据流通过两个B信道。可以把B信道看作为两条独立的电话线,而把D信道作为建立呼叫的线路。

    相关条目:Link Access Procedure 链路访问过程;Synchronous Communications 同步通信;Synchronous Data Link Control同步数据链路控制(规程)。