当前位置:文档之家› HDLC协议控制器的设计

HDLC协议控制器的设计

目录

内容摘要 (1)

关键词 (1)

Abstract (1)

Key Words (1)

1.绪论 (2)

1.1研究的意义 (2)

1.2本设计的主要功能 (2)

2.HDLC协议综述 (3)

2.1 HDLC协议的产生背景 (3)

2.2 HDLC协议的帧结构 (4)

2.3 HDLC协议的规程分析 (7)

3.HDLC协议控制器的设计 (8)

3.1 HDLC协议控制器设计方案选择 (8)

3.2 FPGA的设计原则 (9)

3.3 HDLC协议控制器总框架 (10)

3.4 HDLC帧发送器的设计 (11)

3.5 HDLC帧接收器的设计 (15)

参考文献 (18)

致谢 (19)

[说明:在本页中,“目录”二字居中,宋体小二号,加黑,

其它统一由宋体小四号,不加黑排版打印、行间距为1.5]

内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。

采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用Quartus II 9.1平台实现代码编写、综合、编译、仿真。对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。

关键词:HDLC;FPGA;帧收发器;

Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。(宋体,小四号,不加黑)

Key words:(宋体,小四号,加黑)×××□□×××□□×××□□(宋体,小四号,不加黑)

1 绪论

1.1 研究的意义

HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是由国际标准化组织(ISO)制订的。该协议被广泛的用作数据链路层的控制协议,HDLC控制器在网络设备中得到大量的使用,如列车通信网络技术、综合业务数字网ISDN、X.25分组交换网以及帧中继网等。怎样在产品中设计与实现HDLC网络协议也是一个技术研究的热点。

HDLC的一般实现方法为采用 ASIC 器件和软件编程等。ASIC的芯片有Motorola 公司的MC92460,ST公司的MK5025等。应用这些 ASIC 器件时设计简单,功能针对性强,性能可靠,适用于特定用途的大批量产品中。但是这类ASIC芯片存在开发时间长,一旦芯片固有缺陷就不容易解决等问题,而且HDLC标准的文本较多,ASIC芯片出于专用性的目的难以通用于不同版本,缺乏灵活性。HDLC的软件编程方法灵活,通过修改程序就可适用于不同的HDLC应用,但程序运行占用处理器资源多,执行速度慢,实时性不易预测。

FPGA(Field Programmable Gate Array, 现场可编程门阵列)器件采用硬件处理信号,可以反复编程,能够兼顾速度和灵活性,并能多路并行处理。在中小批量通信产品的设计中,FPGA 是取代 ASIC 实现 HDLC 功能的一种合适选择。

1.2 本设计的主要功能

本文实现了一种采用FPGA的HDLC协议控制器的设计和功能仿真。首先综述了HDLC协议的产生背景和帧结构,提出了基于FPGA设计模式的控制器。以HDLC 协议帧的接收和发送为主体,在明确FPGA的设计原则的基础上,对帧收发器进行分功能模块设计,编写代码,时序分析。以发送器为例,其中包括了标志位的生成,插零,FCS校验等模块的设计。接收器跟发送器设计思想类似。在完成各个模块的设计后,使用了Quartus II 9.1自带仿真器对各个模块的功能一一进行了仿真,并对HDLC 协议及其规程进行了验证和分析。

2 HDLC协议综述

2.1 HDLC 协议的产生背景

计算机通信的早期,人们发现对于经常发生误码的实际链路,只要加上了合适的控制规程,就可以是通信变得比较可靠。这些规程都是数据链路层的协议,都是面向字符的。所谓面向字符,就是说在链路上所传送的数据都是由规定的字符集中的字符所组成的。而且,链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。

面向字符的链路控制规程曾在计算机网络的发展过程中起了重要的作用,但

随着发展,这种规程就逐渐暴露出其弱点。其主要限制是:

1.通信线路的利用率低,因为它采用的是停止等待协议,收发双方交替地工作。2.所有通信设备必须使用同样字符的代码,而不同版本的规程要求使用不同的代码。

3.只对数据部分进行差错控制,若控制部分出错就无法控制,因而可靠性差。

4.不易扩展,每增加一种功能就需要设定一个新的控制字符。

1974 年,IBM 公司推出了著名的体系结构SNA。在SNA 的数据链路层规程上采用了面向比特的规程SDLC(Synchronous Data Link Control)。后来IBM 将此规程提交美国国家标准协会ANSI 和国际标准化组织ISO,建议成为国家和国际

标准。ANSI 把SDLC 修改为ADCCP(Advanced Data Communication Control Procedure)作为美国国家标准,而ISO 把SDLC 修改后称为HDLC(High-level Data Link Control),并作为国际标准ISO3309。

HDLC协议有两种链路配置和三种数据传送方式:

1.非平衡模式:

a.正常响应方式NRM(Nomal Response Mode)

b.异步响应方式ARM(Asynchronous Response Mode)

2.平衡模式:

c. 异步平衡方式ABM (Asynchronous Balanced Mode)

2.2 HDLC 协议的帧结构

