PPP和HDLC协议简介
ppp协议(点到点协议)属于网络接口层,主要用于拨号接入Internet的场合。)
PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;具有错误检测以及纠错能力,支持数据压缩;
为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。
在链路建立,LCP 所需的可选功能被选定之后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。
一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了PPP是面向字符的,HDLC是面向位的。
ppp帧格式如下:
其首尾两个7E为帧定界标志,取值固定为7E;FF为地址字段,由于点到点链路的端点唯一,所以该字段设为FF;
03(C)为控制字段,包含了帧类型和序号等信息;FCS是帧校验字段,用于检测是否有差错;
ppp协议规定有用于建立、配置和测试ppp协议的LCP(链路控制协议);用wireshark扑捉的数据包如下图:
HDLC协议
HDLC是面向比特的数据链路控制协议的典型代表,该协议不依赖于任何一种字符编码集;
数据报文可透明传输,用于实现透明传输的"0比特插入法"易于硬件实现;
全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;
传输控制功能与处理功能分离,具有较大灵活性。SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。
这个标志字符是01111110,称标志字段(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。
所有的信息是以帧的形式传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索"01111110"来探知帧的开头和结束,以此建立帧同步。
地址字段和控制字段
在标志字段之后,可以有一个地址字段A(Address)和一个控制字段C(Contro1)。
地址字段用来规定与之通信的次站的地址。控制字段可规定若干个命令。
控制字段中第1或第1、2位表示传送帧的类型,第1位为"0"表示是信息帧,第1、2位为"10"是监控帧,"11"是无编号帧。
SDLC规定A字段和C字段的宽度为8位。HDLC则允许A字段可为任意长度,C字段为8位或16位。接收方必须检查每个地址字节的第一位,
如果为"0",则后边跟着另一个地址字节;若为"1",则该字节就是最后一个地址字节。
同理,如果控制字段第一个字节的第一位为"0",则还有第二个控制字段字节,否则就只有一个字节
。紧跟在信息字段之后的是两字节的帧校验字段,帧校验字段称为FC(Frame Check)字段, 校验序列FSC(Frame check Sequence)。