网站建设全包,seo与sem的关系,在印度做视频网站,网页制作实训心得一 HDLC概述
1.1 HDLC的发展历史
高级数据链路控制#xff08;High-Level Data Link Control或简称HDLC#xff09;#xff0c;是一个在同步网上传输数据、面向比特的数据链路层协议#xff0c;它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control…一 HDLC概述
1.1 HDLC的发展历史
高级数据链路控制High-Level Data Link Control或简称HDLC是一个在同步网上传输数据、面向比特的数据链路层协议它是由国际标准化组织(ISO)根据IBM公司的SDLC(SynchronousData Link Control)协议扩展开发而成的.其最大特点是不需要数据必须是规定字符集对任何一种比特流均可以实现透明的传输。1974年IBM公司率先提出了面向比特的同步数据链路控制规程SDLCSynchronous Data Link Control。
随后ANSI和ISO均采纳并发展了SDLC并分别提出了自己的标准
1* ANSI的高级通信控制过程ADCCPAdvanced DataControl Procedure
2* ISO的高级数据链路控制规程HDLCHigh-level Data LinkContl。
从此HDLC协议开始得到了人们的广泛关注并开始应用于通信领域的各个方面。
1.2 HDLC的特点
HDLC是面向比特的数据链路控制协议的典型代表有着很大的优势
1* HDLC协议不依赖于任何一种字符编码集
2* 数据报文可透明传输用于实现透明传输的“0比特插入法”易于硬件实现
3*全双工通信有较高的数据链路传输效率
4*所有帧采用CRC检验对信息帧进行顺序编号可防止漏收或重份传输可靠性高
5*传输控制功能与处理功能分离具有较大灵活性。
由于以上特点目前网络设计及整机内部通讯设计普遍使用HDLC数据链路控制协议。HDLC已经成为通信领域额不可缺少的一个重要协议。
二 数据链路层的控制规程
2.1数据链路结构 数据链路结构可以分为两种点-点链路和点-多点链路。 在点-点链路中发送信息和命令的站称为主站接收信息和命令而发出确认信息或响应的站称为从站兼有主、从功能可发送命令与响应的站称为复合站。在点-多点链路中往往有一个站为控制站主管数据链路的信息流并处理链路上出现的不可恢复的差错情况其余各站则为受控站。
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中对主站、从站和复合站定义了三种链路结构。 3.2HDLC协议的主要内容
3.2.1 HDLC帧结构
HDLC的帧格式如图3所示它由六个字段组成这六个字段可以分为五中类型即标志序列F、地址字段A、控制字段C、信息字段I、帧校验字段FCS。在帧结构中允许不包含信息字段I。
1*标志序列F
HDLC指定采用01111110为标志序列称为F标志。要求所有的帧必须以F标志开始和结束。接收设备不断地搜寻F标志以实现帧同步从而保证接收部分对后续字段的正确识别。另外在帧与帧的空载期间可以连续发送F用来作时间填充。
在一串数据比特中有可能产生与标志字段的码型相同的比特组合。为了防止这种情况产生保证对数据的透明传输采取了比特填充技术。当采用比特填充技术时在信码中连续5个“1”以后插入一个“0”而在接收端则去除5个“1”以后的“0”恢复原来的数据序列如图4所示。比特填充技术的采用排除了在信息流中出现的标志字段的可能性保证了对数据信息的透明传输。 数据中某一段比特组合恰好 0 0 1 0 0 11 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 10 0 0 1 0 1 0 填入0比特再发送出去 填入0比特 在接收端将5个连1之后 00 1 0 0 11 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帧它们具体操作复杂在后面予以介绍。另外控制字段也允许扩展。
4*信息字段I
信息字段内包含了用户的数据信息和来自上层的各种控制信息。在I帧和某些U帧中具有该字段它可以是任意长度的比特序列。在实际应用中其长度由收发站的缓冲器的大小和线路的差错情况决定但必须是8bit的整数倍。
5*帧校验序列字段FCS
帧校验序列用于对帧进行循环冗余校验其校验范围从地址字段的第1比特到信息字段的最后一比特的序列并且规定为了透明传输而插入的“0”不在校验范围内。
3.2.2 HDLC的帧类型 1*信息帧帧 信息帧用于传送有效信息或数据通常简称帧。帧以控制字第一位为“0”来标志。 信息帧的控制字段中的NS用于存放发送帧序号以使发送方不必等待确认而连续发送多帧。NR用于存放接收方下一个预期要接收的帧的序号NR5即表示接收方下一帧要接收5号帧换言之5号帧前的各帧接收到。NS和NR均为3位二进制编码可取值。 2*监控帧S帧
监控帧用于监视和控制数据链路完成信息帧的接收确认、重发请求、暂停发送
求等功能。监控帧不具有信息字段。监控帧共有4种表1是这4种监控帧的代码、名称和功能。
表1监控帧的名称和功能 记忆符 名 称 比特 功 能 b2 b3 RR 接收准备好 0 0 确认且准备接受下一帧已收妥N(R)以前的各帧 RNR 接收未准备好 1 0 确认暂停接收下一帧N(R)含义同上 REJ 拒绝接收 0 1 否认否认N(R)起的各帧但N(R)以前的帧已收妥 SREJ 选择拒绝接收 1 1 否认只否认序号为N(R)的帧 可以看出接收就绪RR型S帧和接收未就绪RNR型S帧有两个主要功能首先这两种类型的S帧用来表示从站已准备好或未准备好接收信息其次确认编号小于NR的所有接收到的I帧。拒绝REJ和选择拒绝SREJ型S帧用于向对方站指出发生了差错。REJ帧用于GO-back-N策略用以请求重发NR以前的帧已被确认当收到一个NS等于REJ型S帧的NR的I帧后,REJ状态即可清除。SREJ帧用于选择重发策略当收到一个NS等SREJ帧的NR的I帧时SREJ状态即应消除。
3*无编号帧U帧
无编号帧用于数据链路的控制它本身不带编号可以在任何需要的时刻发出
不影响带编号的信息帧的交换顺序。它可以分为命令帧和响应帧。用5个比特位即M1、M2来表示不同功能的无编号帧。HDLC所定义的无编号帧名称和代码见表2。
表2无编号帧的名称和代码 记忆符 名 称 类型 M1 M2 命令 响应 b3 b4 b6 b7 b8 SNRM 置正常响应模式 C 0 0 0 0 1 SARM/DM 置异步响应模式/断开方式 C R 1 1 0 0 0 SABM 置异步平衡模式 C 1 1 1 0 0 SNRME 置扩充正常响应模式 C 1 1 0 1 1 SARME 置扩充异步响应模式 C 1 1 0 1 0 SABME 置扩充异步平衡模式 C 1 1 1 1 0 DISC/RD 断链/请求断链 C R 0 0 0 1 0 SIM/RIM 置初始化方式/请求初始化方式 C 1 0 0 0 0 UP 无编号探询 C 0 0 1 0 0 UI 无编号信息 C 0 0 0 0 0 XID 交换识别 C R 1 1 1 0 1 RESET 复位 C 1 1 0 0 1 FRMR 帧拒绝 R 1 0 0 0 1 UA 无编号确认 R 0 0 1 1 0 3.2.3 HDLC的操作方式
HDLC是通用的数据链路控制协议当开始建立数据链路时允许选用特定的操作方式。所谓链路操作方式通俗地讲就是以主节点方式操作还是以从节点方式操作或者是二者兼备。
在链路上用于控制目的的节点称为主节点其他的受主节点控制的节点称为从节点。主节点负责对数据流进行组织并且对数据上的差错实施恢复。由主节点发往从节点的帧称为命令帧而由从节点返回主节点的帧称为响应帧。连有多个节点的链路通常使用轮询技术轮询其他节点的节点为主节点而在点到点链路中每个节点均可为主节点。在一个节点点连接多条链路的情况下该节点对于一些链路而言可能是主节点而对另外一些链路而言有可能是从节点。
HDLC中常用的操作方式有3种
1*正常响应方式 NRM
正常响应方式NRMNormal Response Mode一种非平衡数据链路操作方式有时也称为非平衡正常响应方式。该操作方式使用于面向终端的点到点或一点到多点的链路。在这种操作方式下传输过程由主节点启动从节点只有收到主节点某个命令帧后才能作为响应向主节点传输信息。响应信息可以由一个或多个帧组成若信息由多个帧组成则应指出哪一帧是最后一帧。主节点负责管理整个链路且具有轮询、选择从节点及及向从节点发送命令的权利同时也负责对超时、重发及各类恢复操作的控制。
2*异步响应方式 ARM
异步响应方式ARMAsynchronous Response Mode也是一种非平衡数据链路操作方式与NRM不同的是ARM下的传输过程由从节点启动。从节点主动发送给主节点的一个或一组帧中可包含有信息
也可以是仅以控制为目的而发的帧。在这种操作方式下由从节点来控制超时和重发。该方式对采用轮询方式的多节点点链路来说是比不可少的。
3*异步平衡方式 ABM
异步平衡方式ABMAsynchronous Balanced Mode是一种允许任何节点来启动传输的操作方式。为了提高链路传输效率节点之间在两个方向上都需要有较高的信息传输量。在这种操作方式下任何时候任何节点都能启动传输操作每个节点点即可以作为主节点又可以作为从节点即每个节点都是组合节点。各个节点都有相同的一组协议任何节点都可以发送或接受命令也可以给出应答并且各节点对差错恢复过程都负有相同的责任。
整个数据通信一般分为3个阶段数据链路建立阶段、信息帧传送阶段、数据链路释放阶段。第2阶段的完成需要用到信息帧和监控帧第1、3阶段的完成需要用到无编号帧。
图5画出了多点链路的建立和释放。主站A先向从站B发出置正常响应模式SNRM的命令并将P置1要求B站作出响应。B站同意建立链路后发送无编号确认UA的响应将F置1。A站和B站在将其状态变量V(S)和V(R)进行初始化后就完成了数据链路的建立。接着A站开始与C站建立链路。 图5 多点链路的建立和释放
当数据传送完毕后A站分别向B站和C站发出断链命令DISCB站、C站用无编号确认帧UA响应数据链路就释放了。
图6为点对点链路中两个站都是复合站的情况。复合站中的一个站先发出置异步平衡模式SABM的命令对方回答一个无编号响应帧UA后即完成了数据链路的建立。由于两个站是平等的任何一个站均可在数据传送完毕后发出DISC命令提出断链的要求对方用UA帧响应完成数据链路的释放。 3.3 HDLC规程的特点
与面向字符的基本型传输控制规程相比较HDLC具有以下特点
1*透明传输
HDLC对任意比特组合的数据均能透明传输。“透明”是一个很重要的术语它表示某一个实际存在的事物看起来好象不存在一样。“透明传输”表示经实际电路传送后的数据信息没有发生变化。因此对所传送数据信息来说由于这个电路并没有对其产生什么影响可以说数据信息“看不见”这个电路或者说这个电路对该数据信息来说是透明的。这样任意组合的数据信息都可以在这个电路上传送。
2*可靠性高
在HDLC规程中差错控制的范围是除了F标志的整个帧而基本型传输控制规程中不包括前缀和部分控制字符。另外HDLC对I帧进行编号传输有效地防止了帧的重收和漏收。
3*传输效率高
在HDLC中额外的开销比特少允许高效的差错控制和流量控制。
4*适应性强
HDLC规程能适应各种比特类型的工作站和链路。
5*结构灵活
在HDLC中传输控制功能和处理功能分离层次清楚应用非常灵活。
3.4 HDLC存在的问题
3.4.10位插入删除技术
如上所述SDLCHDLC协议规定以01111110为标志字节但在信息场中也完全有可能
有同一种模式的字符为了把它与标志区分开来所以采取了0位插入和删除技术。具体作法是发送端在发送所有信息除标志字节外时只要遇到连续5个1就自动插入一个0当接收端在接收数据时除标志字节如果连续接收到5个1就自动将其后的一个0删除以恢复信息的原有形式。这种0位的插入和删除过程是由硬件自动完成的比上述面向字符的数据透明容易实现。
3.4.2 SDLCHDLC异常结束
若在发送过程中出现错误则SDLCHDLC协议用异常结束Abort字符或
称失效序列使本帧作废。在HDLC规程中7个连续的1被作为失效字符而在SDLC中失效字符是8个连续的1。当然在失效序列中不使用0位插入删除技术。
四 HDLC协议的应用与发展前景
4.1 HDLC的应用特点
1*应用场合
就系统结构而言HDLC适用于点到点或点到多点式的结构就工作方式而言HDLCHDLC适用于半双工或全双工就传输方式而言HDLC只用于同步传输在传输速率方面考虑HDLC常用于中高速传输。
2*传输效率
HDLC开始发送一帧后就要连续不断地发完该帧HDLCHDLC可以同时确认几个帧HDLC中的每个帧含有地址字段A在多点结构中每个从节点只接收含有本节点地址的帧因此主节点在选中一个从节点并与之通讯的同时不用拆链便可以选择其他的节点通讯即可以同时与多个节点建立链路。
由于以上特点HDLC具有较高的传输效率。
3*传输可靠性
HDLC中所有的帧包括响应帧都有FCSI帧按窗口序号顺序编号传输可靠性比异步通讯高。
4*数据透明性
HDLC采用“0比特插入法”对数据进行透明传输传输信息的比特组合模式无任何限制处理简单。
5*信息传输格式
HDLC采用统一的帧格式来实现数据、命令、响应的传输实现起来方便。
6*链路控制
HDLC利用改变一帧中的控制字段的编码格式来完成各种规定的链路操作功能提供的是面向比特的传输功能。
4.2 HDLC协议的发展前景
HDLC作为面向比特的数据链路控制协议的典型代表具有如下特点协议不依赖于任何一种字符编码集数据报文可透明传输用于实现透明传输的“0比特插入法”易于硬件实现全双工通信不必等待确认便可连续发送数据有较高的数据链路传输效率所有帧均采用校验对信息帧进行编号可防止漏收或重份传输可靠性高传输控制功能与处理功能分离具有较大灵活性和较完善的控制功能。由于以上的优点HDLC协议发展和普及的非常快目前网络设计普遍使用HDLC作为数据链路层协议HDLC协议的发展前景也被业内人士看好。
五 结论
本文通过对数据链路层的HDLC协议进行综述介绍主要内容包括对HDLC的发展数据链路控制协议HDLC协议的主要内容、存在的技术标准以及HDLC的应用和发展前景等进行了研究。HDLC作为面向比特的数据链路控制协议的典型代表有着很大的优势 HDLC协议不依赖于任何一种字符编码集并且数据报文可透明传输用于实现透明传输的“0比特插入法”也易于硬件实现另外它采用的是全双工通信有较高的数据链路传输效率它的所有帧采用CRC检验对信息帧进行顺序编号可防止漏收或重份传输可靠性比较高最后其传输控制功能与处理功能分离具有较大灵活性。
由于以上特点HDLC的应用得很广泛。目前网络设计普遍使用HDLC作为数据链路层协议。所以说HDLC已经成为通信领域额非常重要的一个协议。