一 HDLC概述
1.1 HDLC的发展历史
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。1974年,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control)。
随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:
1* ANSI的高级通信控制过程ADCCP(Advanced DataControl Procedure),
2* ISO的高级数据链路控制规程HDLC(High-level Data LinkContl)。
从此,HDLC协议开始得到了人们的广泛关注,并开始应用于通信领域的各个方面。
1.2 HDLC的特点
HDLC是面向比特的数据链路控制协议的典型代表,有着很大的优势:
1* HDLC协议不依赖于任何一种字符编码集;
2* 数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
3*全双工通信,有较高的数据链路传输效率;
4*所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高;
5*传输控制功能与处理功能分离,具有较大灵活性。
由于以上特点,目前网络设计及整机内部通讯设计普遍使用HDLC数据链路控制协议。HDLC已经成为通信领域额不可缺少的一个重要协议。
二 数据链路层的控制规程
2.1数据链路结构
数据链路结构可以分为两种:点-点链路和点-多点链路。
在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站。在点-多点链路中,往往有一个站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况,其余各站则为受控站。
2.2 数据链路控制规程功能
数据链路层是OSI参考模型的第二层,它在物理层提供的通信接口与电路连接服务的基础上,将易出错的数据电路构筑成相对无差错的数据链路,以确保DTE与DTE之间、DTE与网络之间有效、可靠地传送数据信息。为了实现这个目标,数据链路控制规程的功能应包括以下几个部分:
1*帧控制
数据链路上传输的基本单位是帧。帧控制功能要求发送站把网络送来的数据信息分成若干码组,在每个码组中加入地址字段、控制字段、校验字段以及帧开始和结束标志,组成帧来发送;要求接收端从收到的帧中去掉标志字段,还原成原始数据信息后送到网络层。
2*帧同步
在传输过程中必须实现帧同步,以保证对帧中各个字段的正确识别。
3*差错控制
当数据信息在物理链路中传输出现差错,数据链路控制规程要求接收端能检测出差错并予以恢复,通常采用的方法有自动请求重发ARQ和前向纠错两种。采用ARQ方法时,为了防止帧的重收和漏收,常对帧采用编号发送和接收。当检测出无法恢复的差错时,应通知网络层做相应处理。
4*流量控制
流量控制用于克服链路的拥塞。它能对链路上信息流量进行调节,确保发送端发送的数据速率与接收端能够接收的数据速率相容。常用的流量控制方法是滑动窗口控制法。
5*链路管理
数据链路的建立、维持和终止,控制信息的传输方向,显示站的工作状态,这些都属于链路管理的范畴。
6*透明传输
规程中采用的标志和一些字段必须独立于要传输的信息,这就意味着数据链路能够传输各种各样的数据信息,即传输的透明性。
7*寻址
在多点链路中,帧必须能到达正确的接收站。
8*异常状态恢复
当链路发生异常情况时,如收到含义不清的序列或超时收不到响应等,能自动重新启动,恢复到正常工作状态。