主要参考百度百科。

1. 什么是HDLC

广域网简称WAN,是一种跨越超大的、地域性的计算机网络集合。通常跨省、市、甚至一个国家。广域网包括很多子网,子网可以是局域网;也可以是小型的广域网。由于串行通信有着传输距离远、成本低的特点,所以远距离、超远距离的通信中较常使用串行通信。广域网以及两种最常用的广域网链路层协议——PPP协议HDLC协议

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协议应用非常广泛,其工作方式可以支持半双工、全双工传送,支持点到点、多点结构,支持交换型、非交换型信道。

2. 简介

HDLC(High-level Data Link Control,高级数据链路控)协议是一种面向比特的高效链路层协议。一般情况下,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协议开始得到了人们的广泛关注,并开始应用于通信领域的各个方面。

3.特点

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

主要有四个特点:

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

4. 基本配置

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

4.1 三种类型的站如下:

  • (1)主站。主站发出的帧叫命令帧,负责对链路进行控制。
  • (2)从站。从站发出的帧叫响应帧,在主站的控制下进行操作。
  • (3)复合站。既具有主站的功能,也有从站的功能,既可以发送命令帧,也可以发送响应帧。

4.2 两种种链路配置如下:

  • (1)非平衡配置。既可用于点对点链路也可用于多点链路。这种链路由一个主站和多个从站组成,可以支持全双工或半双工。
  • (2)平衡配置。只能用于点对点链路。这种配置由两个复合站组成,同样支持全双工或半双工传输。

4.3 三种数据传输方式如下:

  • (1)正常响应方式(Normal Response Mode,NRM):这种方式适合不平衡配置,主站启动数据传输过程,从站只有收到命令时才能发送数据。
  • (2)异步平衡方式(Asynchronous Balanced Mode,ABM):这种方式适合两端都是复合站的平衡配置,任何一方都可以启动数据传输。
  • (3)异步响应方式(Asynchronous Response Mode,ARM):这种方式适合不平衡配置,从站在没有收到主站命令时,就可以启动数据传输服务。

5. 帧类型

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帧的名称和功能:

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

  • a)设置数据传输方式的命令帧和响应帧。
  • b)传输信息的命令帧和响应帧。
  • c)链路恢复的命令帧和响应帧。
  • d)其他的命令帧和响应帧。

HDLC帧的U帧的类型定义 :

6. 帧格式

(1)帧标志F。HDLC采用固定的标志字段01111110作为帧的边界。当接收端检测到一个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位。

控制字段中传输帧的类型用第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帧含有控制字段。这个字段可以包含用户数据的所有比特序列,长度没有限制,但在使用时通常限定了长度。

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

7. 协商过程

随着通信的进步,通信信道的可靠性比过去已经有了非常大的改进。已经没有必要在数据链路层使用很复杂的协议(包括编号、检错重传等技术)来实现数据的可靠传输。因此,不可靠传输协议PPP已成为数据链路层主流协议,而可靠传输责任落到运输层TCP协议身上。

下面来讨论其链路协商的过程。

(1)协商建立过程:HDLC每隔10s后互相发送链路探测的协商报文,报文的收发顺序是由序号决定的,序号失序则造成链路中断。这种用来探询点到点链路是否激活状态的报文称之为keepalive报文。

(2)传输报文过程:将IP报文封装在HDLC层上,数据传输过程中,仍然进行keep-alive的报文协商以探测链路的合法有效。

(3)超时断连阶段:当封装HDLC的接口连续3次(当接收包速率超过1000packets/s时为6次),无法收到对方对自己的递增序号的确认时,HDLC协议Line Protocol由Up向Down转变。此时链路处于瘫痪状态,数据无法通信。

简单的说,链路处于Down状态,当设备检测到载波或网管配置指示物理层可用时,HDLC发送一个UP事件,进入Establish阶段。启动链路检测定时器、初始化超时计数器,通过Keepalive报文交互建立连接,当收到对端链路检测帧时,将链路协议UP并进入Maintain阶段,链路始终处于UP状态、可承载网络层报文。

