HDLC协议原理及其概述
北京理工大学 数字通信技术研究所 黄英杰
摘要:HDLC:High Level Data LinkControl(高级数据链路控制规程)。是面向比特的数据链路控制协议的典型代表,它是由国际标准化组织(ISO)定制的,为在比特同步物理层上的数据链路操作提供了一系列的标准。HDLC传输的数据以二进制数据组成,不存在任何特殊的控制代码,但是帧中包含了控制和响应命令。它不仅支持全双工传输,具有较高的吞吐率。还适合于点对点和多点(多路播送或一对多)连接。HDLC是通信领域现阶段应用十分广泛的一个数据链路层协议。
关键词:HDLC;协议; 数据链路层.
1.概述
1.1 HDLC的发展历史
1974年,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data LinkControl)。
随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:
1.ANSI的ADCCP(高级通信控制过程);
2.ISO 把 SDLC 修改后称为 HDLC (High-level Data LinkControl),译为高级数据链路控制,作为国际标准ISO 3309。
从此,HDLC协议开始得到了人们的广泛关注,并开始应用于通信领域的各个方面。
1.1HDLC的基本概念
1.2.1HDLC的定义
HDLC(High Level Data LinkControl):高级数据链路控制规程,是一组用于在网络节点间传送数据的协议, 是在数据链路层中广泛使用的一种协议。在 HDLC 协议中, 数据被组成一个个的单元 ( 称为帧) , 通过网络传输, 由接收方确认收到, 同时 HDLC 协议也管理数据流和数据发送的间隔时间。HDLC 协议中每帧所传输的数据可以含有任意数量的比特位, 而且帧的开始和结束是靠约定的比特模式( 标志) 来定界的, 是一种“面向比特”的协议。
1.2.2HDLC的特点
HDLC是面向比特的数据链路控制协议的典型代表,有着很大的优势:
1.HDLC协议不依赖于任何一种字符编码集;
2.数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
3.全双工通信,有较高的数据链路传输效率;
4.所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高;
5.传输控制功能与处理功能分离,具有较大灵活性。
由于以上特点,目前网络设计及整机内部通讯设计普遍使用HDLC数据链路控制协议。
2.数据链路控制协议的概述
2.1数据链路控制协议的功能
数据链路层是OSI参考模型的第二层,它在物理层提供的通信接口与电路连接服务的基础上,将易出错的数据电路构筑成相对无差错的数据链路,以确保DTE与DTE之间、DTE与网络之间有效、可靠地传送数据信息。为了实现这个目标,数据链路控制协议的功能应包括以下几个部分:
l 帧同步: 在传输过程中必须实现帧同步,以保证对帧中各个字段的正确识别;
l 差错控制: 当数据信息在物理链路中传输出现差错,数据链路控制协议要求接收端能检测出差错并予以恢复.通常采用的方法有自动请求重发ARQ和前向纠错两种;
l 流量控制: 流量控制用于克服链路的拥塞, 常用的流量控制方法是滑动窗口控制法;
l 链路管理: 如数据链路的建立、维持和终止,控制信息的传输方向,显示站的工作状态;
l 透明传输:协议中采用的标志和一些字段必须独立于要传输的信息,这就意味着数据链路能够传输各种各样的数据信息,即传输的透明性;
l 寻址:在多点链路中 帧必须能到达正确的接收站;
异常状态恢复:当链路发生异常情况时,能自动重新启动,恢复到正常工作状态。
2.2数据链路控制协议的分类
为了适应数据通信的需要,ISO、ITU-T以及一些国家和大的计算机制造公司,先后制定了不同类型的数据链路控制协议。根据帧控制的格式,可以分为面向字符型和面向比特型[1]。
l面向字符型
面向字符型也称为基本型传输控制协议,它是用字符编码集中的几个特定字符来控制链路的操作,监视链路的工作状态。面向字符型协议最大缺点是与所用的字符集有密切的关系,使用不同字符集的两个站之间很难使用该协议进行通信。面向字符型协议主要适用于中低速异步或同步传输,很适合于通过电话网的数据通信;
l面向比特型
ITU-T制定的X.25建议的LAPB、ISO制定的HDLC等均属于面向比特型的协议。
在这类协议中,采用特定的二进制序列"01111110" 作为帧的开始和结束,以一定的比特组合所表示的命令和响应实现链路的监控功能,命令和响应可以和信息一起传送,所以它可以实现不编码限制的、高可靠和高效率的透明传输。
面向比特型协议主要适用于中高速同步半双工和全双工数据通信,如分组交换方式中的链路层就采用这种协议。
3.HDLC协议的主要内容
3.1HDLC的配置和传输模式
数据链路的配置分为非平衡配置和平衡配置两种。
3.1.1非平衡配置方式
l非平衡配置中的主站与从站
主站:控制数据链路的工作过程。主站发出命令;
从站:接受命令,发出响应,配合主站工作。
l非平衡配置方式中的传输模式
非平衡配置方式中的传输模式分为正常响应模式和异步响应模式两种。
正常响应模式(NRM):主站可以随时向从站传输数据帧;从站只有在主站向它发送命令帧进行探询,从站响应后才可以向主站发送数据帧[2];
异步响应模式(ARM):主站和从站可以随时相互传输数据帧;从站可以不需要等待主站发出探询就可以发送数据;主站负责数据链路的初始化、链路的建立、释放与差错恢复等功能。
3.1.2平衡配置方式
l平衡配置方式中的复合站
复合站同时具有主站与从站的功能;每个复合站都可以发出命令与响应。平衡配置方式中,链路两端的两个站都是复合站。
l平衡配置方式中的传输模式
平衡配置结构中只有异步平衡模式(ABM);异步平衡模式的每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的许可。
3.2HDLC的帧结构
HDLC的帧格式如图1所示,它由六个字段组成,这六个字段可以分为五种类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。
1)F:HDLC指定采用01111110为标志序列,称为F标志,所有的帧都必须以F标志开始和结束;
2)A:地址字段。地址字段表示链路上站的地址。在使用非平衡方式传输传送数据时(采用NRM和ARM),地址字段总是写入从站的地址;在使用平衡方式时(采用ABM),地址字段总是写入应答站的地址;
3)C:控制字段。该字段是HDLC的关键。控制字段中的第1位或第1、2位表示传送帧的类型,用于区分帧的类型、帧编号以及命令、响应。HDLC帧分为:信息I帧、监控S帧、无编号U帧。在控制字段。第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧。
4)I:信息字段。携带高层用户数据,可以是任意的二进制位串;
5)FCS:校验码。对A、C、I字段进行循环校验。
由于帧中至少含有A(地址)、C(控制) 和FCS(帧校验序列字段),因此整个帧长度应大于32位。
4.HDLC中存在的问题
4.1"0"位插入/删除技术
如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了"0"位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个"1",就自动插入一个"0"当接收端在接收数据时(除标志字节)如果连续接收到5个"1",就自动将其后的一个"0"删除,以恢复信息的原有形式。这种"0"位的插入和删除过程是由硬件自动完成的,比上述面向字符的"数据透明"容易实现。
4.2HDLC异常结束
若在发送过程中出现错误,则HDLC协议用异常结束(Abort)字符,或称失效序列使本帧作废。在HDLC规程中7个连续的"1"被作为失效字符,当然在失效序列中不使用"0"位插入/删除技术。
HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧信息之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。
5.结论
本文主要研究了HDLC的相关知识,HDLC作为面向比特的数据链路控制协议的典型代表,具有如下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行编号,可防止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。由于以上特点,目前网络设计普遍使用HDLC作为数据链路层协议。HDLC已经成为通信领域额不可缺少的一个重要协议。
6.参考文献
[1]张德民.数据通信.[M]. 北京:科学技术文献出版社.1997.8.
[2]AndrewS.Tanebaum.计算机网络.[M].北京:清华大学出版社.2003.3.
[3]谢希仁.计算机网络.[M].北京:清华大学出版社.2004.2.