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