HDLC的帧格式由六个字段组成,这六个字段可以分为五种类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段I。

图1 HDLC帧结构

标志序列(F)

HDLC指定采用01111110为标志序列,称为F标志。要求所有的帧必须以F标志开始和结束。接收设备不断地搜寻F标志,以实现帧同步,从而保证接收部分对后续字段的正确识别。另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。

在一串数据比特中,有可能产生与标志字段的码型相同的比特组合。为了防止这种情况产生,保证对数据的透明传输,采取了比特填充技术。当采用比特填充技术时,在信码中连续5个“1”以后插入一个“0”;而在接收端,则去除5个“1”以后的“0”,恢复原来的数据序列,如图4所示。比特填充技术的采用排除了在信息流中出现的标志字段的可能性,保证了对数据信息的透明传输。

数据中某一段比特组合恰好

出现和F字段一样的情况会误认为是F字段

发送端在5个连1之后

填入0比特再发送出去填入0比特

在接收端将5个连1之后

图2 比特填充

当连续传输两帧时,前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段。当暂时没有信息传送时,可以连续发送标志字段,使接收端可以一直保持与发送端同步。

●地址字段(A)

地址字段表示链路上站的地址。使用平衡方式(采用ABM),地址字段写入应答站的地址。

HDLC协议没有给出地址字段的具体格式,只对其扩充方法及全站地址、无站地址给出了定义。考虑到实际的需要与实现上的方便,定义地址字面结构如下:

X –未使用

Bit0 置“1”,表示地址字段只有一个字节

C/R 置“1”表示命令帧,置“0”表示响应帧

图3 地址字段定义

地址字段的长度采用8bit时,最多可以表示64个站的地址。地址字段bit2~bit7为“111111”时,定义为全站地址,即通知所有的接收站接收有关的命令帧并按其动作;bit2~bit7为全“0”比特为无站地址,用于测试数据链路的状态。因此有效地址共有62个。

●控制字段(C)

控制字段用来表示帧类型、帧编号以及命令、响应等。由于C字段的构成不同,可以把HDLC帧分为三种类型:信息帧、监控帧、无编号帧,分别简称I帧(Information)、S帧(Supervisory)、U帧(Unnumbered)。在控制字段中,第1位是“0”为I帧,第1、2位是“10”为S帧,第1、2位是“11”为U帧。

图4 基本模式控制字段

注:X-未使用,置0U-未定义,置1。

图5 扩充模式控制字段

●信息字段(I)

信息字段内包含了用户的数据信息和来自上层的各种控制信息。长度小于58Bytes。

●帧校验序列字段(FCS)

帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内,长度定义由于单板中有部分HDLC链路采用HDLC控制器实现,而HDLC控制器只能支持16bits的CRC

2.3HDLC协议的规程分析

1.使用统一的帧格式:实现数据、命令和响应的传输,实施起来方便;

2.采用‘0’位插入法:使得规程可以支持任意的位流传输,保证了信息传输的透明性;

3.采用窗口机制和捎带应答机制:全双工工作方式,允许在未收到确认的情况下,连续发送多个帧,提高了信息传输的效率;

4.采用帧校验序列,并设置窗口序号,可以提高信息传输的正确性和可靠性。

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

3 HDLC协议控制器的设计

3.1 HDLC协议控制器设计方案选择

HDLC协议控制器实现方法有三种:ASIC器件、软件编程以及FPGA器件。

实现HDLC协议的ASIC芯片有Motorola 公司的MC92460、ZILOG 公司的

Z80230/85230、ST 公司的MK5025等。这些集成电路使用简易,功能针对性强,适用于特定用途的大批量产品中。但HDLC标准的文本较多,ASIC芯片出于专用性的目的难于通用于不同版本,缺乏灵活性。而且,专用于HDLC 的ASIC 芯片其片内数据存储器容量有限,通常只有不多字节的FIFO(先进先出存储器)可用,存储深度较浅,对于某些应用来说,当需要扩大数据缓存的容量时,只能对ASIC 芯片再外接存储器或其它电路,这样,ASIC 芯片在使用中就会有一定的限制。

HDLC的软件编程实现,包括PC机和单片机,方法灵活,具有成本低、硬件结构简单、软件编程容易等特点。通过修改程序就可以适用于不同的HDLC协议要求的应用。但是程序运行占用处理器资源多,执行速度慢,对信号的时延和同步性不易预测。

使用FPGA(Field Programmable GateArray,现场可编程门阵列),能够有效的综合前两种方法的优点。FPGA采用硬件技术处理信号,可以通过软件反复编程使用,能兼顾速度和灵活性,可以实时预测和仿真。VHDL语言设计灵活,可以用模拟器来验证程序的功能和时序的正确;不要求设计者非常熟悉器件的内部结构,使得设计者可以集中精力从事设计构思,可以在各EDA平台上运行。在中小批量通信产品的设计生产中,用FPGA实现HDLC功能是一种较好的实现途径。

3.2 FPGA的设计原则

完整的FPGA设计流程分为电路设计与输入、功能仿真、综合、综合后仿真、实现、布局布线后仿真、配置下载与调试等主要步骤。

在设计FPGA系统时,主要考虑以下几个原则:面积和速度的平衡原则与互换原则、硬件原则、系统原则和同步设计原则。

1)面积和速度的平衡原则与互换原则:

这里的“面积”是指一个设计所消耗的FPGA的逻辑资源数量。“速度”是指

设计在芯片上稳定运行时所能够达到的最高频率,与设计时众多时序特征量密切

相关。一般来说,速度的优先级要高于资源耗费。当两者冲突时,采用速度优先的准则。

2)硬件原则

对HDL代码编写而言,它的本质作用在于描述硬件。所以评判一段HDL代码的优劣的最终标准是其描述并实现的硬件电路的性能(包括速度和面积两个方面的指标)。

3)系统原则

系统原要求设计者能够通过全局、整体上把握设计,从而提高设计质量,优化设计效果。

4)同步设计原则

同步时序设计是FPGA设计的最重要原则之一。

异步电路容易产生毛刺和竞争冒险;同步时序电路主要信号和输出信号都由时钟驱动触发器产生,能够避免毛刺,信号稳定。

从资源使用方面考虑,在FPGA中,同步设计并不比异步设计浪费资源。特别需要注意的是,不同的时钟域的接口需要进行同步。

还要考虑全局时钟布线资源的利用。全局时钟资源由特殊的工艺实现,具有很高的扇出性能,且到达芯片内部的所有可配置单元、FO单元和选择性块RAM的时延和抖动都为最小。逻辑设计中使用非常频繁的时钟信号、预设置信号、复位信号和使能信号均应从全局脚引入。

3.3 HDLC协议控制器总框架

由结构图可以看出,HDLC协议控制器分为总控制模块、帧发送器、帧接收器,按具体功能模块划分,每个帧控制器又划分为控制、数据缓冲、插零、删零、标志位等模块。各个模块之间的连接时依靠控制信号和寄存器的配置实现的,通过配置好总控制模块的各个控制信号,从而组成整体的HDLC帧的收发功能。具体电路如下图所示:

3.4 HDLC帧发送器的设计

帧发送器是将信息按照HDLC协议的格式封装成帧并发送出去,其中包括了帧头帧尾标志位的插入、插零、FCS校验和发送模块。通过配置功能选择寄存器addr选择发送功能,并设置好时钟、复位等控制信号即可实现帧发送器的功能。

3.4 .1 帧发送器的主要功能

1)插零

发送器接收到数据时,首先检测是否数据中有5个连续的‘1’,如若有就在其后面插入一个‘0’。

2)标志位生成

当接收到信号开始发送数据时,将“7E”加在帧头和帧尾,并发送出去。

3)CRC校验

帧校验序列用于对帧进行循环冗余校验,其校验范围从地址字段的第1比特到信息字段的最后一比特的序列,并且规定为了透明传输而插入的“0”不在校验范围内。4)数据缓冲

3.4 .2 帧发送器的组成

帧发送器功能组成模块

●数据缓冲模块( txbuff):

数据缓冲模块负责将接收到的数据缓存起来,然后供后续模块调用数据。其端口定义如下图:

数据缓冲模块管脚定义图

初始化之后,当控制端收到发送数据的信号时,将txenable和wr端口置‘1’,数据由txdatainbuff输入,txbuff开始缓冲数据,当数据缓冲满了将full置‘1’或达到了预定的数值时会将txdone置‘1’。数据缓冲完后,txdataavail置‘1’表示此时缓冲器内数据可以供调用,数据由txdataoutbuff输出。

txbuff模块对帧的数据量根据存储模块的大小和后面数据处理能力来决定,模块输出的8比特并行数据。

●CRC校验模块(txfcs):

在通信系统中传输数据的可靠性即误码率是非常重要的,因此在传输的数据中需要插入一定的校验信息。根据HDLC协议的要求,数据发送前要对帧内所有的数据进行CRC多项式的计算,并将结果一起发送出去,CRC校验的模块引脚图如下图:

发送器CRC校验模块

系统初始处于idle_st状态,当收到读数据信号时(rdy置‘1’),进入read_st状态,如果txdataavail有效txfcs将rdbuff置“1”开始从txbuff中读取数据,然后将数据一一进行CRC多项式运算,并将数据一起封装在帧里面发送出去。

●txsynch模块:

txsynch模块的功能是将总控制模块、txbuff模块、txfcs模块和txchannel模块连接,模块引脚图如下:

txsynch模块引脚图

●txchannel模块:

txchannel模块又由zeroins、txcont、flag_ins3个模块构成,分别负责标志位的生成和插零功能的实现,其模块引脚图如下:

txchannel模块引脚图

1)标志位生成模块flag_ins:

标志位生成模块负责对待发送的数据进行帧头尾的添加,其端口定义图如下图:

flag_ins模块引脚图

当该模块接收到控制使能信号时(TXEN置”1”),串行数据由TXD端口输入,TX端口输出已加好标志位的串行数据流。

标志位的仿真时序图如下图:

