hdlc是什么层的协议.docx
《hdlc是什么层的协议.docx》由会员分享,可在线阅读,更多相关《hdlc是什么层的协议.docx(7页珍藏版)》请在冰豆网上搜索。
hdlc是什么层的协议
竭诚为您提供优质文档/双击可除
hdlc是什么层的协议
篇一:
hdlc协议及帧格式介绍
hdlc协议及帧格式介绍
一、hdlc协议:
1、hdlc的定义
高级数据链路控制(high-leveldatalinkcontrol或简称hdlc),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(iso)根据ibm公司的sdlc(synchronousdatalinkcontrol)协议扩展开发而成的.
[注]:
这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称"面向比特"的协议。
2、hdlc的特点
hdlc协议具有以下特点:
数据报文可透明传输;全双工通讯;采用窗口机制和捎带应答;采用帧校验序列,并对信息帧进行顺序编号,防止漏收或重收,传输可靠性高;传输控制功能和处理功能分离,应用非常灵活。
hdlc执行数据传输控制功能,一般分为3个阶段:
数据链路建立阶段、信息帧传送阶段、数据链路释放阶段。
二、hdlc帧格式:
1、帧格式定义
异步数据业务
和以太网数据业务在信道上传输采用连续同步hdlc帧格式封装,收发时钟均采用信道时钟。
0x7e2bytes1bytenbytesccitt-160x7e
hdlc帧格式
帧头字段:
0x7e
地址字段:
用于用户信道设备的识别
广播地址:
0xFFFF
控制字段:
控制字段主要用于识别hdlc帧内封装的信息类型
数据字段:
(由信道误码率和丢帧率确定)长度 校验字段:
2bytes
校验方式:
ccitt-16
帧尾字段:
0x7e
篇二:
ppp协议和hdlc协议区别
ppp帧格式和hdlc帧格式相似,如图1所示。
二者主要区别:
ppp是面向字符的,而hdlc是面向位的
图1ppp帧格式
可以看出,ppp帧的前3个字段和最后两个字段与hdlc的格式是一样的。
标志字段F为0x7e(0x表示7e),但地址字段a和控制字段c都是固定不变的,分别为0xFF、0x03。
ppp协议不是面向比特的,因而所有的ppp帧长度都是整数个字节。
与hdlc不同的是多了2个字节的协议字段。
协议字段不同,后面的信息字段类型就不同。
如:
0x0021——信息字段是ip数据报
0xc021——信息字段是链路控制数据lcp
0x8021——信息字段是网络控制数据ncp
0xc023——信息字段是安全性认证pap
0xc025——信息字段是lqR
0xc223——信息字段是安全性认证chap
当信息字段中出现和标志字段一样的比特0x7e时,就必须采取一些措施。
因ppp协议是面向字符型的,所以它不能采用hdlc
所使用的
零比特插入法,而是使用一种特殊的字符填充。
具体的做法是将信息字段中出现的每一个0x7e字节转变成2字节序列(0x7d,0x5e)。
若信息字段中出现一个0x7d的字节,则将其转变成2字节序列(0x7d,0x5d)。
若信息字段中出现ascii码的控制字符,则在该字符前面要加入一个0x7d字节。
这样做的目的是防止这些表面上的ascii码控制字符被错误地解释为控制字符。
hdlc帧结构
hdlc的帧格式如图3所示,它由六个字段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(a)、控制字段(c)、信息字段(i)、帧校验字段(Fcs)。
在帧结构中允许不包含信息字段i。
图3hdlc帧结构
(1)标志序列(F)
hdlc指定采用01111110为标志序列,称为F标志。
要求所有的帧必须以F标志开始和结束。
接收设备不断地搜寻F标志,以实现帧
同步,从而保证接收部分对后续字段的正确识别。
另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。
在一串数据比特中,有可能产生与标志字段的码型相同的比特组合。
为了防止这种情况产生,保证对数据的透明传输,采取了比特填充技术。
当采用比特填充技术时,在信码中连续5个“1”以后插入一个“0”;而在接收端,则去除5个“1”以后的“0”,恢复原来的数据序列,如图4所示。
比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输。
数据中某一段比特组合恰好
出现和F字段一样的情况会误认为是F字段
发送端在5个连1之后
填入0比特再发送出去填入0比特
在接收端将5个连1之后
图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”不在校验范围内。
篇三:
hdlc和ppp协议
在学习hdlc协议和ppp协议时,我们首先会遇到也要去了解的就是两种协议在本质上的区别,也就是对象上的不同。
ppp协议是面向字符的链路控制协议,就是指链路上所传送的数据必须由规定字符集(例如ascⅡ码)中的字符所组成。
同时在链路上传送的控制信息也必须由同一个字符集中的若干规定的控制字符构成。
hdlc协议是面向比特的链路控制协议,是采用首尾标志将一组比特封装成帧,通过定义不同类型的帧格式实现链路层的功能。
一、hdlc协议(highleveldatalinkcontrol)
hdlc有非平衡配置和平衡配置两种配置方式。
非平衡配置的特点是由一个主站控制整个链路的工作。
在多点边路中,主站与每一个次站之间都有一个分开的逻辑链路。
平衡配置的特点是链路两端的两个站是复合站。
复合站同时具有主站与次站的功能。
1、hdlc的帧结构
hdlc帧由标志字段、地址字段、控制字段、信息字段和帧校验字段组成。
其中控制字段是最复杂的字段,根据最前面两个比特的取值,可将hdlc帧分为三大类,即信息帧、监督帧和无编号帧。
每类帧又包含若干命令与响应,习惯上称为命令帧与响应帧。
为了解决帧同步的问题,在帧开头与结尾各放入一个特殊的标记F(Flag)。
标志字段为6个连续的1加上两边各一个0,共8位(0x7e)。
在接收端,只要找到标志字段F,就可以很容易地确定一个帧的位置。
但是这样就存在一个情况,当两个标志字段之间的比特串中,如果碰巧出现了和标志字段一样的比特组合,那么就会误认为是帧的边界。
为了避免出现这种错误,hdlc采用零比特填充法。
零比特填充是:
(1)在发送端,当一串比特流沿示加上标志字段时,先扫描全部比特。
只要发现有5个连续的1,则立即填入一个0。
(2)在接收到一个帧时,先找到标志字段以确定帧的边界,接着再对其中的比特流进行扫描。
每当发现5个连续的1时,就将这5个连续的1后的一个0删除,以还原成原来的比特流。
值得注意的是,当连续传输时,前一个帧的结束标志字段F可以兼任后一帧的起始标志字段。
当暂时没有信息传送时,
可以连续发送标志字段,也可以输出连续的高电平,它被
称为空闲(idle)信号,使接收端一直和发送端保存同步。
在控制字段中,第1或第1、2位表示传送帧的类型,第1位为“0”表示是信息帧,第1、2位为“10”是监控帧,“11”是无编号帧。
信息帧中,234位为存放发送帧序号,5位为轮询位,当为1时,要求被轮询的从站给出响应(当p/F用于响应帧时,称为终止位),678位为下个预期要接收的帧的序号。
监控帧中,34位为s帧类型编码。
第5位为轮询/终止位,当为1时,表示接收方确认结束。
无编号帧,提供对链路的建立、拆除以及多种控制功能,用34678这五个m位来定义,可以定义32种附加的命令或应答功能。
2、hdlc的通信过程
hdlc的通信过程可分为三个阶段:
建立数据链路、传输、释放数据链路。
现以全双工为例,其中a站和b站均为复合站。
(1)a站和b站连续发送空闲(idle)信号作为同步字符使用,双方均检测出正常信
号,说明物理连接成功,主呼站向从站发送saRm命令帧,并启动定时器。
从
站收到saRm命令帧后,若同意则回复响应帧ua,并重置状态。
这时主呼站收
到ua响应帧,也重置自身状态,准备发送数据。
(2)在帧传输的过程中可分别从发送过程和接收过程来分析,发送方将网络层获得
的数据进行打包,通过窗口协议和确认帧的过程,进行有效的发送。
而接收方
则更多的承担查错任务并用监控帧对发送方进行回馈控制。
(3)当信息传送完毕后,同样运用命令帧拆除已建立的数据链路连接。
二、ppp协议(point-to-pointprotocol)
ppp是一个面向连接的协议,它使得第2层链路能够经多种不同的物理层连接。
它支持同步和异步链路,也能在半双工和全双工模式下工作。
它允许任意类型的网络层数据报通过ppp连接发送。
点对点协议(ppp)为在点对点连接上传输多协议数据包提供了一个标准方法。
(1)ppp具有动态分配ip地址的能力,允许在连接时刻协商ip地址;
(2)ppp支持多种网络协议,比如tcp/ip、netbeui、nwlink等;
(3)ppp具有错误检测以及纠错能力,支持数据压缩;
(4)ppp具有身份验证功能。
(5)ppp可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如sdh),ppp也用于internet接入。
ppp提供了串行点对点链路上传输数据报的方法,包括以下三个部分:
串行链路上封装数据报的方法,既支持异步链路,也支持面向bit的同步链路
扩展的链路控制协议(linkcontrolprotocol-lcp),用于建立、配置和测试数据链路的连接
网络控制协议(ncp)簇,支持各种网络层协议。
1、ppp帧格式
标志字段与hdlc帧一样,所有ppp帧都应以0x7eFF03开始。
协议字段占两个字节,当协议字段为0021时,ppp帧的信息就是ipv4数据报,若为c021,则信息字段是ppp链路控制数据;而8021表示这是网络控制数据。
帧校验序列Fcs与hdlc相同。
由于ppp不是面向比特的,因此帧的长度应为整数个字节。
当ppp工作在同步传输链路中时,使用零比特填充法(与hdlc相同)保证透明传输。
当ppp工作于异步传输链路时,则使用一种特殊的字符填充方法。
具体过程是将信息字段中出现的每一个0x7e字节转变成2字节序列0x7d5e;若信息字段中出现0x7d字节,则将其转换为2字节序列0x7d5d;若信息字段中出现ascⅡ控制字符(小于0x20字符),则在该字符前要加入一个0x7d字节。
2、ppp的工作过程
ppp会话建立分为:
链路建立阶段、身份认证阶段、网络协商阶段。
经过这三个阶段,ppp链路就建立起来了,当通信完毕,ncp释放网络层边接,收回原来分配出去的ip地址。
接着lcp释放数据链路层连接,最后释放物理层连接。
在身份认证阶段一般采用两种方法:
口令认证协议pap和挑战握手认证协议chap.
前一种非常简明采用两次扬机制,口令为明文,被认证方向认证服务器发送用户名和口令,认证服务器查看是否有此用户,以及口令是否正确。
为了保证认证的安全性,常采用更加复杂的挑战握手认证协议chap该协议采用三次握手机制,口令为密文,在整个验证过程中是不发送密码的,所以是一种安全的认证。
三、总结
hdlc协议相对于基本数据链路协议来说,在帧类型上分工更明确,用同一种构建规则在传输上加快了效率,但是只支持点对点,而不支持点对多点,只能封装在同步链路上,如果是同异步串口的话,只有当同异步串口工作在同步模式下才能使用;。
协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行编号,可防止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。
对比hdcl协议,ppp协议支持ip协商和身份认证,作为较早期的协议能与其它协议共同派生出符合宗宽带接入要求的新协议。
如pppoe协议利用了ppp的优点、结合以太网的优势,可实现多台客户机同时接入internet,其运行过程包括发现和会话两个阶段。