HDLC协议概述
摘要
本文首先介绍了HDLC的发展历史以及HDLC协议的链路配置、帧结构等内容,并对现存的HDLC标准和其应用范围及发展前景进行了概述。
关键词
HDLC协议数据链路层标准
正文
一、HDLC发展历史
高级数据链路控制(High-level data link control),简称HDLC,是一个在同步网上传输数据、面向比特的数据链路层协议。
60年代,英国NPL网首先提出分组交换的概念。之后,美国的ARPA网采用分组交换的方式运行。计算机网络纷纷出现,但原来用于终端到计算机之间的通信的控制规程都是以字符为基础的,它们往往难以满足计算机到计算机之间的通信要求。70年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control),SDLC是IBM 系统网络体系结构Systems Network Architecture(SNA)数据链路层的协议。随后,美国国家标准化协会ANSI将SDLC修改为ADCCP(Advanced Data Control Procedure)做为国家标准;ISO将修改后的SDLC称为高级数据链路控制HDLC(High-level Data Link Contl),并将它做为国际标准。HDLC与基本型规程相比较,它的主要进步在于引入一个标志F(01111110)和一个0比特插入机构,使传输数据的控制机构简单,并把面向比特的能力引入传输机构。
国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。OSI 参考模型将整个网络通信的功能划分为七个层次,它们由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
HDLC协议
数据链路层,把从物理层来的原始数据打包成帧。数据链路层负责帧在计算机之间的无差错传递。在ISO标准协议集中,数据链路层采用了HDLC协议。
二、HDLC协议
HDLC是为进行同步或起/止,码透明的数据传输而设计的。两个数据站间进行码透明数据通信的正常周期由数据源到数据宿信息帧的传送和反向确认帧的传送组成。通常在包含数据源的数据站接收到确认之前,应把原来的信息保存在存储器中,以便需要重传时使用。数据源和数据宿之间的数据顺序完整性用编号方法实现。数据链路上每个数据源/数据宿的组合采用独立的编号方法。数据宿采用把所期望的顺序编号通知数据源的办法来实现确认功能。
(一)、适用链路
HDLC规程适用于不平衡和平衡数据链路。
1、不平衡数据链路
一条不平衡数据链路包含两个或多个数据站。为了达到控制目的,数据链路上的有一个数据站负责组织数据流并负责处理不可恢复的数据链路层差错情况。负有这种责任的站,在不平衡连接方式数据链路中称为主站,在不平衡无连接方式数据链路中称为控制站。
2、平衡数据链路
一条平衡数据链路只包含两个数据站。为了达到控制目的,每一个数据站都负责组织数据流并负责处理各自发起的传输中所产生的不可恢复的数据链路层差错状态。
(二)、数据链路配置
高级数据链路控制(HDLC)规程的类别是描述数据链路操作的一些方法。这些方法允许在各种逻辑配置和物理配置的数据站间进行同步的或起/止的、码透明的数据传输。这些规程类别在整个HDLC体系结构中,以一致的方式定义。HDLC标准目的之一是在不平衡规程、平衡规程和无连接规程的基本类别问保持最大限度的兼容性,这对具有可配置能力的数据站特别需要,这些数据站按特定通信实例的要求,可具有主站、次站、组合站、控制站、辅助站或对等站的特征。
不平衡类别适用于专用或交换的数据传输设施上,点对点和多点两种配置。不平衡类别的特征是数据链路的一端只有一个主站,而另一端有一个或多个次站,数据链路的管理由主站单独负责。
平衡类别适用于专用或交换的数据传输设施上的点对点配置。平衡类别的特征是在一条逻辑数据链路上,有两个称为组合的数据站,它们对数据链路的管理负有同等责任。
(三)、HDLC帧结构
在HDLC中,都按帧传输。帧可以是基本帧格式也可以是非基本帧格式。基本帧格式和非基本帧格式结构都不包括为了比特同步而插入的比特(即,起始码元和停止码元)或为透明性而插入的比特或八位位组。在同一媒体上不能同时使用基本和非基本帧格式。关于从基本帧格式到非基本帧格式的协商规则。然而,不同格式类型的非基本帧格式有可能同时存在于同一媒体上。
标志序列
所有的帧都必须以标志序列开始和结束。凡是连接到数据链路上的数据站都要不断
搜索这个序列。因而,标志用作帧同步。单个标志可兼作一个帧的结束标志和下一
个帧的开始标志。
地址字段
使用基本帧格式的帧应具有直接紧跟在开始标志后面的一个地址字段。使用非基本
帧格式的帧可以具有一个以上的地址字段。当使用多个地址字段时,它们应以连续
的方式在帧中出现。在命令帧中,地址总是标识该命令所要发往的数据站。在响应
帧中,地址总是标识发出该响应帧的数据站。
控制字段
控制字段指出命令或响应的类型,在适当的场合亦包含序号。控制字段应该用于:
a) 把命令运送到所寻址的数据站,以执行特定的操作。
b) 从所寻址的数据站传送出对上述命令的响应。
信息字段
信息可以是任意的比特序列,在大多数情况下.它具有某一种合适的字符结构,例
八位位组;需要时,其比特数不作规定,且与字符结构无关。对于起/止传输,在
起始码元和停止码元之间应有8比特信息。如果信息字段不是8比特的倍数,最
后剩余的少于一个八位位组的部分将要求填充若干比特以完整该八位位组。
帧检验序列(FCS)字段
规定了三种帧检验序列:8比特帧检验序列、16比特帧检验序列和32比特帧检验
序列。通常使用16比特帧检验序列。8特帧检验序列用在那些经事先商定提供足
够的保或关心开销较长帧检验序列而使用少量帧的场合。32比特帧检验序列用在
事先商定需要比16比特检验序列更高保护度的场合。