发送端标志位仿真时序图

设定发送数据为“10101010”,由图可知数据流中已加入“0x7E”的标志位,这是构建HDLC帧的第一步。

2)插零模块zeroins:

为了保证数据链路的透明传输(即可以传输任意组合的比特流),HDLC发送器在遇到5个连“1”的情况下,为了防止接收端误判帧头或帧尾,必须在其后填充一个“0”比特。其模块引脚图如下:

当data[7..0]端口接收到数据时,在时钟上升沿来到时利用移位寄存器,进行8位数据并串转换,在模块内定义一个5位的寄存器,对转换后的连续的5比特数据进行求与运算,若是连续的5个“1”比特,则在后面插入一个“0”比特。

插零功能仿真时序图如下:

发送端插零模块仿真时序图

由图可以看出,输入数据值为“11111000”时,由于数据的高5位均为“1”,根据每逢5个连续的“1”插一个“0”,所以输出的数据流中变成了“111110000”3.5 HDLC帧接收器设计

帧接收器设计的模块与帧发送器的设计过程类似,接收器负责标志位检测、CRC 生成、删零模块,基本与帧发送器相逆。同样帧接收器的数据缓冲模块也与帧发送器的设计过程相似。通过配置addr寄存器即可实现HDLC帧接收器的整体功能。

3.5 .1 帧发送器的主要功能

1)标志检测:此模块检测比特流中的“7E”,作为数据帧开始和结束的标志。

2)删零:接收数据时,每遇到连续的5个“1”,就将其后面的一个“0”删掉。3)CRC检测:采用CRC-12,也可以不进行检测。

3.5 .2 帧发送器的组成

●数据缓冲模块( rxbuff):

帧接收器的数据缓冲模块,跟发送器的缓冲模块功能相似,但是逻辑相逆。这里是将从txchannel中收到的数据缓存起来,等到缓冲满了,供用户调用数据。

数据缓冲模块引脚图如下:

●rxchannel模块:

rxchannel也包含了rxcont、flagdetect、zerodetect这3个模块。

Rxchannel模块引脚图如下:

Rxchannel模块引脚图

1)标志位检测功能模块引脚图:

接收器标志位检测引脚图

标志位检测的主要功能是检测接收到数据流的帧头,确定帧的边界。帧头判别式如下:

FlagVar := not ShiftReg(0) and ShiftReg(1) and ShiftReg(2) and ShiftReg(3) and ShiftReg(4) and ShiftReg(5) and ShiftReg(6) and not ShiftReg(7);FlagDetect <= FlagVar;

如果检测到FlagDetect其值为高,则表明检测到帧头的出现,这样就可将为下个模块提高控制信号,提示可以开始接收数据。若为零,则表示帧头还未到来。

标志位检测功能模块仿真时序图如下:

标志位检测功能模块仿真时序图1

由图可知,输入标志位“0x7E”之后紧跟着的是“1111000000001111”数据流。输出数据data如下图所示:

标志位检测功能模块仿真时序图2

这是输出的8比特并行数据,两组数据分别是“11110000”和“00001111”,可见帧接收器正确的接收到了发出的数据。

2)零检测功能模块引脚图:

零检测功能模块引脚图

零检测功能模块是检测比特流中连续“1”的个数,向后面的提供控制信号,以完成删零判断,检测帧结束标志的功能。模块内设置一个计数器,用来计算连续“1”

的个数。若是计数值为6且下一接收比特为“0”,表明检测到结束标志。当计数器值为5且下一比特为“0”,则表明该“0”比特应该删去。

零检测功能模块仿真时序图如下:

由图可知,输入的数据流是“11111000110011110”数据流,其中前面包含了连续的5个“1”。输出数据data如下图所示:

输出Data中第一组数据是“11111001”第二组是“10011110”,显然第一组数据中已经删除了一个“0”。

HDLC协议控制器的设计

目录 内容摘要 (1) 关键词 (1) Abstract (1) Key Words (1) 1.绪论……………………………………………………………………2 1.1研究的意义 (2) 1.2本设计的主要功能………………………………………………2 2.HDLC协议综述 (3) 2.1 HDLC协议的产生背景 (3) 2.2 HDLC协议的帧结构 (4) 2.3 HDLC协议的规程分析 (7) 3.HDLC协议控制器的设计………………………………………………8 3.1 HDLC协议控制器设计方案选择…………………………………8 3.2 FPGA的设计原则 (9) 3.3 HDLC协议控制器总框架………………………………………10 3.4 HDLC帧发送器的设计 (11) 3.5 HDLC帧接收器的设计 (1) 5 参考文献…………………………………………………………………18 致谢 (19) [说明:在本页中,“目录”二字居中,宋体小二号,加黑, 其它统一由宋体小四号,不加黑排版打印、行间距为1.5]

