高级数据链路控制HDLC是一种面向比特的链路层协议,其最大特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。只要数据流中不存在同标志字段F相同的数据就不至于引起帧边界的错误判断。万一出现同边界标志字段F相同的数据,即数据流中出现六个连1的情况,可以用零比特填充法解决。
标准HDLC协议族中的协议都是运行于同步串行线路之上,如:DDN。
HDLC的地址字段是8个比特,在平衡方式时总是写入应答站的地址。
控制字段8比特,用来实现HDLC协议的各种控制信息,并标识本帧的类型。
在标准HDLC协议格式中我们可以看到,它没有包含标识所承载的上层协议信息的字段,所以在链路层封装标准HDLC协议的单一链路上只能承载单一的网络层协议。
HDLC帧结构:
I-帧
1 2 3 4 5 6 7 8(位)
0
|
N(S)
|
P/F
|
N(R)
|
S-帧
1 2 3 4 5 6 7 8(位)
10
|
类型
|
P/F
|
N(R)
|
U-帧
1 2 3 4 5 6 7 8(位)
11
|
M
|
0
|
M
|
标志字段F01111110 | 地址字段A8位 |
控制字段C8位
|
信息字段I长度可变
|
帧校验字段NFS16位
|
标志字段F01111110
|
标志F:标志帧的开始和结尾,用以解决帧的同步。标志为01111110。在两个标志字段之间的比特串中,如果碰巧出现了和标志F一样的比特串,则HDLC采用零比特填空法使之不会出现连续6个"1"。 |
|