为使不了解它的人有一个初步的认识
重点介绍了HDLC的基本概念及帧格式可以参考
及HDLC协议控制芯片手册
数据链路控制协议
数据链路控制协议也称链路通讯规程数据链路控制协议一般可分为异步协议和同步协议两大类
我们再熟悉不过了如MCS51803116C2552SD511等等
在每个字符的起始处开始对字符内的比特实现同步
即字符之间是异步的由于发送器和接收器中近似于同一频率的两个约定时钟
所以可以用字符起始处同步的时钟来采样该字符的各比特
异步协议中因为每个传输字符都要添加诸如起始位
故信道利用率很低
同步协议是以许多字符或许多比特组织成的数据块---帧为传输单位在帧内维持固定的时钟
供接收端从数据中分离出时钟来所以同步协议能更好地利用信
道流量控制等功能
面向比特的同步协议及面向字节计数的同步协议
其典型代表是IBM公司的二进制同步通讯协议
BISYNC 或 BSCͨ³£Ò²³Æ¸ÃÐ-ÒéΪ»ù±¾Ð-Òé
ISO的标准称为数据通讯系统的基本控制过程
二
IBM公司率先提出了面向比特的同步数据控制规程SDLC
ANSI和ISO均采纳并发展了SDLC ANSI的高级通讯控制过程ADCCP
High_level Data Link Control
链路控制协议着重于对分段成物理块或包的数据的逻辑传输
也称为帧每个响应以及用协议传输的所有信息的媒体和工具
不论是数据还是单独的控制信息均以帧为单位传送
后均有一标志码01111110ÖÕָֹʾ֡µÄͬ²½
ÒÔÃâÒýÆð»ûÒâ¿ÉÒÔ²ÉÓÓ0比特插入法”来解决当发现有连续的5个“1”出现
时然后继续发送后继的比特流同样监视除除标志码以外的所有字段若其后一个比特为“0”ÒÔ»Ö¸´Ô-À´µÄ±ÈÌØÁ÷则可能是插入的“0”发生错误后两种情况可以进一步通过帧的校验序列来加以区分
HDLC具有如下特点
协议不依赖于任何一种字符编码集
数据报文可透明传输
3²»±ØµÈ´ýÈ·ÈÏ¿ÉÁ¬Ðø·¢ËÍÊý¾Ý
4¶ÔÐÅÏ¢Ö¡½øÐÐ˳Ðò±àºÅ´«Êä¿É¿¿ÐÔ¸ß传输控制功能与处理功能分离
由于以上特点
1
µ±¿ªÊ¼½¨Á¢Êý¾ÝÁ´Â·Ê±ËùνÁ´Â·²Ù×÷·½Ê½»¹ÊÇÒԴӽڵ㷽ʽ²Ù×÷
在链路上用于控制目的的节点称为主节点主节点负责对数据流进行组织由主节点发往从节点的帧称为命令帧
连有多个节点的链路通常使用轮询技术
而在点到点链路中每个节点均可为主节点
该节点对于一些链路而言可能是主节点
HDLC中常用的操作方式有3种
1
Normal Response Mode有时也称为非平衡正常响应方式在这种操作方式下从节点只有收到主节点某个命令帧后
响应信息可以由一个或多个帧组成则应指出哪一帧是最后一
帧且具有轮询同时也负责对超时
异步响应方式 ARM
异步响应方式 ARM也是一种非平衡数据链路操作方式ARM下的传输过程由从节点启动
在这种操作方式下该方
式对采用轮询方式的多节点点链路来说是比不可少的
3
Asynchronous Balanced Mode
为了提高链路传输效率在这种操
作方式下
每个节点点即可以作为主节点又可以作为从节点
各个节点都有相同的一组协议也可
以给出应答
2
Êý¾ÝºÍ¿ØÖƱ¨ÎľùÒÔÖ¡µÄ±ê×¼¸ñʽ´«Ë͵«²»ÊǶÀÁ¢´«ÊäµÄF地址字段C信息字段
FCS
标志 F控制字段C 信息字段I帧校验序列字段 FCS标志 F
011111108位8位N位16位01111110 标志字段
标志字段为01111110的比特模式也可以作为帧与帧之间的填充
字符在不进行帧传送的时刻在这种状态下
而接收方则检测每一个收到的标志字段
便可认为新的帧传动已经开始
地址字段
地址字段的内容取决于所采用的操作方式从节点每个从节点
与组合节点都被分配一个唯一的地址而响应帧
中的地址字段所携带的地址是本节点的地址这种地址称为
组地址但当一个节点或组合节
点发送响应时还可以用全“1”地址来表示包含所有节点的地址含有广播地址的帧传送给链路上所有的节点不分配给任何节点
控制字段
控制字段用于构成各种命令及响应发送方主节点或组合节点
利用控制字段来通知被寻址的从节点或组合节点执行约定的操作从节点用该字段作为对
命令的响应该字段是HDLC的关键
第二位表示传送帧的类型即信息帧S帧U帧控制字段的第五位是P/F位POLL/Final
4I
³¤¶Èδ×÷ÏÞ¶¨
Ä¿Ç°¹ú¼ÊÉÏÓõý϶àµÄÊÇ1000-2000比特即无信息字段
帧校验序列字段
帧检验序列字段可以使用16位CRC FCS的生成多项式是CCITT V.41建议的X'16+X'12+X'5+1
HDLC的帧类型
HDLC有信息帧S帧U帧每一种帧中的控制字段的格式及比特定义如图所示
信息帧
信息帧用于传送有效信息或数据I帧以控制字段第一位为0为标志S以便发送方不必等待确认而连续发送多帧R
N与N均为3位二进制编码 监控帧
监控帧用于差错控制和流量控制S帧以控制字段第一位
S帧不带信息字段S帧的控制字段的第三
共有4种不同的编码
00——接受就绪主节点可以使用RR型S帧来轮询从节点
R若存在这样的帧从节点也可以用RR型S帧
来作响应R
01——拒绝用以要求发送方从编号为N开始的帧及其后所有的帧进行重发R
10——接收未就绪R但目前正处于忙状态
R这可用来对链路进行流量控制
SREJ它要求发送方发送编号为N的单个I帧
接收就绪RR型S帧和接收未就绪型S帧有两个主要功能这两种类型的S帧用来表示从站已经准备好或未准备好信息确认编号小于N的所有接收到的I帧
REJ帧用于GO-BACK-N策略
R而N以前的帧已被确认SR
REJ状态即可清除当收到一个N等于SREJ型帧的N
的I帧后