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日
    浏览(32)
  • 深度学习基本概念简介

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

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

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

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

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

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

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

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

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

    2024年02月12日
    浏览(28)
  • 《网络协议》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日
    浏览(33)
  • HTTPS协议详解:基本概念与工作原理

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

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

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

    2024年02月15日
    浏览(32)
  • HTTP协议详解:基本概念与工作流程

    HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用于在计算机网络上进行数据交换的通信协议。它是互联网上最常用的协议之一,被广泛应用于Web浏览器和服务器之间的通信。本文将深入探讨HTTP协议的基本概念和工作流程,帮助读者更好地理解这个重要的通信协议。

    2024年02月10日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包