网络协议之网络协议之HDLC帧格式帧格式
主要为大家介绍了高级数据链路控制HDLC,是一个在同步网上传输 数据、面向比特的数据链路层协议,它是
由国际标准化组织根据IBM公司的SDLC协议扩展开发而成的,需要的朋友可以参考下
HDLC
高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输 数据、面向比特的数据链路层
协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC(Synchronous Data Link Control)协议扩展开发而成的。
特点与格式特点与格式
面向比特的协议中最有代表性的是IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织
ISO (International Standards Organization)的高级数据链路控制规程HDLC(High Level Data Link Control),美国国家标准协
会(American National Standar ds Institute )的先进数据通信规程ADCCP ( Advanced Data Communications Control
Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧
的开始和结束,故称"面向比特"的协议。
帧信息的分段 帧信息的分段
SDLC/HDLC的一帧信息包括以下几个场(Field),所有场都是从最低有效位开始传送。
1. SDLC/HDLC标志字符标志字符
SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是01111110,称
标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形式传输的,而标
志字符提供了每一帧的边界。接收端可以通过搜索"01111110"来探知帧的开头和结束,以此建立帧同步。
2.地址场和控制场地址场和控制场
在标志场之后,可以有一个地址场A(Address)和一个控制场C(Contro1)。地址场用来规定与之通信的次站的地址。控制场
可规定若干个命令。SDLC规定A场和C场的宽度为8位。HDLC则允许A场可为任意长度,C场为8位或16位。接收方必须检查
每个地址字节的第一位,如果为"0",则后边跟着另一个地址字节;若为"1",则该字节就是最后一个地址字节。同理,如果控制
场第一个字节的第一位为"0",则还有第二个控制场字节,否则就只有一个字节。
3.信息场信息场
跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,亦成为数据场。并不是每一帧都必须有信息场。即
信息场可以为0,当它为0时,则这一帧主要是控制命令。
4.帧校验场帧校验场
紧跟在信息场之后的是两字节的帧校验场,帧校验场称为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的编码器在发送码组时为每一码
组加入冗余的监督码位。接收时译码器可对在纠错范围内的错码进行纠正,对在校错范围内的错码进行校验,但不能纠正。超
出校、纠错范围之外的多位错误将不可能被校验发现 。
实际应用时的两个技术问题 实际应用时的两个技术问题
1."0"位插入位插入/删除技术删除技术
如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它
与标志区分开来,所以采取了"0"位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5
个"1",就自动插入一个"0"当接收端在接收数据时(除标志字节)如果连续接收到5个"1",就自动将其后的一个"0"删除,以恢复
信息的原有形式。这种"0"位的插入和删除过程是由硬件自动完成的,比上述面向字符的"数据透明"容易实现。
2. SDLC/HDLC异常结束异常结束
若在发送过程中出现错误,则SDLC/HDLC协议用异常结束(Abort)字符,或称失效序列使本帧作废。在HDLC规程中7个
连续的"1"被作为失效字符,而在SDLC中失效字符是8个连续的"1"。当然在失效序列中不使用"0"位插入/删除技术。
SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧信息之间,发送器可以连续输出标志字符序列,也可以
输出连续的高电平,它被称为空闲(Idle)信号。
HDLC中常用的操作方式中常用的操作方式
评论0