首页 > 电脑教程/ 正文
数据链路控制协议可分为两大类:面向字符的协议和面向位的协议。面向字符的协议以字符作为传输的基本单位,并用10个专用字符控制传输过程。这类协议发展较早,至今仍在使用。面向位的协议以位作为传输的基本单位,它的传输效率高,已广泛地应用于公共数据网上。这一小节介绍一种面向位的数据链路控制协议。
HDLC (High Level Data Link Control,高级数据链路控制)协议。是国际标准化组织根据IBM公司的SDLC (Synchronous Data Link Control)协议扩充开发而成的。美国国家标准化协会(ANSI)则根据SDLC开发出类似的协议,叫做ADCCP协议(Advanced Data CommunicationControl Procedure)。以下的讨论都是基于HDLCO
1 .HDLC的基本配置
HDLC定义了三种类型的站、两种链路配置和三种数据传输方式。三种站分别如下。
(1)主站。对链路进行控制,主站发出的帧叫命令帧.
(2)从站.在主站控制下进行操作,从站发出的帧叫响应帧。
(3)复合站。具有主站和从站的双重功能。复合站既可发送命令帧也可以发出响应帧。
两种链路配置如下。
(1)不平衡配置.适用于点对点和多点链路。这种链路由一个主站和一个或多个从站组成,支持全双工或半双工传输。
(2)平衡配置。仅用于点对点链路。这种配置由两个复合站组成,支持全双工或半双工传输。
三种数据传输方式如下。
(1)正常响应方式(Normal Response Mode, NRM ).适用于不平衡配置,只有主站能启动数据传输过程,从站收到主站的询问命令时才能发送数据。
(2)异步平衡方式(Asynchronous Balanced Mode, ABM)。适用于平衡配置,任何一个复合站都无须取得另一个复合站的允许就可启动数据传输过程。
(3)异步响应方式(Asynchronous Response Mode, ARM)。适用于不平衡配置,从站无须取得主站的明确指示就可以启动数据传输,主站的贵任只是对线路进行管理。
正常响应方式可用于计算机和多个终端相连的多点线路上,计算机对各个终端进行轮询以实现数据输入。正常响应方式也可以用于点对点的链路上,例如计算机和一个外设相
连的情况。异步平衡方式能有效地利用点对点全双工链路的带宽,因为这种方式没有轮询的开销。异步响应方式的特点是各个从站轮流询问中心站,这种传输方式很少使用。
2. HDLC帧结构
HDLC使用统一的帧结构进行同步传输,图3-17所示为HDLC的帧结构。从图中可以看出,HDLC帧由6个字段组成。以两端的标志字段(F)作为帧的边界,在信息字段(INFO)中包含了要传输的数据。下面对HDLC帧的各个字段分别予以解释。
(1)帧标志Fo HDLC用一种特殊的位模式01111110作为帧的边界标志。链路上所有的站
都在不断地探索标志模式,一旦得到一个标志就开始接收帧。在接收帧的过程中如果发现一个标志则认为该帧结束了。由于帧中间出现位模式01111110时也会被当作标志产从而破坏了帧的同步,所以要使用位填充技术。发送站的数据位序列中一旦发现0后有5个1,则在第7位插入一个0,这样就保证了传输的数据中不会出现与帧标志相同的位模式。接收站则进行相反的操作:在接收的位序列中如果发现0后有5个I,则检查第7位,若第7位为0则删除;若第7位是1且第8位是0,则认为是检测到帧尾的标志;若第7位和第8位都是I,则认为是发送站的停止信号。有了位填充技术,任意的位模式都可以出现在数据帧中,这个特点叫做透明的数据传输。
(2)地址字段A。地址字段用于标识从站的地址,用在点对多点链路中。地址通常是8位长,然而经过协商之后,也可以采用更长的扩展地址。扩展的地址字段如图3-18所示,可以看出,它是8位组的整数倍。每一个8位组的最低位指示该8位组是否是地址字段的结尾:若为1,表示是最后的8位组;若为0,则不是。所有8位组的其余7位组成了整个扩展地址字段。全为1的8位组(11111111)表示广播地址。
(3)控制字段C. HDLC定义了三种帧,可根据控制字段的格式区分。信息帧(I帧)承
载着要传送的数据,此外还捎带着流量控制和差错控制的应答信号.管理帧(S帧)用于提供ARQ控制信息,当不使用捎带机制时要用管理帧控制传输过程。无编号帧提供建立、释放等链路控制功能,以及少量信息的无连接传送功能。控制字段第I位或前两位用于区别三种不同格式的帧,如图3-19所示。基本的控制字段是8位长,扩展的控制字段为16位长。
(4)信息字段INFO。只有I帧和某些无编号帧含有信息字段。这个字段可含有用于表示
用户数据的任何序列,其长度没有规定,但具体的实现往往限定了最大帧长。
(5)帧校验序列FCS. FCS中含有各个字段的校验(标志字段除外)。通常使用CRC-CCITT
标准产生16位校验序列,有时也使用CRC-32产生32位校验序列。
3. HDLC帧类型
HDLC的三种帧如表3-3所示。下面结合HDLC的操作介绍这些帧的作用。
(1)信息帧。信息帧除承载用户数据之外还包含该帧的编号N (S),以及捎带的肯定应答
顺序号N (R)e I帧还包含一个P/F位,在主站发出的命令帧中这一位表示P,即轮询(polling);在从站发出的响应帧中这一位是F位,即终止位(final)。在正常响应方式下,主站发出的I格式命令帧中P/F位置1,表示该帧是询问帧,允许从站发送数据。从站响应主站的询问,可以发送多个响应帧,其中仅最后一个响应帧的P/F位置1,表示一批数据发送完毕。在异步响应方式和异步平衡方式下,P/F位用于控制tii帧和U帧的交换过程.
(2)管理帧。管理帧用于进行流量和差错控制,当没有足够多的信息帧捎带管理命令/响应时,要发送专门的管理帧来实现控制.从表3-3看出,有4种管理帧可以用控制字段中的两个S位来区分。RR帧表示接收就绪,它既是对N (R)之前帧的确认,也是准备接收N (R)及其后续帧的肯定应答。RNR帧表示接收未就绪,在对N (R)之前的帧给予肯定应答的同时,拒绝进一步接收后续帧。REJ随表示拒绝接收N (R)帧,要求重发N (R)帧及其后续帧。显
然,REJ用于后退N帧ARQ流控方案中。类似地,SREJ帧用于选择重发ARQ流控方案中。
管理帧中P/F位的作用如下所述:主站发送P位置I的RR帧询问从站,是否有数据要发送。如果从站有数据要发送,则以信息帧响应;否则从站以F位置1的RR帧响应,表示没有数据可发送。另外,主站也可以发送P位置1的IWO帧询问从站的状态。如果从站可以接收信息帧,则以F位置1的RR帧响应;反之,如果从站忙,则以F位置1的RNR帧响应。
(3)无编号帧。无编号帧用于链路控制。这类帧不包含编号字段,也不改变信息帧流动的顺序。无编号帧按其控制功能可分为以下几个子类。
设置数据传输方式的命令和响应帧。
传输信息的命令和响应帧。
用于链路恢复的命令和响应帧。
其他命令和响应帧。
设置数据传输方式的命令帧由主站发送给从站,表示设置或改变数据传输方式。SNRM,
SARM和SABM分别对应三种数据传输方式。SNRME, SABME和SABME也是设置数据传输方式的命令帧,然而这三种传输方式使用两个字节的控制域.从站接收了设置传输方式的命令帧后以无编号应答帧WA)响应。一种传输方式建立后一直保持有效,直到另外的设置方式命令改变了当前的传输方式。
主站向从站发送置初始化方式命令((SIM),使得接收该命令的从站启动一个建立链路的过程。在初始化方式下,两个站用无编号信息帧(UI)交换数据和命令。释放连接命令(DISC)
用于通知对方链路已经释放,对方站以UA帧响应,链路随之断开。
除UA帧之外,还有几种响应帧与传输方式的设置有关。非连接方式帧(DM)可用于响应所有的置传输方式命令,表示响应的站处于逻辑上断开的状态,即拒绝建立指定的传输方式。请求初始化方式帧(犯M)也可用于响应置传输方式命令,表示响应站没有准备好接收命令,或正在进行初始化。请求释放连接帧(RD)则表示响应站要求断开逻辑连接。信息传输的命令和响应用于两个站之间交换信息。无编号信息帧(UI)既可作为命令帧,也可作为响应帧。UI帧传送的信息可以是高层的状态、操作中断状态、时间、链路初始化参数等.主站/复合站可发送无编号询问命令(UP)请求接收站送回无编号响应帧,以了解它的状态.
链路恢复命令和响应用于ARQ机制不能正常工作的情况下.接收站可用帧拒绝响应(FRMR)表示接收的帧中有错误。例如,控制字段无效、信息字段太长、帧类型不允许携带信息以及捎带的N (R)无效等。
复位命令(RSET)表示发送站正在重新设置发送顺序号,这时接收站也应该重新设置接收顺序号。
还有两种命令和响应不能归入以上几类。交换标识(XID)帧用于两个站之间交换它们的标识和特征,实际交换的信息依赖于具体的实现。测试命令帧(TEST)用于测试链路和接收站是否正常工作。接收站收到测试命令后要尽快以测试帧响应。
4. HDLC的操作
下面通过图3-20的例子说明HDLC的操作过程,这些例子并不能囊括实际运作中的所有情况,但是可以帮助理解各种命令和响应的使用方法。由于HDLC定义的命令和响应非常多,可以实现各种应用环境的所有要求,所以对任何一种特定的应用,只要实现一个子集就可以了,以下给出的例子都是实际应用中的典型情况。
在图3-20中,用I表示信息帧,I后面的两个数字分别表示信息帧中的N (S)和N (R)
值。管理帧和无编号帧都直接给出帧名字,管理帧后的数字则表示帧中的N (R)值,P和F
表示该帧中的P/F位置1,没有P和F表示这一位置0.
图3-20 (a)说明了链路建立和释放的过程。A站发出SABM命令并启动定时器,在一定
时间内没有得到应答后重发同一命令。B站以UA帧响应,并对本站的局部变量和计数器进行初始化。A站收到应答后也对本站的局部变量和计数器进行初始化,并停止计时,这时逻辑链路就建立起来了。释放链路的过程由双方交换一对命令DISC和响应UA完成。实际使用中可能出现链路不能建立的情况,B站以DM响应A站的SABM命令,或者A站重复发送SABM命令预定的次数后放弃建立连接,向上层实体报告链接失败.
图3-20 (b)说明了全双工交换信息帧的过程。每个信息帧中用N (S)指明发送顺序号,用N (R)指明接收顺序号。当一个站连续发送了若干帧而没有收到对方发来的信息帧时,N (R)字段只能简单地重复,例如,A发给B的III和121.最后A站没有信息帧要发时用一个管理帧RR4对B站给予应答。图中也表示出了肯定应答的积累效应,例如A站发出的RR4帧一次应答了B站的两个数据帧。
图3-20 (c)画出了接收站忙的情况。出现这种情况的原因可能是接收站数据链路层缓冲区滋出,也可能是接收站上层实体来不及处理接收到的数据。图中A站以RNR4响应B站的130帧,表示A站对第3帧之前的帧已正确接收,但不能继续接收下一个帧。B站接收到RNR4后每隔一定时间以P位置I的RNR命令询问接收站的状态。接收站A如果保持忙则以F位置I的RNR帧响应:如果忙状态解除,则以F位置1的RR帧响应,于是数据传送从RR应答中的
接收序号恢复发送。
图3-20 (d)描述了使用111301命令的例子。A站发出了第3, 4, 5信息帧,其中第4帧出错。接收站检出错误帧后发出REJ 4命令,发送站返回到出错帧重发。这是使用后退N帧ARQ技术的典型情况。
图3-20 (e)表示的是超时重发的例子。A站发出的第3帧出错,B站检测到错误后丢弃
了它.但是,B站不能发出I.TA命令,因为B站无法判断这是一个I帧。A站超时后发出P位置1的RNR命令询问B站的状态..站以RR 3F响应,于是数据传送从断点处恢复。
- 上一篇: X.25公共数据网之流量控制和差错控制
- 下一篇:X.25 PLP协议全方位分析
更多HDLC协议是什么相关文章
- 学习计算机可以吗?
- 初中毕业一年了还可以去学电脑吗?
- 学习C语言应从哪几方面着手
- 网上如何学习电脑知识
- 如何熟练使用电脑?
- VPN是什么
- 如何有效利用网络学习技术
- 办公常用PPT制作技巧集锦
- 想学习c语言程序设计需要学哪些知识
- 大学生就业指导课程
- 如何自学编程?
- 零基础学员学习Java软件工程师到底有多难
- 计算机网络的分类和应用
- 计算机网络体系结构(二)
- 数据通信的基本概念
- 差错控制有哪些表现
- 帧中继网课程详解
- 逻辑链路控制子层
- 介质访问控制技术
- IP协议是什么
- Linux Apache服务器的配置
- DNS服务器的配置教程
- Linux管理效率怎么提升
- 如何配置广域网接入
- 如何访问控制列表
- 简单网络管理协议
- 网络需求分析
- 通信流量分析
- 一个新手程序员应该如何成长?
- 搜索
-
- 热门标签