内容摘要:HDLC(高级数据链路控制)协议是一种面向比特的链路控制规程,广泛的用作数据链路层的控制协议。论文在分析和研究HDLC协议的基础上,提出了一种基于FPGA(现场可编程门阵列)的HDLC协议控制器的设计。对HDLC协议控制器的功能进行划分,分别设计了标志位的检测和生成、插零和删零、FCS的校验等控制模块。 采用VHDL硬件描述语言在FPGA内部实现HDLC协议的各功能模块,本设计使用QuartusII 9.1平台实现代码编写、综合、编译、仿真。对HDLC链路控制规程功能,帧控制和FCS校验功能进行了仿真实现。 关键词:HDLC;FPGA;帧收发器; Abstract:(宋体,小四号,加黑)××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××。(宋体,小四号,不加黑) Key words:(宋体,小四号,加黑)×××□□×××□□×××□□(宋体,小四号,不加黑)

HDLC协议

什么是HDLC?HDLC是什么意思? HDLC英文全称High level Data Link Control,高级数据链路控制,HDLC是一个在同步网上传输数据、面向位的数据链路层协议,它是个由1970年代IBM所提出的对称式资料连结控制(Synchronous Data Link Control,SDLC)所研发出来的ISO标准。 高级数据链路控制(HDLC)协议是基于的一种数据链路层协议,促进传送到下一层的数据在传输过程中能够准确地被接收(也就是差错释放中没有任何损失并且序列正确)。HDLC 的另一个重要功能是流量控制,换句话说,一旦接收端收到数据,便能立即进行传输。H DLC 具有两种不同的实现方式:高级数据链路控制正常响应模式即HDLC NRM(又称为SDLC)和 HDLC 链路访问过程平衡(LAPB)。其中第二种使用更为普遍。HDLC 是 X.25 栈的一部分。 HDLC 是面向比特的同步通信协议,主要为全双工点对点操作提供完整的数据透明度。它支持对等链路,表现在每个链路终端都不具有永久性管理站的功能。另一方面,HDLC NRM 具有一个永久基站以及一个或多个次站。 HDLC LAPB 是一种高效协议,为确保流量控制、差错监测和恢复它要求额外开销最小。如果数据在两个方向上(全双工)相互传输,数据帧本身就会传送所需的信息从而确保数据完整性。

帧窗口是用于在接收第一个帧已经正确收到的确认之前发送复帧。这就意味着在具有长“turn-around”时间滞后的情况下数据能够继续传送,而不需要停下来等待响应。例如在卫星通信中会发生这种情形。 通常,帧分为三种类型: 信息帧:在链路上传送数据,并封装OSI体系的高层; 管理帧:用于实现流量控制和差错恢复功能; 无编号帧:提供链路的初始化和终止操作。 协议结构 Flag ― 该字段值恒为 0x7E。 Address Field ― 定义发送帧的次站地址,或基站发送帧的目的地。该字段包括服务访问点(6比特)、命令/响应位(表示帧是否与节点发送的信息帧有关或帧是否被节点接收)、地址扩展位(通常设置为1字节长)。当设置错误时,表示一个附加字节。

实验16 路由器接口HDLC协议封装配置(改写)

实验18路由器接口HDLC协议封装配置 【背景知识】 教材4.4.3内容。理解掌握如下知识点: (1)理解在广域网环境下采用串行方式进行通信,因此需要相应的串行通信协议,如HDLC、PPP、Frame-Relay等; (2)掌握串行通信时的DTE和DCE概念,理解主要区别在于DCE提供时钟信号而DTE只是接受时钟信号; (3)cisco路由器的串行端口上,HDLC是缺省配置,而且采用的是cisco的私有协议HDLC,而不是通用的HDLC标准。 (4)在实验室环境中,将两台路由器直接相连(称为背靠背连接)。虽然路由器本质上属于DTE,但在此环境下可以将其中一台路由器模拟为DCE。究竟哪台路由器是DCE,取决于具体的连线。确定为DCE的路由器串行端口,必须配置时钟信号。 【实验拓扑】 实验线路连接图8-21所示,实验时使用Cisco Packet Tracer5.2完成拓扑结构搭建。 图8-21 实验18线路连接图 【实验内容】 (1) 选择两台C2811 路由器,分别关闭电源后添加WIC-2T 模块,添加位置为插槽0/接口适配器0,如下图8.22 所示。开启电源之后使用Serial 电缆将两台路由器的Serial0/0/0接口进行连接,连接时使得C2811B 为DCE 端、C2811A 为DTE 端。 图8.22 WIC-2T 模块安装位置 【提示1】图8.22所示界面,可以单击某台路由器的图标,然后在弹出的框中选择“Physical”选项卡,接着在左侧一栏中选择WIC-2T,最后按住鼠标左键不变拖动到对应的适配器即可。 【提示2】在选择线缆时,用串行线旁边带时钟符号的线先连接C2811B,那么C2811B即为DCE 端,线另外一头所连接的路由器C2811A就是DTE;反之,亦成立。 (2) 参阅教材4.4.3 中内容,配置C2811A 接口Serial0/0/0 的IP 地址192.168.1.1/24 和二层协议封装为HDLC,配置C2811B 接口Serial0/0/0 的IP 地址192.168.1.2/24 和二层协

HDLC协议概述

