HDLC协议原理及其应用概述
摘要:数据链路层的主要功能是在物理层的数字比特流或字节流上传输信息帧,而高级数据链路控制HDLC(High-level Data Link Control)规程是通信领域现阶段应用十分广泛的一个数据链路层协议。HDLC是面向比特的数据链路控制协议的典型代表,它是由国际标准化组织(ISO)定制的,为在数据链路层上操作提供了一系列的标准。本文介绍了HDLC协议的发展历史、主要内容、存在的标准及其应用和发展前景。
关键词:数据链路层、HDLC协议
引言
根据通信的功能,整个通信过程可以分为若干层,每一层的对等协议通过使用下层服务对齐上层提供服务。其中数据链路层在物理层提供服务的基础上向网络层提供透明的和可靠的数据传输服务。为此,数据链路层必须具备一系列相应的功能,主要有:将数据组合成帧,并向帧中插入地址或协议类型信心;提供差错控制以确保可靠的传输;提供流量控制,以避免接收端缓冲区溢出;提供链路管理控制功能。
数据链路层的协议可以分为两类:面向字符的协议和面向比特的协议。其中HDLC(高级数据链路控制)就是一种重要的面向比特的数据链路层协议。
一.HDLC的发展历史
最早的数据链路层协议是面向字符的,有很多缺点:控制报文和数据报文格式不一样;采用停止等待方式,效率低;只对数据部分进行差错控制,可靠性较差;系统每增加一种功能就需要设定一个新的控制字符。为克服这些缺点,上世纪七十年代初,IBM公司推出了著名的体系结构SNA。在SNA的数据链路层规程采用了面向比特的规程SDLC(Synchronous Data Link Control)。所谓“面向比特”就是帧首部中的控制信息不是由几种不同的控制字符组成,而是由首部中各比特的值来决定。由于比特的组合是多种多样的,因此DLC协议能够满足各种用户的不同需求。此外,SDLC还使用同步传输,效率比异步传输有了很大的提高。后来ISO把SDLC修改后成为HDLC(High-level Data Link Control),作为国际标准ISO 3309。我国相应的标准是GB 7496。CCITT则将HDLC再修改后称为链路接入规程LAP(Link Access Procedure),并作为X.25建议书的一部分。不久,HDLC的新版本又把LAP修改为LAPB,“B”表示平衡型(Balanced),所以LAPB叫做链路接入规程(平衡型)。
二.协议的主要内容
(1)HDLC的定义
HDLC(High-level Data Link Control):高级数据链路控制规程,是一组用于在网络节点间传送数据的协议,是在数据链路层中广泛使用的一种协议。在HDLC协议中,数据被组成一个个的单元(称为帧),通过网络传输,由接收方确认
收到,同时HDLC协议也管理数据流和数据发送的间隔时间。HDLC协议中每帧所传输的数据可以含有任意数量的比特位,而且帧的开始和结束是靠约定的比特模式(标志)来定界的,是一种“面向比特”的协议。
(2) HDLC的特点
HDLC是面向比特的数据链路层控制协议的典型代表。该协议的主要特点是:
①不依赖于任何一种字符编码集,数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
②全双工通信,有较高的数据链路传输效率;
③所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重复,传输可靠性高;
④传输控制功能与处理功能分离,具有较大灵活性。
(3) HDLC的线路配置
HDLC的线路配置方式分为非平衡配置和平衡配置两种。
①非平衡配置方式
非平衡配置方式下的主站控制数据链路的工作过程并发出命令;从站接受命令,发出响应,配合主站工作。又分为点到点链路和多点链路。
②平衡配置方式
该方式下的组合站(combined station)同时具有主站和从站的功能;每个组合站都能发出命令和响应。平衡配置方式中,链路两端的两个站都是组合站。(4)HDLC的传输模式
①非平衡配置方式中的传输模式分为正常响应模式和异步响应模式两种。
正常响应模式NRM(Normal Response Mode):该操作方式适用于面向终端的点到点或一点与多点的链路。传输过程由主站启动,从站只有收到主站某个命令帧后,才能作为响应向主站传输信息。主站负责管理整个链路,且具有轮询、选择从站及向从站发送命令的权利,同时也负责对超时、重发及各类恢复操作的控制;
异步响应模式ARM(Asynchronous Response Mode):ARM下的传输过程由从
站启动。从站主动发送给主站的一个或一组帧中可包含有信息,也可以是仅以控制为目的而发的帧。在这种传输模式下,由从站来控制超时和重发。该方式对采用轮询方式的多站链路来说是必不可少的。
②平衡配置方式中的传输模式
平衡配置结构中只有异步平衡模式ABM (Asynchronous Balanced Mode );ABM 是一种允许任何节点来启动传输的传输模式。为了提高链路传输效率,节点之间在两个方向上都需要的较高的信息传输量。在这种模式下任何时候任何站都能启动传输操作,每个站既可作为主站又可作为从站,每个站都是组合站。各站都有相同的一组协议,任何站都可以发送或接收命令,也可以给出应答,并且各站对差错恢复过程都负有相同的责任。
(5)HDLC 的帧结构
HDLC 的帧格式如下图所示,它由六个字段组成,这六个字段可以分为五种类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。
1)F :标志字段。HDLC 指定采用01111110为标志序列,用于标志帧的开始和结束;
2) A :地址字段。地址字段表示链路上站的地址,它只能表明一个地址。在使用非平衡方式传输传送数据时(NRM 和ARM),地址字段总是写从站的地址;在使用平衡方式时(ABM),地址字段总是写入应答站的地址;
3) C :控制字段。该字段中的第1位或第1、2位表示传送帧的类型,用于区分帧的类型、帧编号以及命令、响应。HDLC 帧分为:信息I 帧、监控S 帧、无序号U 帧。其中,信息帧和监视帧提供差错控和流量控制,用于完成数据链路控制的只要功能。控制字段的格式如下图所示:
4) I :信息字段。携带高层用户数据,及SDU ,可以是任意的二进制位串;
标志 地址 控制 信息 校验码 标志
信息帧 I-Frame 监控帧 S-Frame 无序号帧 U-Frame