首页 理论教育 HDLC协议详解-计算机网络原理

HDLC协议详解-计算机网络原理

时间:2023-11-17 理论教育 版权反馈
【摘要】:HDLC协议的帧格式和控制域如图4.4.1所示。图4.4.1HDLC的帧格式和控制域在HDLC的帧格式中,F域的编码为01111110,它是帧的开始和结束的标志,用于帧的同步;A域为地址域,用于多点链路,放置地址编码;C域为控制域,用于表示命令和响应的类型和功能,如顺序号、应答等,其子格式与帧的类型有关;I域是要发送的数据;FCS域是用CRC—CCITT多项式表示的CRC校验字段。按照HDLC规定,正常情况下,两个站要完成数据交换,须有建立链路、数据传送和

HDLC协议详解-计算机网络原理

网络都有其特有的数据链路控制协议,但总的来说,70年代以前多为面向字符型的协议,而70年代以后多采用面向比特型的协议。面向比特型的协议是设计用来满足多种数据链路的要求及其它一些实用目标的。其主要特点为:

①能用于多种链路:点—点及多点链路,可半双工也可以全双工,可为主-次站(如主机-终端),也可为同等站(计算机-计算机),链路的a值可大(卫星链路)也可小(近距直连链路);

②能透明地传输任何形式的上层比特组合数据,可使用任何编码;

③有强有力的差错检测及恢复的措施,能保证数据安全;

④能报告不在运行的机器和出故障的链路控制过程,使高层协议有可能排除这些故障;

⑤采用高效的差错控制信息流控制方法,帧格式可使额外开销的比特最少。

满足这些要求和目标的关键是位置性意义及编码的控制字段。所谓位置性意义是指帧结构的每个字段都有其特定意义,且其位置相对于帧的定界符来说是固定的。所谓编码的控制字段是指该字段中各种比特组合有特殊意义,且使用了具有位置性意义的子字段。

目前使用的一些非常相似的面向比特的协议有:国际标准化组织ISO提出的高级数据链路控制规程HDLC,已被CCITT作为X.25的帧级协议的一部分的平衡链路存取规程LAP—B,由ANSI(美国国家标准协会)研制,并已被接受为与国防有关的美国国家通信系统标准的高级数据通信控制规程ADCCP.另外,与HDLC很相似的同步数据链路控制规程SDLC虽不是标准,但仍在许多系统,特别是IBM的系统中广泛使用。HDLC和ADCCP之间实际上没有区别,而LAP—B则是HDLC的一个子集,但又具有各自的特点。HDLC协议的帧格式和控制域如图4.4.1所示。

图4.4.1 HDLC的帧格式和控制域

在HDLC的帧格式中,F域的编码为01111110,它是帧的开始和结束的标志,用于帧的同步;A域为地址域,用于多点链路,放置地址编码;C域为控制域,用于表示命令和响应的类型和功能,如顺序号、应答等,其子格式与帧的类型有关;I域是要发送的数据;FCS域是用CRC—CCITT多项式表示的CRC校验字段。

该协议靠位填充来实现数据的透明性。为了区分F和与F有相同编码的数据,在发送时,在帧中除F域外的任何其它部分的所有连续的5个“1”之后插入一个“0”,在接收时再将插入的“0”删去,如图4.4.2所示。

HDLC的运行包括在主站与次站,或两个主站之间的信息帧(I帧,Information)、监控帧(S帧,Supervisiory)和无编号帧(U帧,Unnumbered)的交换。为了描述HDLC的操作,先介绍这三种类型的帧。

图4.4.2 0的插入和删除

I帧用于发送上层的数据,而S帧和U帧仅用于链路控制,其帧格式中不包括I域,它们的控制域的编码也不相同,不同的编码组成各种命令帧和响应帧。

HDLC协议提供了三种可供选择的链路工作方式,以适应不同链路的需要:

①正常响应模式(NRM),适用于一个主站与若干次站的多点链路结构,次站只有在被主站轮询时才能向主站发送;(www.xing528.com)

②异步响应模式(ARM),用于一个主站和一个次站的链路结构,次站不经主站允许就可发送,但主站承担链路的建立与拆除;

③异步平衡方式(ABM),适用于双方是合站(即无主从之分,地位平等)的平等通信。

在信息帧中,此协议有三个比特的顺序号区域,若用协议5形式的滑窗协议,则任一时刻未应答的帧可多达7个。图4.4.1中的N(S)即为顺序号,而N(R)为搭载应答,但应答的不是最后一个正确接收帧的顺序号,而是期望接收帧的顺序号。这只是一种习惯,只要双方保持一致即可。经过扩展,顺序号区域可增加到11比特,因而窗口可增大到127.1帔中有一个P/F位,即轮询(Poll)/结束(Final)位,它的主要作用是作为主、次站查询和传输结束的标识,对主站而言是P位,对次站而言是F位。当主站允许次站发送时,给P位置1,当次站发送到最后一帧时,给F位置1。根据协议的不同,P/F有时也用于协调S帧和U帧的交换。

监控帧用于信息流控制和差错控制,既可以使用回退n ARQ(REJ),也可使用选择重发ARQ(SREJ)。但由于后者要求缓冲存储,故较少采用。在没有1帧可搭载应答时,可以用“接收就绪”(RR)来对一个帧进行肯定应答。此外,“接收未就绪”(RNR)也可用来应答一帧,但这要求发方直到收到随后的RR之前不再发送1帧。

无编号帧可提供多种控制功能。这些帧不带序号,因而不改变带序号帔的次序和流动。主要有以下几类:

①模式设置命令和响应

模式设置命令由主站或合站发送,以初始化或改变次站或合站的工作方式,后者通过无编号应答(即响应)来确认接收。命令包括SNRM(Set Normal Response Mode)、SARM(Set Asynchronous Response Mode)、SABM(Set Asynchronous Balanced Mode)、SNRME、SARME及SABME(Extended,即前三种命令的扩充模式)。SIM(Set Initial Mode)用于置定初始化模,DISC(DISConnect)为拆链命令。此外还有DM(Disconnect Mode)、RIM(Request Initial Mode)、RD(Request Disconnect)等响应。

②信息传送命令和响应

信息传送命令和响应用于站间的信息交换,可用无编号信息帧(UI)做到这一点。无编号帧信息的例子有:较高层的状态、操作中断、时间及链路初始化参数等。还有无编号查询(UP)命令,其用于征求无编号响应,是一种确定站的状态的方法。

③恢复命令和响应

恢复命令在正常ARQ不适应或不能工作时采用。帧拒收(FRMR)响应用于报告接收到帧的错误,如无效控制字段、无效计数等;重置(RSET)命令用于清除FRMR的情况。

④其它命令和响应

其它命令的例子有XID(交换标识)和TEST(测试)命令/响应。XID用于交换两个站的标识和特点,TEST则用于测试链路是否正常工作。

按照HDLC规定,正常情况下,两个站要完成数据交换,须有建立链路、数据传送和拆链三个阶段。一般情况为:

以上只是简单地介绍了HDLC,更详细、更充分的资料请参考有关标准文本。

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

我要反馈