HDLC协议概述 刘文龙(北京理工大学信息与电子学院)学号2120110886 摘要:不同企业和不同公司的产品越来越先进,单板也越来越复杂,单板与单板之间,与终端之间数据传输的容量与可靠性要求也越来越高,简单的通讯方式满足不了要求的。HDLC 链路控制协议是现在常见的同步协议,为使不了解它的人有一个初步的认识,本文对数据链路层的HDLC协议进行综述介绍,主要内容包括HDLC的发展数据链路控制协议,HDLC协议的主要内容、存在的技术标准以及HDLC的应用和发展前景等。并重点介绍了HDLC的基本概念及帧格式。如果想进一步了解,可以参考和查阅其他相关资料。 关键词:HDLC,数据链路层,帧格式,帧结构 一HDLC概述 1.1 HDLC的发展历史 高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的.其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。1974年,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(S ynchronous Data Link Control)。 随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准: 1* ANSI的高级通信控制过程ADCCP(Advanced Data Control Procedure), 2* ISO的高级数据链路控制规程HDLC(High-level Data Link Contl)。 从此,HDLC协议开始得到了人们的广泛关注,并开始应用于通信领域的各个方面。1.2 HDLC的特点 HDLC是面向比特的数据链路控制协议的典型代表,有着很大的优势: 1* HDLC协议不依赖于任何一种字符编码集; 2*数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现; 3*全双工通信,有较高的数据链路传输效率; 4*所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高; 5*传输控制功能与处理功能分离,具有较大灵活性。 由于以上特点,目前网络设计及整机内部通讯设计普遍使用HDLC数据链路控制协议。HDLC已经成为通信领域额不可缺少的一个重要协议。

HDLC协议原理及其概述

HDLC协议原理及其应用概述 摘要:数据链路层的主要功能是在物理层的数字比特流或字节流上传输信息帧,而高级数据链路控制HDLC(High-level Data Link Control)规程是通信领域现阶段应用十分广泛的一个数据链路层协议。HDLC是面向比特的数据链路控制协议的典型代表,它是由国际标准化组织(ISO)定制的,为在数据链路层上操作提供了一系列的标准。本文介绍了HDLC协议的发展历史、主要内容、存在的标准及其应用和发展前景。 关键词:数据链路层、HDLC协议 引言 根据通信的功能,整个通信过程可以分为若干层,每一层的对等协议通过使用下层服务对齐上层提供服务。其中数据链路层在物理层提供服务的基础上向网络层提供透明的和可靠的数据传输服务。为此,数据链路层必须具备一系列相应的功能,主要有:将数据组合成帧,并向帧中插入地址或协议类型信心;提供差错控制以确保可靠的传输;提供流量控制,以避免接收端缓冲区溢出;提供链路管理控制功能。 数据链路层的协议可以分为两类:面向字符的协议和面向比特的协议。其中HDLC(高级数据链路控制)就是一种重要的面向比特的数据链路层协议。 一.HDLC的发展历史 最早的数据链路层协议是面向字符的,有很多缺点:控制报文和数据报文格式不一样;采用停止等待方式,效率低;只对数据部分进行差错控制,可靠性较差;系统每增加一种功能就需要设定一个新的控制字符。为克服这些缺点,上世纪七十年代初,IBM公司推出了著名的体系结构SNA。在SNA的数据链路层规程采用了面向比特的规程SDLC(Synchronous Data Link Control)。所谓“面向比特”就是帧首部中的控制信息不是由几种不同的控制字符组成,而是由首部中各比特的值来决定。由于比特的组合是多种多样的,因此DLC协议能够满足各种用户的不同需求。此外,SDLC还使用同步传输,效率比异步传输有了很大的提高。后来ISO把SDLC修改后成为HDLC(High-level Data Link Control),作为国际标准ISO 3309。我国相应的标准是GB 7496。CCITT则将HDLC再修改后称为链路接入规程LAP(Link Access Procedure),并作为X.25建议书的一部分。不久,HDLC的新版本又把LAP修改为LAPB,“B”表示平衡型(Balanced),所以LAPB叫做链路接入规程(平衡型)。

HDLC协议

HDLC 高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的. 七十年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC (Synchronous Data Link Control)。随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:ANSI的高级通信控制过程ADCCP(Advanced Data Control Procedure),ISO的高级数据链路控制规程HDLC(High-level Data Link Contl)。 链路控制协议着重于对分段成物理块或包的数据的逻辑传输,块或包由起始标志引导并由终止标志结束,也称为帧。帧是每个控制、每个响应以及用协议传输的所有信息的媒体的工具。所有面向比特的数据链路控制协议均采用统一的帧格式,不论是数据还是单独的控制信息均以帧为单位传送。 每个帧前、后均有一标志码01111110,用作帧的起始、终止指示及帧的同步。标志码不允许在帧的内部出现,以免引起畸意。为保证标志码的唯一性但又兼顾帧内数据的透明性,可以采用“0比特插入法”来解决。该法在发送端监视除标志码以外的所有字段,当发现有连续5个“1”出现时,便在其后添插一个“0”,然后继续发后继的比特流。在接收端,同样监除起始标志码以外的所有字段。当连续发现5个“1”出现后,若其后一个比特“0”则自动删除它,以恢复原来的比特流;若发现连续6个“1”,则可能是插入的“0”发生差错变成的“1”,也可能是收到了帧的终止标志码。后两种情况,可以进一步通过帧中的帧检验序列来加以区分。“0比特插入法”原理简单,很适合于硬件实现。 在面向比特的协议的帧格式中,有一个8比特的控制字段,可以用它以编码方式定义丰富的控制命令和应答,相当于起到了BSC协议中众多传输控制字符和转义序列的功能。 作为面向比特的数据链路控制协议的典型,HDLC具有如下特点:协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;所有帧均采用CRC校验,对信息帧进行编号,可防止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性和较完善的控制功能。由于以上特点,目前网络设计普遍使用HDLC作为数据链路管制协议。 1.HDLC的操作方式 HCLC是通用的数据链路控制协议,当开始建立数据链路时,允许选用特定的操作方式。所谓链路操作方式,通俗地讲就是某站点以主站方式操作,还是以从站方式操作,或者是二者兼备。 在链路上用于控制目的站称为主站,其它的受主站控制的站称为从站。主站负责对数据流进行组织,并且对链路上的差错实施恢复。由主站发往从站的帧称为命令帧,而由由站返回主站的帧称响应帧。 连有多个站点的链路通常使用轮询技术,轮询其它站的站称为主站,而在点到点链路中每个站均可为主站。主站需要比从站有更多的逻辑功能,所以当终端与主机相连时,主机一般总是主站。 在一个站连接多条链中的情况下,该站对于一些链路而言可能是主站,而对另外一些链路而言又可能是从站。 有些可兼备主站和从站的功能,这站称为组合站,用于组合站之间信息传输的协议是对称的,即在链路上主、从站具有同样的传输控制功能,这又称作平衡操作,在计算

通信网_HDLC协议概述

HDLC协议概述 摘要 本文首先介绍了HDLC的发展历史以及HDLC协议的链路配置、帧结构等内容,并对现存的HDLC标准和其应用范围及发展前景进行了概述。 关键词 HDLC协议数据链路层标准 正文 一、HDLC发展历史 高级数据链路控制(High-level data link control),简称HDLC,是一个在同步网上传输数据、面向比特的数据链路层协议。 60年代,英国NPL网首先提出分组交换的概念。之后,美国的ARPA网采用分组交换的方式运行。计算机网络纷纷出现,但原来用于终端到计算机之间的通信的控制规程都是以字符为基础的,它们往往难以满足计算机到计算机之间的通信要求。70年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC(Synchronous Data Link Control),SDLC是IBM 系统网络体系结构Systems Network Architecture(SNA)数据链路层的协议。随后,美国国家标准化协会ANSI将SDLC修改为ADCCP(Advanced Data Control Procedure)做为国家标准;ISO将修改后的SDLC称为高级数据链路控制HDLC(High-level Data Link Contl),并将它做为国际标准。HDLC与基本型规程相比较,它的主要进步在于引入一个标志F(01111110)和一个0比特插入机构,使传输数据的控制机构简单,并把面向比特的能力引入传输机构。 国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。OSI 参考模型将整个网络通信的功能划分为七个层次,它们由低到高分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 HDLC协议 数据链路层,把从物理层来的原始数据打包成帧。数据链路层负责帧在计算机之间的无差错传递。在ISO标准协议集中,数据链路层采用了HDLC协议。

ppp协议和hdlc协议区别

