标题：HDLC协议
特点与格式
面向比特的协议中最有代表性的是IBM的同步数据链路控制规程SDLC（Synchronous Data Link Control），国际标准化组织ISO （International Standards Organization）的高级数据链路控制规程HDLC（High Level Data Link Control），美国国家标准协会（American National Standards Institute ）的先进数据通信规程ADCCP （ Advanced Data Communications Control Procedure）。这些协议的特点是所传输的一帧数据可以是任意位，而且它是靠约定的位组合模式，而不是靠特定字符来标志帧的开始和结束，故称"面向比特"的协议。
帧信息的分段
SDLC/HDLC的一帧信息包括以下几个字段（Field），所有字段都是从最低有效位开始传送。SDLC/HDLC标志字符SDLC/HDLC协议规定，所有信息传输必须以一个标志字符开始，且以同一个字符结束。这个标志字符是01111110，称标志字段（F）。从开始标志到结束标志之间构成一个完整的信息单位，称为一帧（Frame）。所有的信息是以帧的形式传输的，而标志字符提供了每一帧的边界。接收端可以通过搜索"01111110"来探知帧的开头和结束，以此建立帧同步。地址字段和控制字段在标志字段之后，可以有一个地址字段A（Address）和一个控制字段C（Contro1）。地址字段用来规定与之通信的次站的地址。控制字段可规定若干个命令。SDLC规定A字段和C字段的宽度为8位。HDLC则允许A字段可为任意长度，C字段为8位或16位。接收方必须检查每个地址字节的第一位，如果为"0"，则后边跟着另一个地址字节；若为"1"，则该字节就是最后一个地址字节。同理，如果控制字段第一个字节的第一位为"0"，则还有第二个控制字段字节，否则就只有一个字节。信息场跟在控制字段之后的是信息字段（Information）。信息字段包含有要传送的数据，亦成为数据字段。并不是每一帧都必须有信息字段。即信息字段可以为0，当它为0时，则这一帧主要是控制命令。帧校验字段紧跟在信息字段之后的是两字节的帧校验字段，帧校验字段称为FC（Frame Check）字段， 校验序列FCS（Frame check Sequence）。SDLC/HDLC均采用16位循环冗余校验码CRC （Cyclic Redundancy Code），其生成多项式为CCITT多项式X^16+X^12+X^5+1。除了标志字段和自动插入的"0"位外，所有的信息都参加CRC计算。 CRC的编码器在发送码组时为每一码组加入冗余的监督码位。接收时译码器可对在纠错范围内的错码进行纠正，对在校错范 围内的错码进行校验，但不能纠正。超出校、纠错范围之外的多位错误将不可能被校验发现 。
实际应用时的两个技术问题
"0"位插入/删除技术如上所述，SDLC/HDLC协议规定以01111110为标志字节，但在信息字段中也完全有可能有同一种模式的字符，为了把它与标志区分开来，所以采取了"0"位插入和删除技术。具体作法是发送端在发送所有信息（除标志字节外）时，只要遇到连续5个"1"，就自动插入一个"0"当接收端在接收数据时（除标志字节）如果连续接收到5个"1"，就自动将其后的一个"0"删除，以恢复信息的原有形式。这种"0"位的插入和删除过程是由硬件自动完成的，比上述面向字符的"数据透明"容易实现。SDLC/HDLC异常结束若在发送过程中出现错误，则SDLC/HDLC协议用异常结束（Abort）字符，或称失效序列使本帧作废。在HDLC规程中7个连续的"1"被作为失效字符，而在SDLC中失效字符是8个连续的"1"。当然在失效序列中不使用"0"位插入/删除技术。 
SDLC/HDLC协议规定，在一帧之内不允许出现数据间隔。在两帧信息之间，发送器可以连续输出标志字符序列，也可以输出连续的高电平，它被称为空闲（Idle）信号。
HDLC（高级数据链路控制）产生的背景 
面向字符型数据链路层协议的缺点：
控制报文和数据报文格式不一样；
采用停止等待方式，效率低；
只对数据部分进行差错控制，可靠性较差；
系统每增加一种功能就需要设定一个新的控制字符。
面向比特型协议的设计目标：
以比特作为传输控制信息的基本单元；
数据帧与控制帧格式相同；
传输透明性好；
连续发送，传输效率高。数据链路的配置和数据传送方式数据链路的配置
非平衡配置
平衡配置
非平衡配置方式
非平衡配置中的主站与从站
主站：控制数据链路的工作过程。主站发出命令 
从站：接受命令，发出响应，配合主站工作
非平衡配置中的结构特点
点-点方式
多点方式
非平衡配置方式
正常响应模式（normal response mode，NRM）
主站可以随时向从站传输数据帧；
从站只有在主站向它发送命令帧进行探询（poll），从站响应后才可以向主站发送数据帧。
异步响应模式（asynchronous response mode，ARM）
主站和从站可以随时相互传输数据帧；
从站可以不需要等待主站发出探询就可以发送数据；
主站负责数据链路的初始化、链路的建立、释放与差错恢复等功能。
数据链路的非平衡配置方式
平衡配置方式 
链路两端的两个站都是复合站（combined station）；
复合站同时具有主站与从站的功能；
每个复合站都可以发出命令与响应；
平衡配置结构中只有异步平衡模式（asynchronous balanced mode，ABM）；
异步平衡模式的每个复合站都可以平等地发起数据传输，而不需要得到对方复合站的许可。
数据链路的平衡配置方式HDLC的帧结构F（flag） ：标志字段 
01111110 
帧同步
传输数据的透明性：当帧其它字段的比特序列中出现和标志字段相同的比特序列时，就后出现判断错误。解决办法是零比特插入与删除: 发送端在两个标志字段之间的比特序列中，如果检查出连续的5个1，不管它后面的比特位是0或1，都增加1个0；在接收端，在2个标志字段之间的比特序列中检查出连续的5个1之后就删除1个0 
A（address） ：地址字段
当地址字段的首位为1时表示地址字段为8位；当首位为0时表示地址字段为16位。
当使用非平衡方式传送数据时，地址字段总是填入从站地址；当使用平衡方式传送数据时，地址字段填入应答站地址。
如果地址字段全为1，表示是广播地址。
C（control） ：控制字段
根据其最前面两个比特的取值，可以分为3大类：信息帧、监控帧和无编号帧，也就是I帧、S帧和U帧。
控制字段中第1或第1、2位表示传送帧的类型，第1位为“0”表示是信息帧，第1、2位为“10”是监控帧，“11”是无编号帧。
信息帧中，234位为存放发送帧序号，5位为轮询位，当为1时，要求被轮询的从站给出响应，678位为下个预期要接收的帧的序号。
监控帧中，34位为S帧类型编码。第5位为轮询/终止位，当为1时，表示接收方确认结束。
无编号帧，提供对链路的建立、拆除以及多种控制功能，用34678这五个M位来定义，可以定义32种附加的命令或应答功能。
I（information） ：信息字段
只出现在信息帧和无编号帧中，它是网络层的用户数据。
FCS：帧校验字段
HDLC采用的是CRC校验，校验A、C和I字段的数据。
生成多项式采用CRC-CCITT，G(X)= X16+X12+X5+1
信息帧
如果控制字段的b0为0，那么该帧为信息帧，即I帧
N（S）：b1、b2和b3，表示当前发送的信息帧的序号
N（R）：b5、b6和b7，表示一个站所已正确接收序号N
（R）－1及以前的各帧，发送站应发序号为N（R）的帧
由于是全双工通信，所以通信双方都有一个N（S）和 N（R）
P/F位：b4，探询/终止位
0，表示没有意义
P=1（询问），如果从站有帧发送，则可以向主站发送
F=1（终止），发送的最后一帧，表示从站已经发送结束
P=1和F=1在帧交换过程中成对出现
信息帧
信息帧
目前发送的序号为3帧
已经正确接收序号为3及以前的各帧，要求对方下一次发送序号为4的帧
使用探询位P=1去询问对方
监控帧
如果控制字段的b0=1，b1=0，那么该帧为监控帧，即S帧
无编号帧
如果控制字段的b0=1，b1=1，那么该帧为无编号帧，即U帧
没有N（S）和N（R）位，主要起控制作用，它可以在需要时发出，不影响带序号的信息帧的交换顺序数据链路层的工作过程简化的信息帧结构的表示方法
一个信息帧的表示 
无编号帧的表示方法 
SNRM帧与UA帧结构的表示方法