理论教育 HDLC及其变种在计算机网络技术中的应用

HDLC及其变种在计算机网络技术中的应用

时间:2023-11-22 理论教育 版权反馈
【摘要】:目前使用单纯的HDLC的场合比较少,基本上都是HDLC的变种。对于目前常见的点到点链路,HDLC实际上仅仅利用了其中的组合站、平衡链路和异步平衡方式的概念。图8-24HDLC帧结构1)帧标志F。HDLC约定,地址11111111为广播地址,用以对全体次站的探询。当次站较多时,HDLC规定地址字段可按8位的倍数进行扩展。P置1,要求对方立即予以响应。

HDLC及其变种在计算机网络技术中的应用

HDLC(高级数据链路控制规程)几乎是目前所有数据链路层协议的原型,属于HDLC家族的协议有:X.25分组交换网中的链路接入协议LAPB;帧中继网络中的数据链路层帧方式接入协议LAPF;调制解调器中的差错控制协议LAPM;在SDH传输网中支持因特网IP协议的LAPS等。在连接广域网的路由器中,以前常常使用HDLC。目前使用单纯的HDLC的场合比较少,基本上都是HDLC的变种。

HDLC的标准制定于1976年,按照当时一台大型计算机带多个终端的结构,HDLC定义了3种类型的站(主站、次站和组合站)、两种通信链路结构(非平衡型和平衡型)、3种数据传输操作方式(正常响应方式、异步响应方式和异步平衡方式)。

主站负有链路控制的责任,次站按照主站的命令进行数据收发,组合站的地位平等。主站实际上是指计算机,次站指终端,组合站的概念类似于现在的主机或网络结点。非平衡链路是指一个主站多个次站的链路结构,平衡链路是指点到点的链路结构。正常响应方式是指次站经主站探询后才能发送数据,异步响应方式是指次站不必经主站探询就可发送数据。异步平衡方式没有主次之分,谁都可以发送数据。对于目前常见的点到点链路,HDLC实际上仅仅利用了其中的组合站、平衡链路和异步平衡方式的概念。

1.HDLC帧结构

HDLC的命令和响应采用统一的帧格式传输。完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)和帧校验字段(FCS)组成,如图8-24所示。

978-7-111-31053-2-Chapter08-25.jpg

图8-24 HDLC帧结构

1)帧标志F。帧标志F(Flag)采用特定的比特组合01111110,用于帧同步和帧间填充。所有的帧必须以F开头,以F结束。相邻帧之间可以是一个F,既作为前面帧的结束,又作为后继帧的开头。

HDLC采用“0”比特插入/删除技术来实现透明传输,即确保在通信链路上除了标志F外,帧中任何地方都不会出现01111110的比特组合。具体做法是:发送端检测两个F之间的帧的内容,如果有连续的5个“1”,就要在5个连“1”之后插入1个“0”。接收端检测所接收的帧,如果发现标志F之间有连续5个“1”,则将其后的“0”删去。图8-25所示为一个“0”比特插入/删除的例子。

978-7-111-31053-2-Chapter08-26.jpg

图8-25 零比特插入删除技术

接收方如果收到连续6个“1”,后面是“0”,则认为遇到标志F。接收方如果收到连续6个以上的“1”时,就可断定发生了异常情况。如果连续“1”的数目为7个以上,接收方就认为传输出错,丢弃该帧。

2)地址字段A。地址字段用于标识次站地址,长度通常为8位。HDLC约定,地址11111111为广播地址,用以对全体次站的探询。地址00000000为测试地址,所有站都不引起动作和响应。当次站较多时,HDLC规定地址字段可按8位的倍数进行扩展。在扩展地址字段时,字节的最低位置“0”,表示后继的字节是扩充地址字段,即最低位是一个“链接位”。最后一个扩充的地址字段字节的最低位置“1”,如图8-26所示。

978-7-111-31053-2-Chapter08-27.jpg

图8-26 扩充地址字段(阴影部分组成真正地址)

对于点到点链路,地址字段无用,常被HDLC的变种协议用于其他用途,如帧中继网络LAPF中的数据链路标识符DLCI等。

3)控制字段C。控制字段定义了帧的类型、帧序号等,用于数据链路的控制。通常为8位,扩展模式下为16位。控制字段的格式如图8-27所示。

978-7-111-31053-2-Chapter08-28.jpg

图8-27 HDLC控制字段的格式

a)8bit控制字段格式 b)16bit控制字段格式

在控制字段中,N(S)为帧的发送序号;N(R)为接收序号,表示已正确接收对方N(R)以前的所有的帧,期望接收对方序号为N(R)的帧。N(S)和N(R)共存于同一个帧内,意味着两站之间可以进行全双工通信,并在发给对方的帧中,顺便携带给对方的应答,这种方法称为“捎带”技术。N(S)和N(R)的编号从0~7,即最大发送窗口尺寸为7。在长时延(如卫星通信)或高速的通信线路上,窗口尺寸显得太小,这时控制字段可采用16位的扩展格式,扩展格式除发送序号和接收序号字段变为7位外,其他字段没有变化。

