HDLC
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
概述
刘文龙 (北京理工大学 信息与电子学院) 学号 2120110886
摘要:不同企业和不同公司的产品越来越先进,单板也越来越复杂,单板与单板之间,与终端之间数据传输的容量与可靠性要求也越来越高,简单的通讯方式满足不了要求的。HDLC链路控制协议是现在常见的同步协议,为使不了解它的人有一个初步的认识,本文对数据链路层的HDLC协议进行综述介绍,主要内容包括HDLC的发展数据链路控制协议,HDLC协议的主要内容、存在的技术
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
以及HDLC的应用和发展前景等。并重点介绍了HDLC的基本概念及帧格式。如果想进一步了解,可以参考和查阅其他相关资料。
关键词:HDLC,数据链路层,帧格式,帧结构
一 HDLC概述
1.1 HDLC的发展历史
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。1974年,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control)。
随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:
1* ANSI的高级通信控制过程ADCCP(Advanced Data Control Procedure),
2* ISO的高级数据链路控制规程HDLC(High-level Data Link Contl)。
从此,HDLC协议开始得到了人们的广泛关注,并开始应用于通信领域的各个方面。
1.2 HDLC的特点
HDLC是面向比特的数据链路控制协议的典型代表,有着很大的优势:
1* HDLC协议不依赖于任何一种字符编码集;
2* 数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
3*全双工通信,有较高的数据链路传输效率;
4*所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高;
5*传输控制功能与处理功能分离,具有较大灵活性。
由于以上特点,目前网络设计及整机内部通讯设计普遍使用HDLC数据链路控制协议。HDLC已经成为通信领域额不可缺少的一个重要协议。
二 数据链路层的控制规程
2.1数据链路结构
数据链路结构可以分为两种:点-点链路和点-多点链路,如图1所示。图中数据链路两端DTE称为计算机或终端,从链路逻辑功能的角度常称为站,从网络拓扑结构的观点则称为节点。
在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站。在点-多点链路中,往往有一个站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况,其余各站则为受控站。
2.2 数据链路控制规程功能
数据链路层是OSI参考模型的第二层,它在物理层提供的通信接口与电路连接服务的基础上,将易出错的数据电路构筑成相对无差错的数据链路,以确保DTE与DTE之间、DTE与网络之间有效、可靠地传送数据信息。为了实现这个目标,数据链路控制规程的功能应包括以下几个部分:
1*帧控制
数据链路上传输的基本单位是帧。帧控制功能要求发送站把网络送来的数据信息分成若干码组,在每个码组中加入地址字段、控制字段、校验字段以及帧开始和结束标志,组成帧来发送;要求接收端从收到的帧中去掉标志字段,还原成原始数据信息后送到网络层。
2*帧同步
在传输过程中必须实现帧同步,以保证对帧中各个字段的正确识别。
3*差错控制
当数据信息在物理链路中传输出现差错,数据链路控制规程要求接收端能检测出差错并予以恢复,通常采用的方法有自动请求重发ARQ和前向纠错两种。采用ARQ方法时,为了防止帧的重收和漏收,常对帧采用编号发送和接收。当检测出无法恢复的差错时,应通知网络层做相应处理。
4*流量控制
流量控制用于克服链路的拥塞。它能对链路上信息流量进行调节,确保发送端发送的数据速率与接收端能够接收的数据速率相容。常用的流量控制方法是滑动窗口控制法。
5*链路管理
数据链路的建立、维持和终止,控制信息的传输方向,显示站的工作状态,这些都属于链路管理的范畴。
6*透明传输
规程中采用的标志和一些字段必须独立于要传输的信息,这就意味着数据链路能够传输各种各样的数据信息,即传输的透明性。
7*寻址
在多点链路中,帧必须能到达正确的接收站。
8*异常状态恢复
当链路发生异常情况时,如收到含义不清的序列或超时收不到响应等,能自动重新启动,恢复到正常工作状态。
2.3 数据链路层协议
数据链路控制规程,根据帧控制的格式,可以分为面向字符型、面向比特型。
1*面向字符型
国际标准化组织制定的ISO 1745、IBM公司的二进制同步规程BSC以及我国国家标准GB3543-82属于面向字符型的规程,也称为基本型传输控制规程。在这类规程中,用字符编码集中的几个特定字符来控制链路的操作,监视链路的工作状态,例如,采用国际5号码中的SOH、STX作为帧的开始,ETX、ETB作为的结束,ENQ、EOT、ACK、NAK等字符控制链路操作。面向字符型规程有一个很大的缺点,就是它与所用的字符集有密切的关系,使用不同字符集的两个站之间,很难使用该规程进行通信。面向字符型规程主要适用于中低速异步或同步传输,很适合于通过电话网的数据通信。
2*面向比特型
ITU-T制定的X.25建议的LAPB、ISO制定的HDLC、美国国家标准ADCCP、IBM公司的SDLC等均属于面向比特型的规程。在这类规程中,采用特定的二进制序列01111110作为帧的开始和结束,以一定的比特组合所表示的命令和响应实现链路的监控功能,命令和响应可以和信息一起传送。所以它可以实现不编码限制的、高可靠和高效率的透明传输。面向比特型规程主要适用于中高速同步半双工和全双工数据通信,如分组交换方式中的链路层就采用这种规程。随着通信的发展,它的应用日益广泛。
三HDLC协议
3.1 HDLC的基本概念
3.1.1主站、从站、复合站
HDLC涉及三种类型的站,即主站、从站和复合站。
1*主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
的控制、差错检测或恢复等。
2*从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
3*复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。
3.1.2 HDLC链路结构
在HDLC中,对主站、从站和复合站定义了三种链路结构,如图2所示
图2 HDLC链路结构类型
3.2 HDLC协议的主要内容
3.2.1 HDLC帧结构
HDLC的帧格式如图3所示,它由六个字段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段I。
图3 HDLC帧结构
1*标志序列(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 10 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 比特填充
当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。
2*地址字段(A)
地址字段表示链路上站的地址。在使用不平衡方式传送数据时(采用NRM和ARM),地址字段总是写入从站的地址;在使用平衡方式时(采用ABM),地址字段总是写入应答站的地址。
地址字段的长度一般为8bit,最多可以表示256个站的地址。在许多系统中规定,地址字段为“11111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有254个之多,这对一般的多点链路是足够的。但考虑在某些情况下,例如使用分组无线网,用户可能很多,可使用扩充地址字段,以字节为单位扩充。在扩充时,每个地址字段的第1位用作扩充指示,即当第1位为“0”时,后续字节为扩充地址字段;当第1位为“1”时,后续字节不是扩充地址字段,地址字段到此为止。
3*控制字段(C)
控制字段用来表示帧类型、帧编号以及命令、响应等。从图5-11可见,由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧,它们具体操作复杂,在后面予以介绍。另外控制字段也允许扩展。