1 点到点协议-PPP

1.1; PPP概述点到点协议(Point to Point Protocol,PPP)是IETF(Internet Engineering Task Force,因特网工程任务组)推出的点到点类型线路的数据链路层协议 。它解决了SLIP中的问题,并成为正式的因特网标准 。
PPP协议在RFC 1661、RFC 1662和RFC 1663中进行了描述 。
PPP支持在各种物理类型的点到点串行线路上传输上层协议报文 。PPP有很多丰富的可选特性,如支持多协议、提供可选的身份认证服务、可以以各种方式压缩数据、支持动态地址协商、支持多链路捆绑等等 。这些丰富的选项增强了PPP的功能 。同时,不论是异步拨号线路还是路由器之间的同步链路均可使用 。因此,应用十分广泛 。
1; PPP的层次结构;PPP支持各种类型的硬件,包括EIA/TIA 232、EIA/TIA 449、EIA/TIA 530、V.35、V.21等 。只要是点到点类型的线路都可以运行PPP 。在数据链路层,PPP通过LCP协议进行链路治理,相当于以太网数据链路层的MAC子层 。而在网络层,由NCP为不同的协议提供服务 。这里的NCP相当于以太网数据链路层的LLC子层 。如图1所示 。
【1 点到点协议-PPP】图1PPP的层次结构
2; PPP的功能PPP主要完成了以下功能:
链路控制
PPP为用户发起呼叫以建立链路;在建立链路时协商参数选择;通信过程中随时测试线路,当线路空闲时释放链路等 。PPP中完成上述工作的组件是链路控制协议LCP(Link Control Protocol,LCP) 。
网络控制

当LCP将链路建立好了以后,PPP要开始根据不同用户的需要,配置上层协议所需的环境 。PPP使用网络控制协议NCP(Network Control Protocol,NCP)来为上层提供服务接口 。针对上层不同的协议类型,会使用不同的NCP组件 。如对于IP提供IPCP接口,对于IPX提供IPXCP接口,对于APPLETALK提供ATCP接口等 。
1.2; PPP过程从开始发起呼叫到最终通信完成后释放链路,PPP的工作经历了一系列的过程 。下面,是这一过程的描述 。
当一个PC终端拨号用户发起一次拨号后,此PC终端首先通过调制解调器呼叫远程访问服务器,如提供拨号服务的路由器 。
当路由器上的远程访问模块应答了这个呼叫后,就建立起一个初始的物理连接 。
接下来,PC终端和远程访问服务器之间开始传送一系列经过PPP封装的LCP分组,用于协商选择将要采用的PPP参数 。
假如上一步中有一方要求认证,接下来就开始认证过程 。假如认证失败,如错误的用户名、密码,则链路被终止,双方负责通信的设备或模块(如用户端的调制解调器或服务器端的远程访问模块)关闭物理链路回到空闲状态 。假如认证成功则进行下一步 。
在这步骤中,通信双方开始交换一系列的NCP分组来配置网络层 。对于上层使用的是IP协议的情形来说,此过程是由IPCP完成的 。
当NCP配置完成后,双方的逻辑通信链路就建立好了,双方可以开始在此链路上交换上层数据 。
当数据传送完成后,一方会发起断开连接的请求 。这时,首先使用NCP来释放网络层的连接,归还IP地址;然后利用LCP来关闭数据链路层连接;最后,双方的通信设备或模块关闭物理链路回到空闲状态 。
图2给出了上述过程的示意图 。
图2PPP过程
1.3; PPP帧格式PPP帧格式以HDLC帧格式为基础,做了很少的改动 。二者的主要区别是:PPP是面向字符的,而HDLC是面向位的 。PPP在点到点串行线路上使用字符填充技术 。所以,所有的帧的大小都是字节的整数倍 。
图3中给出了PPP的帧格式 。
图3PPP的帧格式
PPP帧是以标准HDLC标志字节(01111110)开始和结束的 。
接下来是地址字段,缺省情况下,被固定设成二进制数11111111,因为点到点线路的一个方向上只有一个接收方 。

推荐阅读