HDLC协议的基本概念和帧

这篇具有很好参考价值的文章主要介绍了HDLC协议的基本概念和帧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、HDLC简介
  HDLC是一种面向比特的网络节点之间同步传输数据的数据链路层协议。使用点到点链路连接,这个网络中只有你我,中间没有第三个节点,所以在封装HDLC帧的时候,不需封装SD地址。

  由于串行通信有着传输距离远、成本低的特点,所以远距离、超远距离的通信中较常使用串行通信。广域网以及两种最常用的广域网链路层协议——PPP协议和HDLC协议。

    *OSI是Open System Interconnect的缩写,意为开放式系统互联。开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。


  HDLC(High-Level Data Link Control,高级数据链路控制),是链路层协议的一项国际标准,用以实现远程用户间资源共享以及信息交互。HDLC协议用以保证传送到下一层的数据在传输过程中能够准确地被接收,也就是差错释放中没有任何损失,并且序列正确。HDLC协议的另一个重要功能是流量控制,即一旦接收端收到数据,便能立即进行传输。


  HDLC协议由ISO/IEC13239定义,于2002年修订,2007年再次讨论后定稿。在通信领域中,HDLC协议应用非常广泛,其工作方式可以支持半双工、全双工传送,支持点到点、多点结构,支持交换型、非交换型信道。


  一般情况下,HDLC通信协议IP核为三个部分,即外部接口模块、数据发送部分和数据接收部分。在这类面向比特的数据链路协议中,帧头和帧尾都是特定的二进制序列, 通过控制字段来实现对链路的监控,可以采用多种编码方式 实现高效的、可靠的透明传输。故其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。

  1974年,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control)。随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:
      1、ANSI的高级通信控制过程ADCCP(Advanced DataControl Procedure),
      2、ISO的高级数据链路控制规程HDLC(High-level Data LinkContl)。

二、HDLC特点
  HDLC协议使用统一的帧格式,运用方便;采用零比特插入法,易于硬件实现,且支持任意的位流传输,实现信息的透明传输;全双工通信,吞吐率高,在未收到应答帧的情况下,可连续发送信息帧,提高数据链路传输的效率;采用CRC帧校验序列,可防止漏帧,提高信息传输的可靠性。

  主要有四个特点:

      1、对于任何一种比特流都可透明传输。
      2、较高的数据链路传输效率。
      3、所有的帧都有帧校验序列(FCS),传输可靠性高。
      4、用统一的帧格式来实现传输。


三、基本配置
  HDLC协议定义了3种类型的站、2种链路配置和3种数据传输方式。

3.1 三种类型站
(1)主站。 主站发出的帧叫命令帧,负责对 链路进行控制。
(2)从站。 从站发出的帧叫响应帧,在主站的控制下进行操作。
(3)复合站。既具有主站的功能,也有从站的功能,既可以发送命令帧,也可以发送响应帧。
3.2 两种链路配置
(1)非平衡配置。既可用于点对点链路也可用于多点链路。这种链路由一个主站和多个从站组成,可以支持 全双工或 半双工。
(2)平衡配置。只能用于点对点链路。这种配置由两个复合站组成,同样支持全双工或半双工传输。
3.3 三种数据传输方式
(1)正常响应方式(Normal Response Mode,NRM):这种方式适合不平衡配置,主站启动数据传输过程,从站只有收到命令时才能发送数据。
(2)异步平衡方式(Asynchronous Balanced Mode,ABM):这种方式适合两端都是复合站的平衡配置,任何一方都可以启动数据传输。
(3)异步响应方式(Asynchronous Response Mode,ARM):这种方式适合不平衡配置,从站在没有收到主站命令时,就可以启动数据传输服务。
四、帧结构

HDLC协议的基本概念和帧

(1)帧标志F。HDLC采用固定的标志字段01111110,‘7E’作为帧的边界。当接收端检测到一个F标志时就开始接收帧,在接收的过程中如果发现F标志就认为该帧结束了。在传输的数据中可能会含有和标志字段相同的字段,而导致接收端误以为数据传输结束,为了防止这种情况的发生,引入了位填充技术。发送站在发送的数据比特序列中一旦发现0后有5个1,就在第7位插入一个0。接收端要进行相反的操作,如果在接收端发现0后面有5个1,则检查第7位,如果是0,则将0删除;如果是1并且第8位是0,则认为是标志字段F,这样就保证了数据比特位中不会有和标志字段相同的字段。

(2)地址字段A。地址字段用在多点链路中,它是用来存放从站的地址的。一般的地址字段是8位长,也可以扩展采用更长的地址,但是都是8的整数倍。每一个8位组的最低位表示该8位是否是地址字段的末尾:1表示是最后的8位组;0表示后面还有地址组,其余的7位表示整个扩展字段。

(3)控制字段C。HDLC定义了3种不同的帧,可以根据控制字段区分,信息帧(l帧)不仅用来传送数据,而且捎带流量控制和差错控制的应答信号。管理帧(S帧)是在不使用捎带机制的情况下管理帧控制的传输过程。无编号帧(U帧)具有各种链路的控制功能。控制字段使用前1位或前2位用来区别不同格式的帧,基本控制字段长度是8位。扩展控制字段是16位。

HDLC协议的基本概念和帧

  控制字段中传输帧的类型用第1位或第1、第2位表示。在HDLC中有三种不同类型的帧,分别是信息帧、监控帧和无编号帧。信息帧对应的第1位为“0”,监控帧对应的第1位和第2位为“10”,无编号帧对应的第1位和第2位为“11”。所有帧的控制字段的第5位都相同,叫做P/F位。 在信息帧中,第2、3、4位表示的N(S)是发送帧的帧序号。第5位P/F是轮询位,其值为1时,被轮询的从站对主站的要求必须给出响应。第6、7、8位表示的N(R)是主站要接收的下一个帧的序号。 在监控帧中,第3、4位表示的是S帧的类型编码。第5位P/F是轮询/终止位,其值为1时,表明了接收方已经确认结束。 在无编号帧中,链路的建立、控制和断等多种功能都由其管控。各种功能由第2、3、4、6、7、8位这五个M位来表示,根据组合计算能够表示最多32种命令或应答的功能。  

(4)信息字段INFO。I帧和一部分的U帧含有控制字段。这个字段可以包含用户数据的所有比特序列,长度没有限制,但在使用时通常限定了长度。

HDLC协议的基本概念和帧


(5)校验字段FCS。校验字段包含地址字段、控制字段、信息字段的校验和,但不包括标志字段。一般校验字段使用的是16bit的CRCCCITT标准的校验序列,也可以使用32bit的CRC-32校验序列。


 五、帧类型
  HDLC的帧类型包括以下3种:

  (1)信息帧(l帧)。信息帧包含用户数据、该帧的编号和捎带的应答序列N(R)。I帧包含一位PF位,主站发出的命令帧是P,即询问(Polling);从站发出的响应帧是F位,即终止位(Final)。

  在正常响应方式(NRM)下,主站发出的命令帧将PF置l,表示询问帧,也允许从站发送数据;从站响应主站的询问,可以发送多个响应帧表示,只将最后一个响应帧的PF置1就表示数据发送完毕。在异步响应方式(ARM)和异步平衡方式(ABM)时,P/F位用于控制U帧和S帧的交换过程。

  (2)管理帧(S帧)。管理帧负责流量控制和差错控制,管理帧有4种,包括接收就绪(RR)、接收未就绪(RNR)、拒绝接收(REJ)和选择性拒绝接收(SREG)。

  S帧的名称和功能:

HDLC协议的基本概念和帧

(3)无编号帧(U帧)。U帧用于链路控制。U帧比较多,按其控制功能可以分为以下几类:

a)设置数据传输方式的命令帧和响应帧。
b)传输信息的命令帧和响应帧。
c)链路恢复的命令帧和响应帧。
d)其他的命令帧和响应帧。
  HDLC帧的U帧的类型定义 :

HDLC协议的基本概念和帧文章来源地址https://www.toymoban.com/news/detail-408080.html

到了这里,关于HDLC协议的基本概念和帧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#复习:面向对象基本概念

    关于我C#的博客是根据刘铁猛老师的C#入门课程为基础写的,可以配合刘铁猛老师的课程一起观看,会由更好的理解! 所谓面向对象,在我看来, 就是把世界上的很多事物抽象成数据,方法等 ,举个例子 这是个汽车,这个汽车有发动机,变速器… 在面向对象的程序中,我们

    2024年02月07日
    浏览(40)
  • 深度学习基本概念简介

    一、Linear Models\\\' Bias 上篇学习机器学习一文中,所构造的 $y = b + wx_0$ 函数是一个linear model亦即线性模型,但是linear models有缺陷的——它过于简单了。实际应用中,我们所面临的不会只是一个简单的linear model,因此我们需要更复杂的models。 比如上图中的红色曲线,如何找到它

    2024年04月16日
    浏览(44)
  • 机器学习基本概念简介

    一、机器学习是在干什么? 以中学时代所学的函数为例,做应用题时我们都会建立相应的正比例函数、二次函数等来解决,给定一个自变量x都能得到唯一的因变量y。现在我想找到一个函数ƒ,它的输入并不是数字,而是一段语音,最后相应的文字,亦或输入的是一副图片,

    2024年04月15日
    浏览(39)
  • Docker(一)简介和基本概念

    作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 本章将带领你进入 Docker 的世界。 什么是 Docker ? 用它会带来什么样的好处? 好吧,让我们带着问题开始这神奇之旅。 Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一

    2024年01月19日
    浏览(37)
  • Flink的简介以及基本概念

    有界流和无界流 有状态的流处理 2.1集群角色 2.2 部署模式 会话模式(Session Mode) 单作业模式(Per-Job Mode) 应用模式(Application Mode) 3.1  系统架构 1 )作业管理器(JobManager) JobManager是一个Flink集群中任务管理和调度的核心,是控制应用执行的主进程。也就是说,每个应用

    2024年04月09日
    浏览(57)
  • 区块链基本概念与当前生态简介

    区块链是一种去中心化的分布式账本技术,它通过将数据按照时间顺序链接成区块,并使用密码学算法确保数据的安全性和完整性。每个区块包含一定数量的交易记录,而且每个区块都包含了前一个区块的哈希值,这样形成了一个不可篡改的链式结构。 区块链的基本概念包括

    2024年02月12日
    浏览(37)
  • 《网络协议》01. 基本概念

    title: 《网络协议》01. 基本概念 date: 2022-08-30 09:50:52 updated: 2023-11-05 15:28:52 categories: 学习记录:网络协议 excerpt: 互联网、网络互连模型(OSI,TCP/IP)、计算机通信基础、MAC 地址、ARP ICMP、IP 子网掩码、CIDR 表示方法、子网、超网、路由、网络 互联网 因特网、ISP、网络分类、上

    2024年02月05日
    浏览(39)
  • HTTPS协议详解:基本概念与工作原理

    个人主页: insist--个人主页​​​​​​ 本文专栏 :网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、HTTPS协议的基本概念

    2024年02月10日
    浏览(40)
  • RIP路由协议简介+基本配置示例

            RIP(Routing Information Protocol)-路由信息协议: 是一种基于距离矢量(Distance Vector)算法的协议,以跳数(被传送数据所经过路由器的个数)为度量来衡量到达目标网络的距离,属于IGP(内部网关协议)协议,有RIP1和RIP2两个版本,基于UDP协议,端口号为520,主要用于

    2024年02月15日
    浏览(37)
  • 音频——I2S 协议基本概念(一)

    I2S 基本概念 飞利浦(I2S)标准模式 左(MSB)对齐标准模式 右(LSB)对齐标准模式 DSP 模式 TDM 模式 I2S 信号线有多种模式 五线 I2S 四线 DAC I2S 四线 ADC I2S 两线 TX I2S 两线 RX I2S 以五线 I2S 为例,各个信号线的功能及描述见下表 信号线 描述 SCLK 串行时钟,也叫位时钟(BCLK),对应数字⾳频

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包