HDLC数据帧的格式

合集下载

HDLC协议及帧格式介绍

HDLC协议及帧格式介绍

HDLC协议及帧格式介绍
一、HDLC协议:
1、HDLC的定义
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层
协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.
[注]:
这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称"面向比特"的协议。

2、HDLC的特点
HDLC协议具有以下特点:数据报文可透明传输;全双工通讯;采用窗口机制和捎带应答;采用帧校验序列,并对信息帧进行顺序编号,防止漏收或重收,传输可靠性高;传输控制功能和处理功能分离,应用非常灵活。

HDLC执行数据传输控
制功能,一般分为3个阶段:数据链路建立阶段、信息帧传送阶段、数据链路释放阶段。

二、HDLC帧格式:
1、帧格式定义
异步数据业务和以太网数据业务在信道上传输采用连续同步HDLC帧格式封装,收发时钟均采用信道时钟。

0x7E 2 bytes 1 byte n bytes CCITT-16 0x7E
HDLC帧格式
帧头字段:0x7E
地址字段:用于用户信道设备的识别
广播地址:0xFFFF
控制字段:控制字段主要用于识别HDLC帧内封装的信息类型
数据字段:(由信道误码率和丢帧率确定)长度<1020
校验字段:2bytes
校验方式:CCITT-16
帧尾字段:0x7E。

HDLC协议

HDLC协议

HDLC协议协议名称:HDLC协议一、引言HDLC(High-Level Data Link Control)协议是一种数据链路层协议,用于在数据通信中提供可靠的数据传输和错误检测。

本协议旨在定义数据帧的格式、传输方式、错误检测和纠正机制,以及数据链路的控制流程。

二、协议概述1. 定义HDLC协议是一种同步数据链路协议,用于在点对点或点对多点的通信环境中,通过数据链路层提供可靠的数据传输服务。

2. 功能HDLC协议具备以下功能:- 数据帧的封装和解封装- 数据帧的传输和接收- 错误检测和纠正- 数据链路的控制流程三、协议格式1. 帧结构HDLC协议的数据帧由以下字段组成:- 帧起始标志(Flag):用于标识帧的开始和结束,通常为01111110。

- 地址字段(Address):用于标识接收方的地址,可选字段。

- 控制字段(Control):用于控制数据链路层的操作,包括流量控制、错误检测等。

- 信息字段(Information):承载传输的数据。

- 帧检验序列(FCS):用于检测数据帧是否出现错误。

- 帧结束标志(Flag):用于标识帧的结束。

2. 帧封装发送方将数据封装成HDLC帧的格式,按照以下步骤进行:- 在数据前添加帧起始标志(Flag)。

- 添加地址字段(Address),可选。

- 添加控制字段(Control)。

- 添加信息字段(Information)。

- 计算并添加帧检验序列(FCS)。

- 添加帧结束标志(Flag)。

3. 帧解封装接收方根据HDLC帧的格式,按照以下步骤进行帧解封装:- 检测帧起始标志(Flag)。

- 解析地址字段(Address),可选。

- 解析控制字段(Control)。

- 解析信息字段(Information)。

- 校验帧检验序列(FCS)。

- 检测帧结束标志(Flag)。

四、协议流程1. 建立连接- 发送方发送一个带有连接请求的HDLC帧。

- 接收方收到连接请求后,发送一个带有连接确认的HDLC帧。

HDLC通讯总线简介

HDLC通讯总线简介

目录1、HDLC的操作方式 22、HDLC的帧格式 33、HDLC的帧类型 54、HDLC的应用特点 6HDLC简介摘要:本文简单介绍了数据链路控制协议,并重点介绍了HDLC的基本概念及帧格式。

公司的产品越来越先进,单板也越来越复杂,单板与单板之间,单板与终端之间数据传输的容量与可靠性要求也越来越高,简单的通讯方式满足不了要求的。

HDLC链路控制协议是公司常见的同步协议,为使不了解它的人有一个初步的认识,本文简单介绍了数据链路控制协议,重点介绍了HDLC的基本概念及帧格式,如果想进一步了解,可以参考《HDLC协议标准》及HDLC协议控制芯片手册。

一、数据链路控制协议数据链路控制协议也称链路通讯规程,也就是OSI参考模型中的数据链路层协议。

数据链路控制协议一般可分为异步协议和同步协议两大类。

对于异步协议,我们再熟悉不过了,常用的一些单片机及异步串口芯片均提供异步串口,如MCS51、MCS96、8031、80386、16C2552、82C452、SD511等等。