PPP帧格式和HDLC帧格式相似,如图1所示。二者主要区别:PPP 是面向字符的,而HDLC是面向位的 图1 PPP帧格式 可以看出,PPP帧的前3个字段和最后两个字段与HDLC的格式是一样的。标志字段F为0x7E(Ox表示7巳,但地址字段A和控制字段C 都是固定不变的,分别为OxFF 0x03。PPP协议不是面向比特的,因而所有的PPP帧长度都是整数个字节。 与HDLC不同的是多了 2个字节的协议字段。协议字段不同,后面的信息字段类型就不同。如: 0x0021――信息字段是IP数据报 0xC02信息字段是链路控制数据 LCP 0x8021 ――信息字段是网络控制数据 NCP 0xC023信息字段是安全性认证 PAP 0xC025信息字段是LQR 0xC223信息字段是安全性认证 CHAP 当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是面向字符型的,所以它不能采用 HDLC所使用的零比特插入

法,而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D, 0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D, 0x5D)。若信息字段中出现ASCI码的控制字符,则在该字符前面要加入一个0x7D字节。这样做的目的是防止这些表面上的 ASCI码控制字符被错误地解释为控制字符。HDLC帧结构 HDLC的帧格式如图3所示,它由六个字段组成,这六个字段可以分为五中类型,即标志序列(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验字段(FCS)。在帧结构中允许不包含信息字段 I。 图3 HDLC帧结构 (1)标志序列(F) HDLC指定采用01111110为标志序列,称为F标志。要求所有的 帧必须以F标志开始和结束。接收设备不断地搜寻F标志,以实现帧同步,从而保证接收部分对后续字段的正确识别。另外,在帧与帧的空载期间,可以连续发送F,用来作时间填充。

HDLC协议完整过程图解

下图是HDLC的工作过程示意图,对每个过程进行解释。 (a)链路的建立和清除。 SABM:A向B发出SABM无编号帧,设置异步平衡模式; SABM:超时,没有收到B发出的UA无编号确认帧,发送端自动重发;UA:此时B准备就绪,发出UA确认帧,链接建立; DISC:A发出DISC断开帧; UA:B回应UA确认帧,链接拆除。

(b)双向数据交换 I00:A发送第0帧信息帧,并表示期望接收到对方第0帧信息; I01:B发送第0帧信息帧,并表示期望接收到对方第1帧信息,同时表示对方第1帧以前的帧已经可靠地接收; I11:A发送第1帧信息帧,并表示期望接收到对方第1帧信息,同时表示对方第1帧以前的帧已经可靠地接收; I21:A发送第2帧信息帧,并表示期望接收到对方第1帧信息; I13:B发送第1帧信息帧,并表示期望接收到对方第3帧信息,同时表示对方第3帧以前的帧已经可靠地接收; I32:A发送第3帧信息帧,并表示期望接收到对方第2帧信息,同时表示对方第2帧以前的帧已经可靠地接收; I24:B发送第2帧信息帧,并表示期望接收到对方第4帧信息,同时表示对方第4帧以前的帧已经可靠地接收; I34:B发送第3帧信息帧,并表示期望接收到对方第4帧信息; RR4:A表示准备接收4号帧信息,确认序号为4以前的帧已经接收。

(c)接收站忙 I30:B发出第3帧信息帧,表示期望并表示期望接收到对方第0帧信息;RNR4:A表示暂停接收下一帧,无法接受4号帧信息,确认4及其以前的各帧RNR0P:B询问A是否准备就绪,期待A发送信息帧0; RNR4F:A仍未准备就绪,无法接受4号帧信息; RNR0P:B再次询问A是否准备就绪,期待A发送信息帧0; RR4F:A发出监督帧,RR表示准备接收4号帧信息,确认序号为4以前的帧已经接收。 I40:B发出第4帧信息帧,表示期望并表示期望接收到对方第0帧信息; (d)后退重发

HDLC是哪一层的协议

竭诚为您提供优质文档/双击可除HDLC是哪一层的协议 篇一:osi七层模型的每一层都有哪些协议、pppoe机制 osi七层模型的每一层都有哪些协议由低到高 谈到网络不能不谈osi参考模型,osi参考模型(osi/Rm)的全称是开放系统互连参考模型(opensysteminterconnectionReferencemodel,osi/Rm),它是由国际标准化组织iso提出的一个网络系统互连模型。虽然osi参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考...... 物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。只是说明标准在这一层,数据的单位称为比特(bit)。 属于物理层定义的典型规范代表包括:eia/tiaRs-232、eia/tiaRs-449、V.35、Rj-45、fddi令牌环网等。 第一层:物理层

数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。 在这一层,数据的单位称为帧(frame)。 数据链路层协议的代表包括:aRp、RaRp、sdlc、hdlc、ppp、stp、帧中继等。第二层:数据链路层802.2、802.3atm、hdlc、FRameRelay 网络层负责对子网间的数据包进行路由选择。网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。 网络层协议的代表包括:ip、ipx、Rip、ospF等。 第三层:网络层ip、ipx、appletalk、icmp 传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。在这一层,数据的单位称为数据段(segment)。 传输层协议的代表包括:tcp、udp、spx等。 第四层:传输层tcp、udp、spx 会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。 第五层:会话层Rpc、sql、nFs、xwindows、asp

HDLC协议

Page: 1? 2002 A.W. Krings CS420/520: Data Communications, Lecture 21 Data Link Control Protocols u HDLC (bit-oriented) –High-level Data Link Control (HDLC) is an enhanced derivative of SDLC from IBM. –It’s the most important data link protocol. It is the default serial link protocol for Cisco routers. –International standard defined by ISO for point-to-point and multipoint links. ?Supports full-duplex, transparent-mode operation –Terminology/Features ?Frames sent by primary to secondary are commands , from secondary to primary are responses ?unbalanced configuration : e.g. point-to-point with single primary and secondary, or multipoint with single primary and multiple secondaries ?balanced configuration: point-to-point with two primaries and two secondaries. (Stations are called combined stations ) Page: 2? 2002 A.W. Krings CS420/520: Data Communications, Lecture 21 Data Link Control Protocols –Three operational modes ?Normal response mode (NRM) n used in unbalanced conf. n secondaries talk only if asked ?Asynchronous Balanced Mode (ABM) n each station has equal status n performs primary and secondary functions n used in X.25 ?Asynchronous Response mode (ARM) n used in unbalanced conf. n allows secondaries to initiate transmission without explicit permission from primary

相关主题