对于点对点链路,目前使用最为广泛的数据链路层协议是点对点协议PPP。
简单(首要要求)
封装成帧:保证数据传输的透明性
多种网络层协议:能够在同一条物理链路上同时支持多种网络层协议。
多种类型链路:能够在多种类型的链路上运行。
差错检测:能够对接受端收到的帧进行检测,并立即丢弃有差错的帧。
检测连接状态:能够及时自动检测出链路是否处于正常工作状态。
最大传送单元:必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。
PPP协议的组成:
一个将IP数据报封装到串行链路的方法,一个链路控制协议LCP,一套网络控制协议NCP.
PPP协议的帧格式:
F是开始结束标志,A/C没有实际含义。
FCS是使用CRC的循环检验序列。
PPP的字节填充:
PPP使用异步传输时,
当信息字段出现和标志字段一样的比特(0x7E)组合时,就需要字节填充。
(1)把信息字段出现的每一个0x7E字节转变成为2字节序列(0x7D,0X5E)
(2)若信息字段中出现一个0x7D的字节,则把0x7D转变成2字节序列(0x7D,0X5D)。
(3)若信息字段中出现ASCII码的控制字符(数值小于0x20的字符),则在该字符前面加入一个0x7D的字节,同时将该字符的编码加以改变,例如出现0x03就要把它转变为2字节序列(0x7D,0x23)。
PPP的比特填充:
当PPP协议使用同步传输(一连串的比特连续传送),采用零比特填充方法实现透明传输:
只要发现有5个连续的1,则立即填入一个0.因此经过这种零比特填充后的数据,可以保证在信息字段不会出现连续6个1。
接受端在收到一个帧时,先找到标志字段F以确定帧的边界,接着扫描比特流,发现连续5个1时,就把5个连续的1后的一个0删除,以还原成原来的信息比特流。
PPP协议的工作状态: