|
PPP是RFC1171/1172制定的,是在点对点线路上对包括IP在内的LAN协议进行中继的Internet标准协议。PPP被设计成支持多种上层协议,并设计成具有不依存于网络层协议的数据链路。在用PPP对各个网络层协议进行中继时,每个网络层协议必须有某个对应于PPP的规格,这些规格有一些已经存在。PPP是由两种协议构成的:一种是为了确保不依存于协议的数据链路而采用的LCP(Link Control Protocol,链路控制协议);另一种为了实现在PPP环境中利用网络层协议控制功能的NCP(Network Control Protocol,网络控制协议)。NCP的具体名称在对应的网络层协议中有所不同。更准确地说,PPP所规定协议只是LCP,至于将NCP及网络层协议如何放入PPP帧中,要由开发各种网络层协议的厂家完成。PPP帧具有传输LCP、NCP及网络层协议的功能。对利用LCP的物理层规格没有特殊限制。可以利用RS-232-C、RS-422/423、V.35等通用的物理连接器。传输速率的应用领域也没有特别规定,可以利用物理层规格所容许的传输速率。
|
|
|
|
PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
|
|
|
家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。目前,宽带接入已经成为取代拨号上网的新方式,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet,以太网上的PPP),PPPoA(PPP over ATM,ATM网上的PPP)。
|
|
|
利用以太网资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE既保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。
|
|
|
同样,在ATM网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理、作用都相同;不同的是,PPPoA是在ATM网络上,而PPPoE是在以太网网络上运行,所以要分别适应ATM标准和以太网标准。
|
|
|
|
随着宽带网络技术的不断发展,以xDSL、Cable Modem和以太网为主的几种主流宽带接入技术的应用已如火如荼地展开。同时,又给各大网络运营商们带来了种种新的问题,无论使用哪种接入技术,对于他们而言,可盼和可求的是如何有效地管理用户,如何从网络的投资中收取回报,因此对于各种宽带接入技术的收费问题就变得更加敏感。在传统的以太网模型中,是不存在所谓的用户计费的概念,要么用户能获取IP地址上网,要么用户就无法上网。IETF(Internet Engineering Task Force,互联网工程任务组)的工程师们在秉承窄带拨号上网的运营思路,制定出了在以太网上传送PPP数据包的协议,这个协议出台后,各网络设备制造商也相继推出自己品牌的宽带接入服务器(Broadband Access Server,BAS),它不仅能支持PPPoE协议会话的终结,而且还能支持其他许多协议。例如,华为公司的MA5200和北电的Shasta5000。
|
|
|
PPPoE协议提供了在广播式的网络(如以太网)中多台主机连接到远端的访问集中器(称目前能完成上述功能的设备为宽带接入服务器)上的一种标准。在这种网络模型中,不难看出所有用户的主机都需要能独立地初始化自己的PPP协议栈,而且通过PPP协议本身所具有的一些特点,能实现在广播式网络上对用户进行计费和管理。为了能在广播式的网络上建立、维持各主机与访问集中器之间点对点的关系,那么就需要每个主机与访问集中器之间能建立唯一的点到点的会话。
|
|
|
PPPoE协议共包括两个阶段,即PPPoE的发现阶段(PPPoE Discovery Stage)和PPPoE的会话阶段(PPPoE Session Stage)。对于PPPoE的会话阶段,可以看成和PPP的会话过程是一样的,而两者的主要区别在于只是在PPP的数据报文前封装了PPPoE的报文头。无论是哪一个阶段的数据报文最终会被封装成以太网的帧进行传送。
|
|
|
PPPoE的数据报文是被封装在以太网帧的数据域内的。可以把PPPoE报文分成两大块,一大块是PPPoE的数据报头;另一块则是PPPoE的净载荷(数据域),对于PPPoE报文数据域中的内容会随着会话过程的进行而不断改变。下图所示为PPPoE的报文的格式。
|
|
|
|
|
.PPPoE数据报文最开始的4位为版本域,协议中给出了明确的规定,这个域的内容填充0x01。紧接在版本域后的4位是类型域,协议中同样规定,这个域的内容填充为0x01。代码域占用1字节,对于PPPoE的不同阶段这个域内的内容也是不一样的。会话ID占用2字节,当访问集中器还未分配唯一的会话ID给用户主机的话,则该域内的内容必须填充为0x0000,一旦主机获取了会话ID后,那么在后续的所有报文中该域必须填充那个唯一的会话ID值。
|
|
|
长度域为2字节,用来指示PPPoE数据报文中净载荷的长度。数据域有时也称为净载荷域,在PPPoE的不同阶段该域内的数据内容会有很大的不同。在PPPoE的发现阶段时,该域内会填充一些Tag(标记);而在PPPoE的会话阶段,该域则携带的是PPP的报文。
|
|
|