安防之家讯:HDLC的一帧信息包括以下几个场(Field),如表1所示,所有场都是从最低有效位开始传送。
HDLC帧格式
标志
地址场
控制场
信息场
校验场
0x7e
可变
可变
可变
2BYTE
HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是01111110,称为标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(frame)。所有信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索“01111110”来探知帧的开头和结束,以此建立帧同步。
在标志场之后,有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之同行的从站的地址。控制场可规定若干个命令。A场可以为任意长度,C场为8位或16位。
跟在控制场之后的是信息场I(Information)。信息场包含有需要传送的数据,也称数据场。并不是每一帧都需要有信息场。当信息场为0时,则这一帧主要是控制命令。
紧跟在信息场之后的2个字节是校验场。校验场称为FC(frame Check)场,校验序列FCS(frame Check Sequence)。除了标志场和自动插入的“0”位外,所有的信息都参加CRC计算。通过校验场来检错/纠错,如果超出检错/纠错范围之外的多为错误,那么则不会被校验发现。
帧类型
HDLC的帧分成3种类型,分别是信息帧(I-帧)、监控帧(S-帧)和无编号帧(U-帧)。若控制字段的第一个比特为0,则该帧为信息帧;若前两个比特为10,则表示监控帧;若为11,则为无编号帧。其中信息帧和监控帧提供差错控制和流量控制,用于完成数据链路控制的主要功能。
信息帧
信息帧用于传送有效数据,通常简称I-帧。在信息帧的控制字段中的N(S)用于用于存放发送帧序号,以使发送方不必等待确认而连续发送多帧。N(R)用于存放接收方下一个预期要接收的帧的序号,N(S)和N(R)均为3位二进制编码,可取值0~7。
监控帧
监控帧用于差错控制和流量控制,通常简称S帧。S帧不带信息字段,只有6个字节。S帧的控制字段的第三、四位为S帧类型编码,共有四种不同编码,分别表示:
00-接收就绪(RR),由主站或从站发送。主站可以使用RR型S帧来轮询从站,即希望从站传输编号为N(R)的I帧,若存在这样的帧,便进行传输;从站也可用RR型S帧来作响应,表示从站希望从主站那里接收的下一个I帧的编号是N(R)。
01-拒绝(REJ),由主站或从站发送,用以要求发送方对从编号为N(R)开始的帧及其以后所有的帧进行重发,这也暗示N(R)以前的I帧已被正确接收。
10-接收未就绪(RNR),表示编号小于N(R)的I帧已被收到,但目前正处于忙状态,尚未准备好接收编号为N(R)的I帧,这可用来对链路流量进行控制。
11-选择拒绝(SREJ),它要求发送方发送编号为N(R)单个I帧,并暗示它编号的I帧已全部确认。
3)无编号帧
无编号帧其控制字段中不包含N(S)和N(R),简称U帧。U帧用于提供对链路的建立、拆除以及多种控制功能,但是当要求提供不可靠的无连接服务时,它有时也可以承载数据。
安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/