异步协议以字符为独立的传输信息单位,在每个字符的起始处开始对字符内的比特实现同步,但字符与字符之间的间隔时间是不固定的(即字符之间是异步的)。

由于发送器和接收器中近似于同一频率的两个约定时钟,能够在一段较短的时间内保持同步,所以可以用字符起始处同步的时钟来采样该字符的各比特,而不需要每个比特同步。

异步协议中因为每个传输字符都要添加诸如起始位、校验位及停止位等冗余位,故信道利用率很低,一般用于数据速率较低的场合。

同步协议是以许多字符或许多比特组织成的数据块---帧为传输单位,在帧的起始处同步,在帧内维持固定的时钟。

实际上该固定时钟是发送端通过某种技术将其混合在数据中一并发送出去的,供接收端从数据中分离出时钟来。

由于采用帧为传输单位,所以同步协议能更好地利用信道,也便于实现差错控制、流量控制等功能。

同步协议又可分为面向字符的同步协议、面向比特的同步协议及面向字节计数的同步协议。

HDLC协议

HDLC协议

HDLC协议协议名称: HDLC协议一、引言HDLC(High-Level Data Link Control)协议是一种数据链路层协议,用于在通信系统中可靠地传输数据。

本协议旨在规范数据传输的格式、控制和错误检测等方面,以确保数据的可靠性和完整性。

本协议适合于各种数据通信场景,包括局域网、广域网和无线通信等。

二、术语和定义1. HDLC帧(HDLC Frame): HDLC协议中数据传输的基本单位,包括起始标志、控制字段、信息字段、校验序列和结束标志等。

2. 发送方(Sender): 数据传输的发起方。

3. 接收方(Receiver): 数据传输的接收方。

4. 确认帧(Acknowledgment Frame): 接收方向发送方发送的确认信息,用于确认接收到的数据帧。

5. 确认序列号(Acknowledgment Sequence Number): 用于标识已接收到的数据帧的序列号。

6. 窗口大小(Window Size): 发送方和接收方之间允许的未确认帧的最大数量。

三、协议规范1. 帧格式HDLC协议中的帧格式如下:- 起始标志(8 bits): 用于标识帧的开始,固定为01111110。

- 控制字段(8 bits): 用于控制数据传输的各种操作,包括帧类型、流控制和错误检测等。

- 信息字段(0-65535 bits): 用于携带实际的数据。

- 校验序列(16 bits): 用于检测帧传输过程中的错误。

- 结束标志(8 bits): 用于标识帧的结束,固定为01111110。

2. 帧类型HDLC协议定义了以下几种帧类型:- 命令帧(Command Frame): 用于发送命令和请求。

- 响应帧(Response Frame): 用于发送响应和确认信息。

- 信息帧(Information Frame): 用于传输实际的数据。

- 未编号帧(Unnumbered Frame): 用于特殊控制操作,如链路管理和错误处理等。

HDLC协议

HDLC协议

HDLC协议协议名称:HDLC协议一、引言HDLC(High-Level Data Link Control)协议是一种数据链路层协议,用于在计算机网络中进行数据传输和通信。

本协议定义了数据帧的格式、传输控制和错误检测等机制,以确保数据的可靠传输和有效管理。

二、目的本协议的目的是规范HDLC协议的标准格式,确保各个厂商和系统之间的互操作性,提供一种通用的数据链路层协议,以支持可靠的数据传输和通信。

三、术语和定义在本协议中,以下术语和定义适用:1. 发送方(Sender):指发送数据帧的一方。

2. 接收方(Receiver):指接收数据帧的一方。

3. 数据帧(Frame):指在HDLC协议中传输的数据单元。

4. 控制字段(Control Field):指数据帧中用于控制传输的字段。

5. 标志字段(Flag Field):指数据帧中用于标识帧的起始和结束的字段。

6. 帧检验序列(Frame Check Sequence,FCS):指用于检测数据帧传输错误的字段。

四、协议格式HDLC协议的数据帧格式如下:1. 标志字段:每个数据帧的起始和结束都由一个标志字段标识,使用8位二进制字符“01111110”表示。

2. 地址字段(Address Field):用于标识接收方的地址,通常为8位二进制字符。

3. 控制字段:用于控制数据帧的传输,通常为8位二进制字符。

4. 信息字段(Information Field):用于传输实际的数据,长度可变。

5. 帧检验序列:用于检测数据帧在传输过程中的错误,通常为16位二进制字符。

