
HDLC通信协议.doc
15页高级数据链路控制规程HDLC1 / 17第 1 页 共 17 页目 录1.数据链路控制规程 31.1 数据链路结构 31.2 数据链路控制规程功能 31.3 数据链路控制规程分类 42.HDLC基本概念 52.1 主站、从站、复合站 52.2 HDLC链路结构 52.3 操作方式 63.HDLC帧结构 74.控制字段和参数 84.1 信息帧(I帧) 94.2 监控帧(S帧) 94.3 无编号帧(U帧) 104.4 P/F比特的使用 105.HDLC操作 126.HDLC规程的特点 132 / 17第 2 页 共 17 页1.数据链路控制规程1.1 数据链路结构数据链路结构可以分为两种:点-点链路和点-多点链路,如图1所示图中数据链路两端DTE称为计算机或终端,从链路逻辑功能的角度常称为站,从网络拓扑结构的观点则称为节点在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站在点-多点链路中,往往有一个站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况,其余各站则为受控站。
1.2 数据链路控制规程功能 数据链路层是OSI参考模型的第二层,它在物理层提供的通信接口与电路连接服务的基础上,将易出错的数据电路构筑成相对无差错的数据链路,以确保DTE与DTE之间、DTE与网络之间有效、可靠地传送数据信息为了实现这个目标,数据链路控制规程的功能应包括以下几个部分:l 帧控制数据链路上传输的基本单位是帧帧控制功能要求发送站把网络送来的数据信息分成若干码组,在每个码组中加入地址字段、控制字段、校验字段以及帧开始和结束标志,组成帧来发送;要求接收端从收到的帧中去掉标志字段,还原成原始数据信息后送到网络层l 帧同步在传输过程中必须实现帧同步,以保证对帧中各个字段的正确识别l 差错控制3 / 17第 3 页 共 17 页当数据信息在物理链路中传输出现差错,数据链路控制规程要求接收端能检测出差错并予以恢复,通常采用的方法有自动请求重发ARQ和前向纠错两种采用ARQ方法时,为了防止帧的重收和漏收,常对帧采用编号发送和接收当检测出无法恢复的差错时,应通知网络层做相应处理l 流量控制流量控制用于克服链路的拥塞它能对链路上信息流量进行调节,确保发送端发送的数据速率与接收端能够接收的数据速率相容。
常用的流量控制方法是滑动窗口控制法l 链路管理数据链路的建立、维持和终止,控制信息的传输方向,显示站的工作状态,这些都属于链路管理的范畴l 透明传输规程中采用的标志和一些字段必须独立于要传输的信息,这就意味着数据链路能够传输各种各样的数据信息,即传输的透明性l 寻址在多点链路中,帧必须能到达正确的接收站l 异常状态恢复 当链路发生异常情况时,如收到含义不清的序列或超时收不到响应等,能自动重新启动,恢复到正常工作状态1.3 数据链路控制规程分类为了适应数据通信的需要,ISO、ITU-T以及一写国家和大的计算机制造公司,先后制定了不同类型的数据链路控制规程根据帧控制的格式,可以分为面向字符型、面向比特型l 面向字符型国际标准化组织制定的ISO 1745、IBM公司的二进制同步规程BSC以及我国国家标准GB3543-82属于面向字符型的规程,也称为基本型传输控制规程在这类规程中,用字符编码集中的几个特定字符来控制链路的操作,监视链路的工作状态,例如,采用国际5号码中的SOH、STX作为帧的开始,ETX、ETB作为的结束,ENQ、EOT、ACK、NAK等字符控制链路操作面向字符型规程有一个很大的缺点,就是它与所用的字符集有密切的关系,使用不同字符集的两个站之间,很难使用该规程进行通信。
面向字符型规程主要适用于中低速异步或同步传输,很适合于通过网的数据通信5 / 17第 5 页 共 17 页l 面向比特型ITU-T制定的X.25建议的LAPB、ISO制定的HDLC、美国国家标准ADCCP、IBM公司的SDLC等均属于面向比特型的规程在这类规程中,采用特定的二进制序列01111110作为帧的开始和结束,以一定的比特组合所表示的命令和响应实现链路的监控功能,命令和响应可以和信息一起传送所以它可以实现不编码限制的、高可靠和高效率的透明传输面向比特型规程主要适用于中高速同步半双工和全双工数据通信,如分组交换方式中的链路层就采用这种规程随着通信的发展,它的应用日益广泛2.HDLC基本概念2.1 主站、从站、复合站HDLC涉及三种类型的站,即主站、从站和复合站主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制2.2 HDLC链路结构在HDLC中,对主站、从站和复合站定义了三种链路结构,如图2所示。
5 / 17第 5 页 共 17 页图2 HDLC链路结构类型2.3 操作方式根据通信双方的链路结构和传输响应类型,HDLC提供了三种操作方式:正常响应方式、异步响应方式和异步平衡方式l 正常响应方式(NRM)正常响应方式(NRM)适用于不平衡链路结构,即用于点-点和点-多点的链路结构中,特别是点-多点链路这种方式中,由主站控制整个链路的操作,负责链路的初始化、数据流控制和链路复位等从站的功能很简单,它只有在收到主站的明确允许后,才能发出响应l 异步响应方式(ARM)异步响应方式(ARM)也适用于不平衡链路结构它与NRM不同的是:在ARM方式中,从站可以不必得到主站的允许就可以开始数据传输显然它的传输效率比NRM有所提高l 异步平衡方式(ABM)异步平衡方式(ABM)适用于平衡链路结构链路两端的复合站具有同等的能力,不管哪个复合站均可在任意时间发送命令帧,并且不需要收到对方复合站发出的命令帧就可以发送响应帧ITU-T X.25建议的数据链路层就采用这种方式除三种基本操作方式,还有三种扩充方式,即扩充正常响应方式(SNRM)、扩充异步响应方式(SARM)、扩充异步平衡方式(SABM)它们分别与基本方式相对应。
7 / 17第 7 页 共 17 页3.HDLC帧结构HDLC的帧格式如图3所示,它由六个字段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)在帧结构中允许不包含信息字段I 图3 HDLC帧结构l 标志序列(F)HDLC指定采用01111110为标志序列,称为F标志要求所有的帧必须以F标志开始和结束接收设备不断地搜寻F标志,以实现帧同步,从而保证接收部分对后续字段的正确识别另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充在一串数据比特中,有可能产生与标志字段的码型相同的比特组合为了防止这种情况产生,保证对数据的透明传输,采取了比特填充技术当采用比特填充技术时,在信码中连续5个“1”以后插入一个“0”;而在接收端,则去除5个“1”以后的“0”,恢复原来的数据序列,如图4所示比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输数据中某一段比特组合恰好 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 出现和F字段一样的情况 会误认为是F字段 发送端在5个连1之后 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 填入0比特再发送出去 填入0比特在接收端将5个连1之后 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0图4 比特填充7 / 17第 7 页 共 17 页当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。
当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步l 地址字段(A)地址字段表示链路上站的地址在使用不平衡方式传送数据时(采用NRM和ARM),地址字段总是写入从站的地址;在使用平衡方式时(采用ABM),地址字段总是写入应答站的地址地址字段的长度一般为8bit,最多可以表示256个站的地址在许多系统中规定,地址字段为“11111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;全“0”比特为无站地址,用于测试数据链路的状态因此有效地址共有254个之多,这对一般的多点链路是足够的但考虑在某些情况下,例如使用分组无线网,用户可能很多,可使用扩充地址字段,以字节为单位扩充在扩充时,每个地址字段的第1位用作扩充指示,即当第1位为“0”时,后续字节为扩充地址字段;当第1位为“1”时,后续字节不是扩充地址字段,地址字段到此为止l 控制字段(C)控制字段用来表示帧类型、帧编号以及命令、响应等从图5-11可见,由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。
在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧,它们具体操作复杂,在后面予以介绍另外控制字段也允许扩展l 信息字段(I)信息字段内包含了用户的数据信息和来自上层的各种控制信息在I帧和某些U帧中,具有该字段,它可以是任意长度的比特序列在实际应用中,其长度由收发站的缓冲器的大小和线路的差错情况决定,但必须是8bit的整数倍l 帧校验序列字段(FCS)帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内4.控制字段和参数控制字段是HDLC的关键字段,许多重要的功能都靠它来实现控制字段规定了帧的类型,即I帧、S帧、U帧,控制字段的格式如图3所示,其中N(S) 发送帧序列编号8 / 17第 8 页 共 17 页N(R) 期望接收的帧序列编号,且是对N(R)以前帧的确认S 监控功能比特M 无编号功能比特 P/F 查询/结束(Poll/Final)比特,作为命令帧发送时的查询比特,以P位出现;作为响应帧发送时的结束比特,以F位出现。
下面对三种不同类型的帧分别予以介绍4.1 信息帧(I帧)I帧用于数据传送,它包含信息字段在I帧控制字段中b1~b3比特为N(S),b5~b7比特为N(R)由于是全双工通信,所以通信每一方都各有一个N(S)和N(R)这里要特别强调指出:N(R)带有确认的意思,它表示序号为N(。












