本文主要是介绍面向比特的链路控制规程HDLC和点对点协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面向比特的链路控制规程HDLC(High-level Data Link Control):广域网上用得最多的链路层协议
特征:
1.面向连接,不支持身份鉴别
2.协议不依赖于任何一种字符编码集;
3.数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;
4.全双工通信,不必等待确认便可连续发送数据,有较高的数据链路传输效率;
5.所有帧均采用CRC校验,对信息帧进行顺序编号,可防止漏收或重复,传输可靠性高;
6.非平衡方式传送数据时,地址字段总是写入次站的地址
7.平衡方式时,地址字段总是填入确认站的地址。
8.全1地址---广播方式,全0地址---无效地址。
9.帧检验序列FCS字段共16bit,采用的生成多项式是CRC-CCITT
工作原理:
零比特填充法:使一帧中两个F(标志)字段之间不会出现连续6个1。
发送端: 发现有5个连续1,则立即填入一个0。
接收端: 每当发现5个连续1时,删除其后的一个0。
点对点协议PPP(Point-to-Point Protocol):广域网上用得第二多的链路层协议
特征:
1.面向无连接因此,没有帧序号,没有应答帧
2.支持身份鉴别
工作原理:
1.PPP用在同步传输链路时,采用比特填充法(和HDLC的做法一样)。
2.PPP用在异步传输时,使用字符填充法发送(接收时进行相反处理):
3.如果信息中含0x7E,则将其转变成2字节序列(0x7D,0x5E)。
4.如果信息中含0x7D,则将其转变成2字节序列(0x7D,0x5D)。
5.若信息字段中出现ASCII码的控制字符(即小于0x20的字符)b7b6b5b4b3b2b1b0,则将其左数第3位取反(1变0,0变1),即:
b7b6b5b4b3b2b1b0 --> (0x7D, b7b6b5b4b3b2b1b0)
例如:0x13 --> 0x7D,0x33
其它字符不变
这篇关于面向比特的链路控制规程HDLC和点对点协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!