6. 标志字段:与起始标志字段相同,用于标识数据帧的结束。

五、传输过程HDLC协议的传输过程如下:1. 发送方向接收方发送起始标志字段。

2. 发送方发送地址字段,标识接收方的地址。

3. 发送方发送控制字段,控制数据帧的传输方式。

4. 发送方发送信息字段,传输实际的数据。

5. 发送方计算帧检验序列,并将其添加到数据帧中。

HDLC协议

HDLC协议

HDLC协议协议名称:HDLC协议一、引言HDLC(High-Level Data Link Control)协议是一种数据链路层协议,用于在计算机网络中传输数据。

本协议定义了数据传输的规则和流程,确保数据的可靠传输和错误检测。

本协议适用于各种网络环境,包括有线和无线网络。

二、协议目的本协议的目的是规范数据的传输和控制,确保数据在网络中的可靠传输。

通过使用HDLC协议,可以提高数据传输的效率和可靠性,同时减少数据传输过程中的错误。

三、协议范围本协议适用于所有使用HDLC协议的数据传输场景,包括但不限于局域网、广域网和互联网。

四、协议规定1. 帧格式HDLC协议使用帧格式来传输数据。

帧格式如下:- 标志字节(8位):用于标识帧的开始和结束。

- 地址字节(8位):用于标识目标地址和源地址。

- 控制字节(8位):用于控制数据传输的流程。

- 数据字段(可变长度):用于传输实际的数据。

- 帧校验序列(16位):用于检测帧中的错误。

2. 帧传输流程HDLC协议使用以下流程来传输帧:- 发送方发送起始标志字节。

- 发送方发送地址字节,标识目标地址和源地址。

- 发送方发送控制字节,控制数据传输的流程。

- 发送方发送数据字段,包含实际的数据。

- 发送方发送帧校验序列,用于检测帧中的错误。

- 接收方接收帧,并进行错误检测。

- 接收方发送确认帧,表示接收成功。

- 发送方接收确认帧,并继续发送下一帧。

3. 流量控制HDLC协议使用滑动窗口机制进行流量控制,确保发送方和接收方之间的数据传输速度匹配。

发送方根据接收方的确认帧来调整发送速度,以避免数据丢失和传输错误。

4. 错误检测HDLC协议使用CRC(循环冗余校验)算法进行错误检测。

接收方在接收到帧后,计算CRC值并与帧中的校验序列进行比较,以确定帧中是否存在错误。

五、协议实施1. HDLC协议的实施应符合以下要求:- 发送方和接收方应使用相同的帧格式和流程。

- 发送方和接收方应使用相同的错误检测算法。

HDLC帧格式

HDLC帧格式

HDLC的帧格式在HDLC中,数据和控制报文均以帧的标准格式传送。

HDLC中的帧类似于BSC的字符块,但BSC协议中的数据报文和控制报文是独立传输的,而HDLC中的命令应以统一的格式按帧传输。

HDLC的完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成.(1)标志字段(F)标志字段为01111110的比特模式,用以标志帧的起始和前一帧的终止。

标志字段也可以作为帧与帧之间的填充字符。

通常,在不进行帧传送的时刻,信道仍处于激活状态,在这种状态下,发方不断地发送标志字段,便可认为一个新的帧传送已经开始。

采用“0比特插入法”可以实现0数据的透明传输。

(2)地址字段(A)地址字段的内容取决于所采用的操作方式。

在操作方式中,有主站、从站、组合站之分。

每一个从站和组合站都被分配一个唯一的地址。

命令帧中的地址字段携带的是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。

某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组一焉的站接收。

但当一个站或组合站发送响应时,它仍应当用它唯一的地址。

还可用全“1”地址来表示包含所有站的地址,称为广播地址,含有广播地址的帧传送给链路上所有的站。

另外,还规定全“0”地址为无站地址,这种地址不分配给任何站,仅作作测试。

(3)控制字段(C)控制字段用于构成各种命令和响应,以便对链路进行监视和控制。

发送方主站或组合站利用控制字段来通知被寻址的从站或组合站执行约定的操作;相反,从站用该字段作对命令的响应,报告已完成的操作或状态的变化。

该字段是HDLC的关键。

控制字段中的第一位或第一、第二位表示传送帧的类型,HDLC中有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧。

控制字段的第五位是P/F位,即轮询/终止(Poll/Final)位。

(4)信息字段(I)信息字段可以是任意的二进制比特串。

HDLC名词解释

HDLC名词解释