在控制字段中,P/F是探询/结束位。在命令帧中,P/F作为探询位P。P置1,要求对方立即予以响应。在响应帧中,P/F作为结束位F。F置1,表示该帧是最后一个信息帧,或者该帧是对P置1的帧的响应。

S为监控功能位,定义了4种监控帧。M为无编号功能位,定义了27种无编号帧,提供数据链路管理功能。(www.daowen.com)

4)信息字段I。信息字段可包含任何位序列,长度未作规定,应为8位的倍数。系统一般根据其缓冲器容量的大小,规定一个最大值。

在信息帧中,信息字段为用户的数据。一些无编号帧的信息字段内容为控制、状态信息。监控帧无信息字段。

5)帧检验序列FCS。FCS使用16位或32位的循环冗余校验。一般情况下,使用ITU-T V.41建议推荐的16位生成多项式:CRC-CCITT,即x16+x12+x5+1。计算范围包括A、C、I3个字段。计算时不包括为透明传输而插入的比特。

2.HDLC帧类型

HDLC在帧的控制字段C中定义了3种类型的帧,即信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)。

信息帧用来传送用户数据并捎带确认响应。

监控帧用做流量控制和差错控制。监控帧有4种:RR帧、RNR帧、REJ帧和SREJ帧。

RR帧,即接收就绪(ReceiveReady),提供确认响应,用来表示可以接收I帧,并且通知对方已正确接收了N(R)以前的所有I帧。当己方有信息帧发送时,通常采用捎带技术把确认响应通知给对方。当己方没有信息帧发送时,又需要对对方的帧进行确认,就使用RR帧把确认响应通知给对方。

RNR帧,即接收未就绪(Receive Not Ready),用来表示站处于忙的状态,不能接收后续的I帧,但N(R)-1为止的I帧均已被确认。

REJ帧,即拒绝(Reject),用以请求重发序号为N(R)起始的所有帧,而N(R)-1以前的帧已正确接收,实际上采用的就是返回N-ARQ差错控制方法。

SREJ帧,即选择拒绝(Select Reject),用以请求重发序号为N(R)的单个的帧,而序号到N(R)-1为止的帧均已被确认,实际上采用的就是选择拒绝ARQ差错控制方法。

无编号帧用于链路控制。无编号就是帧没有序号,既无N(S)也无N(R)。

U帧包括命令帧和响应帧,可分为以下几类:初始化设置操作方式、控制信息传送、恢复及其他命令和响应。例如,设置操作方式,是否为扩展模式(控制字段为16位)等。

3.HDLC的操作过程

HDLC按照数据链路控制过程3个阶段来操作:建立链路,传送数据,断开链路。图8-28描述了这3个阶段在主站和次站之间进行通信时所使用的帧类型。总的过程是:HDLC利用无编号帧来建立数据链路;通过互送信息帧,完成主站与次站之间的数据交换,数据传输期间可能会使用监控帧进行差错控制和流量控制;数据传输完毕后,再利用无编号帧断开数据链路。

图2-28所示为一个典型的点到点链路传输过程,图中“SABM,P”表示发送P位设置为1的SABM帧,“I,2,0,P”表示发送N(S)=2、N(R)=3、P位置1的信息帧。

HDLC通过初始化和设置操作方式来建立链路,SABM(设置异步平衡模式)是U帧的一种命令帧,UA(无编号确认)是U帧的一种响应帧。初始化后,双方的序号都置为0,并启动相应的计时器,如重发计时器。

当建立链路后,双方就建立起一个逻辑连接,这时双方可以开始通过信息帧发送用户的数据,帧序号从0开始,以8或128为模顺序编号,取决于使用的是3bit序号还是8bit序号。如果传输正确,就使用RR监控帧进行确认。如果传输出错,就需要使用REJ、SREJ监控帧进行差错控制。

当链路出现某种故障或高层用户发出请求时,任何一方都可以断开链路,通过发送一个DISC(断开)无编号帧宣布连接终止,对方用一个UA(无编号确认)响应帧来接受断开请求,并通知高层用户连接已经终止,这时,所有未被确认的信息帧都会丢失,这些帧的恢复是高层用户的职责。

一般设备通电后,HDLC就开始进行连接,平常都处于数据传输阶段,只有出现故障、进行维护等特殊情况才会断开链路。这与TCP等运输层协议的使用情况是完全不同的,尽管它们都具有面向连接协议的3个阶段。

978-7-111-31053-2-Chapter08-29.jpg

图8-28 HDLC的数据传输过程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