首页 HDLC通信协议

HDLC通信协议

举报
开通vip

HDLC通信协议该处为本文档的题目 高级数据链路控制规程HDLC 目 录 TOC \o "1-3" \h \z 1.数据链路控制规程 3 1.1 数据链路结构 3 1.2 数据链路控制规程功能 3 1.3 数据链路控制规程分类 4 2.HDLC基本概念 5 2.1 主站、从站、复合站 5 2.2 HDLC链路结构 5 2.3 操作方式 6 3.HDLC帧结构 7 4.控制字段和参数 8 4.1 信息帧(I帧) 9 4.2 监控帧(S帧) 9 4.3 无编号帧(U帧) 10 4.4 P/F比特的使用 10 5.HDLC操作 12 6...

HDLC通信协议
该处为本文档的题目 高级数据链路控制规程HDLC 目 录 TOC \o "1-3" \h \z 1.数据链路控制规程 3 1.1 数据链路结构 3 1.2 数据链路控制规程功能 3 1.3 数据链路控制规程分类 4 2.HDLC基本概念 5 2.1 主站、从站、复合站 5 2.2 HDLC链路结构 5 2.3 操作方式 6 3.HDLC帧结构 7 4.控制字段和参数 8 4.1 信息帧(I帧) 9 4.2 监控帧(S帧) 9 4.3 无编号帧(U帧) 10 4.4 P/F比特的使用 10 5.HDLC操作 12 6.HDLC规程的特点 13 1.数据链路控制规程 1.1 数据链路结构 数据链路结构可以分为两种:点-点链路和点-多点链路,如图1所示。图中数据链路两端DTE称为计算机或终端,从链路逻辑功能的角度常称为站,从网络拓扑结构的观点则称为节点。 在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站。在点-多点链路中,往往有一个站为控制站,主管数据链路的信息流,并处理链路上出现的不可恢复的差错情况,其余各站则为受控站。 1.2 数据链路控制规程功能 数据链路层是OSI参考模型的第二层,它在物理层提供的通信接口与电路连接服务的基础上,将易出错的数据电路构筑成相对无差错的数据链路,以确保DTE与DTE之间、DTE与网络之间有效、可靠地传送数据信息。为了实现这个目标,数据链路控制规程的功能应包括以下几个部分: ​ 帧控制 数据链路上传输的基本单位是帧。帧控制功能要求发送站把网络送来的数据信息分成若干码组,在每个码组中加入地址字段、控制字段、校验字段以及帧开始和结束标志,组成帧来发送;要求接收端从收到的帧中去掉标志字段,还原成原始数据信息后送到网络层。 ​ 帧同步 在传输过程中必须实现帧同步,以保证对帧中各个字段的正确识别。 ​ 差错控制 当数据信息在物理链路中传输出现差错,数据链路控制规程要求接收端能检测出差错并予以恢复,通常采用的方法有自动请求重发ARQ和前向纠错两种。采用ARQ方法时,为了防止帧的重收和漏收,常对帧采用编号发送和接收。当检测出无法恢复的差错时,应通知网络层做相应处理。 ​ 流量控制 流量控制用于克服链路的拥塞。它能对链路上信息流量进行调节,确保发送端发送的数据速率与接收端能够接收的数据速率相容。常用的流量控制方法是滑动窗口控制法。 ​ 链路管理 数据链路的建立、维持和终止,控制信息的传输方向,显示站的工作状态,这些都属于链路管理的范畴。 ​ 透明传输 规程中采用的标志和一些字段必须独立于要传输的信息,这就意味着数据链路能够传输各种各样的数据信息,即传输的透明性。 ​ 寻址 在多点链路中,帧必须能到达正确的接收站。 ​ 异常状态恢复 当链路发生异常情况时,如收到含义不清的序列或超时收不到响应等,能自动重新启动,恢复到正常工作状态。 1.3 数据链路控制规程分类 为了适应数据通信的需要,ISO、ITU-T以及一写国家和大的计算机制造公司,先后制定了不同类型的数据链路控制规程。根据帧控制的格式,可以分为面向字符型、面向比特型。 ​ 面向字符型 国际 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化组织制定的ISO 1745、IBM公司的二进制同步规程BSC以及我国国家标准GB3543-82属于面向字符型的规程,也称为基本型传输控制规程。在这类规程中,用字符编码集中的几个特定字符来控制链路的操作,监视链路的工作状态,例如,采用国际5号码中的SOH、STX作为帧的开始,ETX、ETB作为的结束,ENQ、EOT、ACK、NAK等字符控制链路操作。面向字符型规程有一个很大的缺点,就是它与所用的字符集有密切的关系,使用不同字符集的两个站之间,很难使用该规程进行通信。面向字符型规程主要适用于中低速异步或同步传输,很适合于通过电话网的数据通信。 ​ 面向比特型 ITU-T制定的X.25建议的LAPB、ISO制定的HDLC、美国国家标准ADCCP、IBM公司的SDLC等均属于面向比特型的规程。在这类规程中,采用特定的二进制序列01111110作为帧的开始和结束,以一定的比特组合所 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的命令和响应实现链路的监控功能,命令和响应可以和信息一起传送。所以它可以实现不编码限制的、高可靠和高效率的透明传输。面向比特型规程主要适用于中高速同步半双工和全双工数据通信,如分组交换方式中的链路层就采用这种规程。随着通信的发展,它的应用日益广泛。 2.HDLC基本概念 2.1 主站、从站、复合站 HDLC涉及三种类型的站,即主站、从站和复合站。 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。 2.2 HDLC链路结构 在HDLC中,对主站、从站和复合站定义了三种链路结构,如图2所示。 图2 HDLC链路结构类型 2.3 操作方式 根据通信双方的链路结构和传输响应类型,HDLC提供了三种操作方式:正常响应方式、异步响应方式和异步平衡方式。 ​ 正常响应方式(NRM) 正常响应方式(NRM)适用于不平衡链路结构,即用于点-点和点-多点的链路结构中,特别是点-多点链路。这种方式中,由主站控制整个链路的操作,负责链路的初始化、数据流控制和链路复位等。从站的功能很简单,它只有在收到主站的明确允许后,才能发出响应。 ​ 异步响应方式(ARM) 异步响应方式(ARM)也适用于不平衡链路结构。它与NRM不同的是:在ARM方式中,从站可以不必得到主站的允许就可以开始数据传输。显然它的传输效率比NRM有所提高。 ​ 异步平衡方式(ABM) 异步平衡方式(ABM)适用于平衡链路结构。链路两端的复合站具有同等的能力,不管哪个复合站均可在任意时间发送命令帧,并且不需要收到对方复合站发出的命令帧就可以发送响应帧。ITU-T X.25建议的数据链路层就采用这种方式。 除三种基本操作方式,还有三种扩充方式,即扩充正常响应方式(SNRM)、扩充异步响应方式(SARM)、扩充异步平衡方式(SABM)它们分别与基本方式相对应。 3.HDLC帧结构 HDLC的帧格式如图3所示,它由六个字段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段I。 图3 HDLC帧结构 ​ 标志序列(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 比特填充 当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。 ​ 地址字段(A) 地址字段表示链路上站的地址。在使用不平衡方式传送数据时(采用NRM和ARM),地址字段总是写入从站的地址;在使用平衡方式时(采用ABM),地址字段总是写入应答站的地址。 地址字段的长度一般为8bit,最多可以表示256个站的地址。在许多系统中规定,地址字段为“11111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有254个之多,这对一般的多点链路是足够的。但考虑在某些情况下,例如使用分组无线网,用户可能很多,可使用扩充地址字段,以字节为单位扩充。在扩充时,每个地址字段的第1位用作扩充指示,即当第1位为“0”时,后续字节为扩充地址字段;当第1位为“1”时,后续字节不是扩充地址字段,地址字段到此为止。 ​ 控制字段(C) 控制字段用来表示帧类型、帧编号以及命令、响应等。从图5-11可见,由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧,它们具体操作复杂,在后面予以介绍。另外控制字段也允许扩展。 ​ 信息字段(I) 信息字段内包含了用户的数据信息和来自上层的各种控制信息。在I帧和某些U帧中,具有该字段,它可以是任意长度的比特序列。在实际应用中,其长度由收发站的缓冲器的大小和线路的差错情况决定,但必须是8bit的整数倍。 ​ 帧校验序列字段(FCS) 帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内。 4.控制字段和参数 控制字段是HDLC的关键字段,许多重要的功能都靠它来实现。控制字段规定了帧的类型,即I帧、S帧、U帧,控制字段的格式如图3所示,其中 N(S) 发送帧序列编号 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(R)-1以及在这以前的各帧都已经正确无误地收妥了。 为了保证HDLC的正常工作,在收发双方都设置两个状态变量V(S)和V(R)。V(S)是发送状态变量,为发送I帧的数据站所保持,其值指示待发的一帧的编号;V(R)是接收状态变量,其值为期望所收到的下一个I帧的编号。可见这两个状态变量的值确定发送序号N(S)和接收序号N(R)。 在发送站,每发送一个I帧,V(S)→N(S),然后V(S)+1→V(S)。在接收站,把收到的N(S)与保留的V(R)作比较,如果这个I帧可以接收,则V(R)+1→N(R),回送到发送站,用于对前面所收到的I帧的确认。N(R)除了可以用I帧回送之外,还可以用S帧回送,这一点从图5-11中可以看出来,在I帧和S帧的控制字段中具有N(R)。 V(S)、V(R)和N(S)、N(R)都各占3bit,即序号采用模8运算,使用0~7八个编号。在有些场合,如卫星通信模8已经不能满足要求了,这时可以把控制字段扩展为两个字节,N(S)、N(R)和V(S)、V(R)都用7bit来表示,即增加到模128。 4.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)的帧 上面四种监控帧中,前三种用在返回N连续ARQ方法中,最后一种只用于选择重发ARQ方式中。 S帧中没有包含用户的数据信息字段,它只有48bit长,显然不需要N(S),但S帧中N(R)特别有用,它具体含义随不同的S帧类型而不同。其中RR帧和RNR帧相当于确认信息ACK,REJ帧相当于否认信息NAK。同时应当注意到,RR帧和RNR帧还具有流量控制的作用,RR帧表示已经作好表示接收帧的准备,希望对方继续发送,而RNR帧则表示希望对方停止发送(这可能是由于来不及处理到达的帧或缓冲器已存满)。 4.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 4.4 P/F比特的使用 值得注意的是在HDLC的各类帧中,均带有查询/结束(P/F)比特。在不同的数据传送方式中,P/F比特的用法是不一样的, 在NRM方式中,从站不能主动向主站发送信息,从站只有收到主站发出的P比特为1(对从站的查询)的命令帧以后才能发送响应帧。若从站有数据发送,则在最后一个数据帧中将F比特置1;若无数据发送,则应在回答的S帧中将F比特置1。 在ARM或ABM方式中,任何一个站都可以在主动发送的S帧和I帧中将P比特置1。对方站收到 P=1的帧后,应尽早地回答本站的状态并将F比特置1。 下面结合图5的例子具体说明P/F比特的使用方法。图中主站A和从站B、C连成多点链路,传送帧的一些主要参数按照“地址,帧名和序号,P/F”的先后顺序标注。这里的地址是指地址字段中应填入的站地址;帧名是指帧的名称,如RR、I;序号是指监控帧中的N(R) 或信息帧中的N(S)N(R),如RR4、I31(第1个数字是N(S),第2个数字是N(R))。P/F是在其为1时才写上P或F,表明此时控制字段的第5比特为1。 图5 P/F比特的使用方法 主站A先询问B站:“B站,若有信息,请立刻发送”。这时A站发送的帧是RR监控帧,并将N(R)置0,表示期望收到对方的0号帧。因此在图5-13中将这样的帧记为“B,RR0,P ”。对主站的这一命令,B站响应以连续4个信息帧,其序号N(S)从0到3。最后在第4个信息帧中将F置1,表示“我要发送的信息已发完”。这个帧记为“B,I30,F”。A站在收到B站发来的4个信息帧后,发回确认帧RR4(这时N(R)=4)。我们注意到这时P/F比特并未置1,所以B站收到RR4后不必应答。接下去A站轮询C站,P=1,虽然这时C站没有数据发送,但也必须立即应答。C站应答也是RR帧,表示目前没有信息帧发送,F=1表明这是回答对方命令的一个响应。 有了P/F比特,使HDLC规程使用起来更加灵活。在两个复合站全双工通信时,任何一方都可随时使P=1,这时对方就要立即回答RR帧,并置F=1,这样就可以收到对方的确认了。如果不使用P/F比特,则收方不一定马上发出确认帧,比如收方可以在发送自己的信息帧时,利用N(R)把确认信息发出。 5.HDLC操作 在图5中讨论了主站A和从站B、C交换信息的情况,这只是整个数据通信的中间阶段,在这个阶段之前还有一个数据链路的建立阶段,在数据传送完毕后,还必须有一个数据链路的释放阶段。也就是说HDLC执行数据传输控制功能,一般分为3个阶段:数据链路建立阶段、信息帧传送阶段、数据链路释放阶段。第2阶段的完成需要用到信息帧和监控帧,第1、3阶段的完成需要用到无编号帧。 图6画出了多点链路的建立和释放。主站A先向从站B发出置正常响应模式SNRM的命令,并将P置1,要求B站作出响应。B站同意建立链路后,发送无编号确认UA的响应,将F置1。A站和B站在将其状态变量V(S)和V(R)进行初始化后,就完成了数据链路的建立。接着A站开始与C站建立链路。 图6 多点链路的建立和释放 当数据传送完毕后,A站分别向B站和C站发出断链命令DISC,B站、C站用无编号确认帧UA响应,数据链路就释放了。 图7为点对点链路中两个站都是复合站的情况。复合站中的一个站先发出置异步平衡模式SABM的命令,对方回答一个无编号响应帧UA后,即完成了数据链路的建立。由于两个站是平等的,任何一个站均可在数据传送完毕后发出DISC命令提出断链的要求,对方用UA帧响应,完成数据链路的释放。 6.HDLC规程的特点 与面向字符的基本型传输控制规程相比较,HDLC具有以下特点: ​ 透明传输 HDLC对任意比特组合的数据均能透明传输。“透明”是一个很重要的术语,它表示:某一个实际存在的事物看起来好象不存在一样。“透明传输”表示经实际电路传送后的数据信息没有发生变化。因此对所传送数据信息来说,由于这个电路并没有对其产生什么影响,可以说数据信息“看不见”这个电路,或者说这个电路对该数据信息来说是透明的。这样任意组合的数据信息都可以在这个电路上传送。 ​ 可靠性高 在HDLC规程中,差错控制的范围是除了F标志的整个帧,而基本型传输控制规程中不包括前缀和部分控制字符。另外HDLC对I帧进行编号传输,有效地防止了帧的重收和漏收。 ​ 传输效率高 在HDLC中,额外的开销比特少,允许高效的差错控制和流量控制。 ​ 适应性强 HDLC规程能适应各种比特类型的工作站和链路。 ​ 结构灵活 在HDLC中,传输控制功能和处理功能分离,层次清楚,应用非常灵活。 最后需要指出,一般的应用极少需要使用HDLC的全集,而选用HDLC的子集。当使用某一厂商的HDLC时,一定要弄清该厂商所选用的子集是什么。
本文档为【HDLC通信协议】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_805599
暂无简介~
格式:doc
大小:652KB
软件:Word
页数:14
分类:互联网
上传时间:2011-03-22
浏览量:48