HDLC名词解释HDLC(High-level Data Link Control)是一种数据链路层协议,被广泛应用于计算机网络中,特别是在WAN环境下。

它通常用于传输可靠的数据,以及协调数据的传输速率,确保数据传输的准确性和完整性。

今天,我们将为您介绍HDLC的相关概念和术语,帮助您更好地理解这一协议。

一、HDLC帧格式HDLC帧由不同的字段组成,其中大多数字段是可选的。

帧头和帧尾始终存在。

下面是一个标准HDLC帧的基本结构:标志(Flag):表示数据帧的开始和结束。

值为01111110(0x7E)。

地址(Address):目的地或源的地址。

它通常设置为全局地址或单播地址。

它占8比特位。

控制(Control):用于传输命令或响应的控制码。

它占8比特位。

信息(Data):传输的数据。

长度最多可以为8000比特位,但实际上通常小于它。

校验(FCS,Frame Check Sequence):用于检查数据的完整性。

它是由数据帧中所有比特组成的CRC(循环冗余校验)码。

标志:与开始标志相同,以标识数据帧的结束。

二、HDLC的操作模式HDLC支持三种主要的操作模式,包括单点协议,点到点协议和多点协议。

下面是这三种模式的简要介绍:单点协议:在这种模式下,有一个主机(通常是中央计算机或控制器)与一个或多个终端设备进行通信。

通信是单向或双向的,通常由主机控制。

点到点协议:在这种模式下,两个主机之间建立一条双向通信线路。

每个主机都可以发送和接收数据。

HDLC用于控制数据流和错误处理。

多点协议:在这种模式下,一个主机可以与多个终端设备通信。

这一模式需要一个主机和多个终端设备的地址。

由于汇流节点的存在,可以在不同的设备之间转发信息。

三、HDLC控制码HDLC定义了不同的控制码来控制数据传输。

流量控制,错误检测和纠正等任务施加在各种控制码上。

以下是一些最常用的HDLC控制码:SNRM(Set Normal Response Mode):用于发起一个对点对协议的连接请求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、HDLC数据帧格式:
起始标志要传输的数据块结束标志
011111100011011000010110011011101111110
包括起始和终止标志的信息块称为HDLC的“数据帧”。

起始和终止标志采用相同的帧间隔符“01111110”,即在HDLC规程中,帧与帧之间用“01111110” 所分隔,“帧”构成了通信双方交换的最小单位。

2、一些术语:
HDLC来源于IBM公司的SDLC,因此也采用了一些SDLC的术语和说明。

术语名说明
主站(Primary Station)
控制整个链路的工作,可发出命令来确定和改变链路的状态,包括确定次站、组织数据传输和链路恢复等
次站(Secondary Station)
次站也称从站,指受主站控制,只能发出响应的站
主站与每一次站均维持一条独立的逻辑链路
非平衡结构
由一个主站和一个或多个次站组成,
适用于点-点、点-多点操作
组合站
(Combined Station)
兼有主/次站功能的站。

3、HDLC数据传输模式:
(1)正常响应模式(NRM):主站具有选择、轮询次站的能力,并可向次站发送命令或数据;次站只有在主站询问时才能作为响应传输数据;
(2)异步响应模式(ARM):主站具有初始链路,差错校正和逻辑拆链功能;次站可以主动传输数据;(3)异步平衡模式(ABM):任一组合站均可控制链路,主动传送数据。

4、HDLC一般帧格式:
说明:
(1)F:帧间隔模式:“01111110”——同步符号、帧之间的填充字符。

01111110111110000111100010101111110101010011111110101001111110
(2)A:地址字段:通信对方的地址
(3)C:控制字段:用于区分帧的类型(数据帧、监控帧、无编号帧)
(4)I:信息字段:携带高层用户数据,可以是任意的二进制位串;
(5)FCS:校验码:对A、C、I字段进行循环校验。

g(x)=x16+x12+x5+1 (CCITT和ISO使用);
g(x)=x16+x15+x2+1 (IBM的SDLC使用)。

由于帧中至少含有A(地址)、C(控制)和FCS(帧校验序列)字段,因此整个帧长度应大于32位。

5、“0”比特插入法
为了保证帧间隔符“01111110”的唯一性和帧内数据的透明性,保证A(地址字段)、C(控制字段)、I(信息字段)、FCS(帧校验序列)中不出现01111110的位模式,HDLC采用了‘0’位插入法。

发送端:发送“01111110”后,开始数据发送,并在数据发送过程中,检查发送的位流,一旦发现连续的5个‘1’,则自动在其后插(附)上1个‘0’,并继续传输后继的位流;数据发送结束后,追加帧间隔符“01111110”。

