2.6 高级数据链路控制协议HDLC
2.6.1 数据链路连接管理方式
数据链路(DataLink)是指可以用来传输数据的链路,它包含两方面的内容:
一是一条物理链路,二是一些必要的协议。或者说,把实现数据传输协议的硬件
和软件加到链路上,就形成了数据链路。
数据链路层的功能是计算机网络中最基本的功能,是任何网络都必有的层
次,也是最成熟的层次。数据链路层的控制规程是在不太可靠的物理链路基础
上实现可靠的数据传输,也就是在物理链路的支持下要重点考虑数据传输的可
靠性。
在计算机网络中,数据链路层的主要功能是为网络层提供连接服务。其基
本的连接管理方式有两种:面向连接的服务和无连接的服务。
1.面向连接的服务
面向连接的服务也称连接型服务,这种服务方式把一次数据传送过程分为
3个阶段:
�建立数据链路,让双方的链路层都同意并作好传送准备;
�传送数据帧,将网络层移交的数据传输到对方;
�拆除数据帧,拆除数据链路的连接。
在通常情况下,面向连接的服务在数据传送阶段对每个帧都要进行确认,发
送方收到确认标志信号后才能发送下一个帧。这种确认称为应答。应答有3种
方式:
�正向应答,只在接收到正确帧时才返回ACK,其他情况不应答,靠超时重发;
�负向应答,只在接收到受损帧时才返回NAK;
�双向应答,既可返回ACK,也可返回NAK。
面向连接的服务也有无应答的情况。
2.无连接的服务
在这种服务中,发送前不建立连接,源主机可以在任何时候发送链路层数据
单元。无连接的服务可以有应答和无应答两种情形:
�有应答,目的主机的数据链路层接收帧时要进行帧校验,并向发送方返
回应答;
· 2 5 · 第1篇 计算机网络组成原理
�无应答,目的主机接收到帧即将其交给网络层。
2.6.2 HDLC的配置和数据传输工作方式
为了适应不同配置和不同的数据传输方式,HDLC定义了3种类型的站、2
种链路配置和3种数据传输方式。
1.通信站
(1)主站
主站的主要功能是发送命令(帧),也接收响应帧,负责对整个链路进行控
制。在一个通信链路上,同一时刻只有一个站作为主站。
(2)次站
次站接收来自主站的命令(帧),并向主站发送响应帧。次站受主站控制,只
能同主站交换数据,而不能同其他次站交换数据。
(3)复合站
复合站兼有主站和次站的功能,既能发送命令帧,又能接收命令帧,能对全
链路进行控制。
2.两种链路配置
(1)非平衡配置
非平衡配置是由主站和次站组成的链路,适用于点到点、点到多点的通信,
支持半双工或全双工通信。
(2)平衡配置
平衡配置是由两个复合站组成的链路,支持半双工或全双工通信,仅适用于
点到点的通信。
3.HDLC数据传输工作方式
当通信站处于信息传送状态时,一般有3种数据传输的工作方式:
(1)正常响应方式(NRM)
NRM是用于非平衡配置的数据传输方式,只有主站才可以把数据传送给次
站,而次站只能传输响应信号。
(2)异步平衡方式(ABM)
ABM是用于平衡配置的数据传输方式,在没有接收其他复合站指令信号的
情况下,任何复合站均可以先开始传输数据。
(3)异步响应方式(ARM)
ARM是用于非平衡配置的数据传输方式,当主站没有明确发送等待命令的情
况下,次站可以先开始传送数据,但主站仍然具有对通信链路的指挥管理功能。
· 3 5 · 第2章 链路上的通信技术
2.6.3 HDLC帧格式
链路上的全部传输都是以帧的形式进行的,帧是数据链路协议的数据单元。
HDLC帧结构如图2.38所示,它由报头、数据字段、报尾三部分组成。
图2.38 HDLC帧结构
在帧的组成中,除数据字段外,其他都是控制信息,下面介绍这些控制信息
的用途。
1.帧同步控制与透明传输
数据链路层中的帧同步控制,就是从接收到的比特流中正确地判断一个帧
的开始和结束。HDLC中采用8位的标志F(Flag)来作为帧的开始和结束标志,
它们都为“01111110”。
在两个标志字段之间,完全有可能出现与标志字段相同的字段,即出现
“01111110”,这样系统就有可能将其作为结束符,从而出现错误。为此,在发送
一个帧时,若发现有“0”后面跟着5个“1”,就加一个“0”,以区别标志F。在接收
过程中,先确定帧的起止边界,然后对比特流进行扫描,发现连续的5个“1”,就
将其后的1个“0”删除,将比特流还原。这样,出现任何比特组合都不会引起对
帧边界的错误判断。具有这种特点的传输称为透明传输。
2.寻址
HDLC在帧中设置8位的地址字段来填写次站(对非平衡式)或应答站(对
平衡式)的地址。在256个可用地址中,有两个特殊地址:全“1”为广播方式,全
“0”为无效地址。其余254个地址表明一条链路上最多可以连接254个次站。
一般情况下256个地址足够使用了。在特殊情况下,如分组无线电的用户很多
时,可以对地址字段进行扩充。
3.差错控制
HDLC设置16位的帧校验序列(FCS,FrameCheckSequence)字段,采用循环
· 4 5 · 第1篇 计算机网络组成原理
冗余校验,生成多项式G(x)=x
16
+x
12
+x
5
+1。图2.38标出了校验区间A,C,
Info。
4.发送序号和接收序号
发送序号和接收序号主要用于监视所传送的信息帧有无丢失或重发。由3
位的N(S)和N(R)编号,分别可以编排8个序号。N(S)为发送序号(只有信息帧
中才有)。N(R)为期望接收到的对方发来帧的接收序号,带有确认的意思,可以
在发送信息帧中捎带确认信息。
5.数据与控制信息的识别
HDLC规定了3种帧:
(1)信息帧,C字段的第1位为“0“,主要用于完成数据传输和捎带确认信息。
(2)监督帧,C字段的第1位和第2位分别为“1”和“0”,用于监视链路的常
规操作,共4种———接收端的就绪(RR)、未就绪(RNR)、拒绝(REJ)和选择拒绝
(SERJ),由两位的S字段取值决定。监督帧也可以捎带确认信息。
(3)无编号帧,C字段的第1位和第2位分别为“1”,用两个M字段的编号
表示不同的无编号帧,主要用于链路的建立、释放、恢复、响应等。由于不带有N
(S)和N(R),所以称为无编号帧。
6.询问/终止
P/F(Poll/Final)为询问/终止。主站或复合站向次站或复合站发出的命令帧
中,P为1,表示询问,允许对方发送数据。次站或复合站响应询问,可以发一连
串的响应帧,但若将F置1,表示为最后一个响应帧,传送终止。