HDLC协议(一)——基本概念相关推荐

  1. 【学习笔记】局域网基本概念和体系结构,以太网、无线局域网与PPP协议、HDLC协议

    文章目录 一. 局域网:特点与要素 ① 拓扑结构 ② 传输介质 ③ 介质访问控制方法 ④ 局域网的分类 ⑤ IEEE 802标准 ⑥ MAC子层和LLC子层 二. 以太网 ① 概述 ② 提供无连接.不 ...

  2. 3.5计算机网络(无线局域网 PPP协议&HDLC协议 广域网 链路层设备)

    目录 1.IEEE 802.11 && 无线局域网 1.802.11的MAC帧头格式 2.无线局域网的分类 1. 有固定基础设施无线局域网 2. 无固定基础设施无线局域网的自组织网络 ...

  3. 计算机网络-数据链路层(广域网及相关协议(PPP协议帧格式,HDLC协议)数据链路层设备(网桥,交换机))

    文章目录 1. 广域网的概念 2. PPP协议(面向字节的协议) PPP协议组成部分 PPP协议的帧格式 3. HDLC协议(面向比特的协议) HDLC站(主站,从站,复合站) HDLC协议帧格式 4 ...

  4. 3.7 广域网(ppp协议、HDLC协议)

    文章目录 0.思维导图 1.广域网的概念 2.PPP协议 (1)简介及特点 (2)功能 (3)三个组成部分 (4)状态图 (5)PPP帧协议的帧格式 3.HDLC协议 (1)简介及特点 (2)两种配置 ...

  5. 计算机网络——数据链路层局域网、以太网、PPP协议和HDLC协议、链路层设备

    文章目录 前言 一.局域网简介 1.局域网的基本概念和特点 2.局域网的主要要素 3.局域网的分类与 IEEE 802 标准 4.LLC 子层和 MAC 子层 二.以太网 三.无线局域网 四.PPP ...

  6. 计算机网络之数据链路层局域网、以太网及其PPP协议HDLC协议【408_4】

    一.局域网基本概念和体系结构 (一)局域网 局域网(Local Area Network):简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播信道. 特点: ①.特点1:覆盖的地理范围 ...

  7. 【计算机网络】数据链路层——PPP协议和HDLC协议/数据链路层设备

    文章目录 PPP协议和HDLC协议 PPP协议 HDLC协议 站 数据操作方式 HDLC帧 PPP协议和HDLC协议区别 数据链路层设备 网桥的概念及其基本原理 透明网桥 源路由网桥 两种网桥的比较 ...

  8. 3.7 PPP协议和HDLC协议

    3.7 PPP协议和HDLC协议

  9. 【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )

    文章目录 一.HDLC 协议 二.HDLC 站 三.HDLC 帧格式 四.HDLC 帧类型 五.PPP 协议 与 HDLC 协议 对比 一.HDLC 协议 HDLC 协议 : ① 全称 : High- ...

  10. 广域网协议:PPP协议和HDLC协议—Vecloud微云

    点到点协议( Point to Point Protocol,简写PPP)是在点到点链路上传输数据报的一种方法. PPP是一种面向位的协议,可在同步或异步链路上运行. PPP使用高级数据链路控制( H ...

最新文章

  1. mysqldiff对比主从表结构是否一致
  2. 开发日记-20190802 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 18
  3. 速神经网络的训练算法LARS/LAMB工作原理 --UC Berkeley在读博士生尤洋
  4. Java访问控制修饰符详解
  5. 求计算机技术在创新上的应用,计算机技术在教学上的应用
  6. 算法优化笔记|蝙蝠算法的理解及实现
  7. 高质量代码命名规则 代码整洁之道
  8. C#实现微信网页授权
  9. ps和计算机一样吗,ps分辨率和电脑显示不一样怎么办
  10. 计算机课报告书,计算机实训总结报告书范文3篇
  11. aardio匹配问题以及编码问题
  12. React Native入门(十四)之动画(1)Animated详解
  13. java逆波兰式求值_波兰式、逆波兰式与表达式求值
  14. 小知识:peg改性(PEG-Ara-C阿糖胞苷/Scu灯盏乙素/Flud氟达拉滨)后的新变化
  15. VLOOKUP函数 table_array:无效引用
  16. 大型、超大型数据中心园区设计如何审查与优化
  17. python 安装wheel .whl文件
  18. Android应用分身检测
  19. 老李分享:robotium常用API 1
  20. 网页展示水波纹效果 css水波效果

热门文章

  1. 智慧城市投入与产出相关分析预评估模型研究
  2. matlab 矩阵除法求方程组的解,线性方程组求解矩阵除法.PPT
  3. ioi 赛制_如何评价 IOI 2017(国际信息学奥林匹克竞赛)?
  4. vue项目中Echarts两个图表之间连接两条线
  5. 编译原理 3.25 作业
  6. 单片机的软件定时器的设计原理是什么?
  7. 【MDCC 2016】产品与设计峰会现场实录(下)
  8. sicp in python 资源
  9. 使用SpringBoot的优势
  10. 6款好用的在线思维导图工具推荐