接收端:执行相反的动作:一旦识别出帧间隔符“01111110”之后的位流不是“01111110”,则启动接收过程;若识别出连续5个‘1’和1个‘0’,则自动丢弃该‘0’,以恢复原来的位流;若识别出连续的6个‘1’,表示数据结束,该数据帧接收完成。

6、HDLC控制帧格式:
0 1 2 3 4 5 6 7
信息帧I 监控帧 S 无编号帧 U
0 Ns P/F Nr 10type P/F Nr
11M1P/F M2
说明:
(1)信息帧(I):用于传输用户数据,控制字段的第0位规定为‘0’;
Ns(发送帧序号):说明本帧对应的帧序号(采用模8计数),发送端可以不必等待确认,而连续地发送若干帧(不超过8帧),每发一帧,Ns模8计数一次;
Nr(待收帧序号):说明希望接收对方帧的序号(采用模8计数),Nr隐含指示该序号之前的所有帧已被正确接收;
P/F(查询/终止指示符):对于不同的传输模式,该位具有不同的含义。

当采用ARM和ABM传输模式时,P=1要求对方立即予以响应,并在响应中置F=1。

无论使用何种传输模式,P/F总是一一对应的,在接到F=1的帧之前,不允许再发P=1的帧。

(2)监控帧(S):用于表示接收状态,其控制字段的第0、1位规定为“10”;第2、3位表示了四种类型的监控帧。

Type=00,接收准备就绪(RR),发送该RR监控帧的一方准备接收编号为Nr的帧;
Type=10,未准备就绪(RNR),发送该RNR监控帧的一方说明已经收妥Nr以前的所有帧,但希望对方暂缓发送Nr帧;
Type=01,拒绝接收(REJ),发送该REJ监控帧的一方说明已经收妥Nr以前的所有帧,但编号为Nr 的帧有差错,希望对方重发编号为Nr及其以后的所有帧;
Type=11,选择接收(SREJ),该帧的含义类似REJ监控帧,但希望对方仅仅重发第Nr帧。

(3)无编号帧(U):用于命令的传输(建立/拆除链路)等;
控制字段的第0、1位规定为“11”,第2-3位(M1)和第5-7位(M2)表示U帧的类型。

例如:
M(M1M2)=11100(SABM),某一复合站置本次链路为异步平衡模式;
M(M1M2)=00010(DISC),主站请求释放(拆除)本次链路;
M(M1M2)=00110(UA),次站对主站命令的确认,类似BSC中的ACK;
M(M1M2)=10001(CMDR),次站对主站命令的否认,类似BSC中的NAK;
7、HDLC窗口机制和捎带应答机制:
为了减少应答次数,提高传输效率,HDLC控制规程中引入了窗口机制和稍带应答。

(1)传输窗口:通信双方同意在同一条链路上连续使用的信息帧序号集。

(2)窗口尺寸:通信双方协商同意的在同一条链路上可连续发送、且未被认可的信息帧个数;
HDLC窗口尺寸确定为23-1=7;
即任一方可以最多连续发送7帧而无需对方的确认。

在信息帧中用Nr,Ns来表示当前窗口的情况。

(3)捎带应答:是HDLC传输控制规程用于提高传输效率的又一措施。

允许在反向传输的信息帧中附带确认信息。

(4)超时重发:为了防止发送方无期限地等待接收方的确认,收发双方均设置计时器。

发送方在一定的时间内未收到接收方传来的确认,表示传输有故障,准备重发所有未被确认的帧。

发送方:每发送一信息帧,计时, 直到收到接收方的确认(包括捎带应答);若超时,则重发;
接收方:在正确接收到信息帧后,计时;若在一定的时间内未收到后继信息,则发RR帧,准备接收,并告诉发送方前面已接收。

8、HDLC数据传输过程:
9、HDLC规程分析:
特点:
(1)使用统一的帧格式:实现数据、命令和响应的传输,实施起来方便;
(2)采用‘0’位插入法:使得规程可以支持任意的位流传输,保证了信息传输的透明性;
(3)采用窗口机制和捎带应答:支持全双工工作方式,允许在未收到确认的情况下,连续发送多个帧,提高了信息传输的效率;
(4)采用帧校验序列,并设置窗口序号:可以提高信息传输的正确性和可靠性。

面向二进制位的控制规程比面向字符型的控制规程具有较高的优越性。

相关文档
最新文档