PPPoE

PPPOE协议简介

  pppoe是point-to-point protocol over ethernet的简称,可以使以太网的主机通过一个简单的桥接设备连到一个远端的接入集中器上。通过pppoe协议,远端接入设备能够实现对每个接入用户的控制和计费。与传统的接入方式相比,pppoe具有较高的性能价格比,它在包括小区组网建设等一系列应用中被广泛采用,目前流行的宽带接入方式adsl就使用了pppoe协议。
  modem接入技术面临一些相互矛盾的目标,既要通过同一个用户前置接入设备连接远程的多个用户主机,又要提供类似拨号一样的接入控制,计费等功能,而且要尽可能地减少用户的配置操作。
  PPPOE的目标就是解决上述问题,1998年后期问世的以太网上点对点协议(PPPoverEthernet)技术是由Redback网络公司、客户端软件开发商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETFRFC的基础上联合开发的。通过把最经济的局域网技术-以太网和点对点协议的可扩展性及管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠和熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行。同时该技术亦简化了最终用户在选择这些服务时的配置操作。
  PPPoE:以太网上的 PPP
  (PPPoE:point to point protocal over Ethernet)
  在 以太网上承载PPP协议(点到点连接协议),它利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并对接入的每一个主机实现控制。计费功能,极高的性能价格比使pppoe在包括小区组网建设等一系列应用中广泛采用
  PPPoE 的以太网有效载荷显示如下:
  4
  8
  16
  32 bit
  Ver
  Type
  Code
  Session-ID
  Length
  Payload
  VER ― PPPOE 版本。必须设置为 0x1。
  TYPE ― 必须设置为 0x1。
  CODE ― Discovery 和 PPP Session 阶段有定义。
  SESSION_ID ― 无符号值。Discovery 数据包中有该字段定义。对于特定的 PPP Session 而言,该值为固定值。实际上,该字段定义了包括以太网 SOURCE_ADDR 和 DESTINATION_ADDR 的 PPP。0xffff 作为预留值,不作使用。
  LENGTH ― 表示 PPPoE 有效载荷长。不包括以太网或 PPPoE 头的长度。
  随着低成本的宽带技术变得日益流行,DSL(Digital Subscriber Line)数字用户线技术更是使得许多计算机在互联网上能够酣畅淋漓的冲浪了。但是这也增加了DSL服务提供商们对于网络安全的担心。
  通过DSL方式上网的计算机大都是通过以太网卡(Ethernet)与互联网相连的。同样使用的还是普通的TCP/IP方式,并没有付加新的协议。另外一方面,调制解调器的拨号上网,使用的是PPP协议,即Point to Point Protocol,点到点协议,该协议具有用户认证及通知IP地址的功能。PPP over Ethernet(PPPoE)协议,是在以太网络中转播PPP帧信息的技术,尤其适用于DSL等方式。

PPPoE的验证过程

  假如客户端要通过一个局域网与远程的PPPoE服务器进行身份验证,这时,它们会有两个不同的会话阶段,Discovery阶段和PPP会话阶段。当一个客户端想开始一个PPPoE会话时,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPoESESSON_ID。在发现阶段,基于网络的拓扑结构,客户端可以发现多个PPPoE服务器,然后从中选择一个,不过通常都是选择反应最快的一个。
  Discovery阶段是一个无状态的阶段,该阶段主要是选择接入服务器,确定所要建立的PPP会话标识符Session ID,同时获得对方点到点的连接信息;PPP会话阶段执行标准的PPP过程。当此阶段完成,通信的两端都知到PPPoESESSON_ID和对端的以太网地址,它们一起定义了一个唯一的PPPoE会话。这些步骤包括客户端广播一个发起分组(PASI),一个或多个PPPoE服务器发送响应分组(PADO),客户端向选中的服务器发送请求分组(PADR),选中的PPPoE服务器发送一个确认分组(PADS)给客户端。当客户端接收到确认分组,它可以开始进行PPP会话阶段。当PPPoE服务器发送出确认分组,它可以开始PPP会话。
  当客户端在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。如果客户端正等待接收PADS,应该使用具有客户端重新发送PADR的相似超时机制。在重试指定的次数后,主机应该重新发送PADI分组。PPPOE还有一个PADT分组,它可以在会话建立后的任何时候发送,来终止PPPOE会话。它可以由客户端或者PPPOE服务器发送。当接收到一个PADT,不再允许使用这个会话来发送PPP业务在发送或接收PADT后,即正常的PPP不能使用时,可以使用PADT,一旦PPPOE会话开始,PPP数据就可以以任何其它的PPP封装形式发送。所有的以太网帧都是单播的,身份验证是发生在会话阶段的,PPPoE会话的SESSION_ID一定不能改变,并且必须是发现阶段分配的值。

PPPoE相关知识问答集

  我们用以下一问一答的方式提供PPPoE的有关知识,希望能够对读者有一定的帮助。这些知识大都来源Vicomsoft公司对TCP/IP路由技术的一些解释及我们对互联网连接的理解。
  Vicomsoft公司开发和提供了Network Address Translation(网络地址翻译)和TCP/IP路由技术,其中包括了PPP和PPPoE的全部特性。我们的软件允许用户以一种或多种方式将整个LAN(局域网)与互联网相连,也称软路由。Vicomsoft在TCP/IP协议(包括PPP,PPPoE)的领域内取得很多宝贵经验,并且愿意将它的信息与有志于此的人分享。
  1. 什么是PPP?
  TCP/IP信息包本身并不能够通过串行链路来传输,这使得它不适合于WAN广域网(Wide Area Networks)。截止到撰写此稿之时,还没有一个切实可行的方法来扩展以太网,虽然在不久的将来,随着光纤10G以太网的出现,这种情况将会得到改观。而这些年来,电信公司在全世界建设了无数的串行通信链接网,因此他们迫切需要一种协议,使得TCP/IP信息包可以在串行线路上传送。因此出现两个有用的协议。
  ·SLIP (Serial Line Internet Protocol) 串行线路互联网协议
  ·PPP
  其中PPP是Point to Point Protocol(点到点协议)的字母缩写。它是TCP/IP网络协议集的成员之一。也可以认为PPP是对TCP/IP的一个扩展,它增加了两组有用的功能。
  ·它可以通过串行链路来传送TCP/IP信息包。
  ·用户登录认证
  PPP性能更加丰富,而且很大程度上取代了SLIP的地位。因为在公用电话系统中也采用了部分串行链路,所以必须确保通信的可靠性。为此,PPP将用户名与密码安全结合在一起,比如当接驳要求发起时,此要求通过PPP协议转发到路由器和服务器,这时候就可以进行安全验证了。因为PPP具有在串行链路上传递TCP/IP 信息包的能力,并且还可以进行安全验证,所以互联网服务提供商ISP(Internet Service Providers)一般都是利用PPP协议,允许拨号用户与互联网相连。
  2.什么是PPPoE?
  PPP是为串行通信设计的,现在它与以太网(Ethernet)相结合,成为在以太网络中转播PPP帧信息的技术。也称PPP over Ethernet,即PPPoE协议。PPP协议与以太网并不是兼容的东西,因此用户经常感到十分的迷惑,为什么要将以太网与PPP结合在一起呢?
  如果我们将TCP/IP通信与公路交通相比的话,那么基本的TCP/IP协议就是这个城市的街道网。街道上有许多的路口(或者停车点),人们在马路上可以很容易地上车或者下车。但是人们不知道每条街上有多少辆车在跑,而且每新增加一个路口将带来新的管理任务,因为你将更不清楚有多少人,有多少车在街道上跑了。PPP就好比铁路,人们只能在固定的站点上上车或者下车,因此对乘客的管理和控制也相对容易(比如上车必须买票。)因此不妨再打个比喻,PPPoE就象是在街道上跑的火车,事实上这不是不可能的,比如电车轨道,地铁。它带来的好处是显而易见的,首先它不影响城市里其它的交通,其次还给你带来铁路的优点,比如流量的控制。
  有些ISP并不是通过串行链路与用户相连的,这种情况下PPPoE也可以带来部分好处;使用串行链路的ISP早已经在调制解调器通信上使用PPP了,另一方面,DSL提供商通过以太网,而不是串行链路通信,因此PPPoE可以满足许多人的需要。并且,许多人对于PPPoE的付加能力感到特别满意。因为PPPoE允许ISP们对用户的登录安全进行控制和测量用户流量。
  3. 谁将使用PPPoE?
  然而目前为止,只有DSL提供商是在使用PPPoE协议,cable modem有线电视网络服务提供商将在近两年内也采用PPPoE。
  4. 谁将需要PPPoE软件?
  需要使用PPPoE的DSL提供商通常会给他们的用户提供多种PPPoE软件。如果你只是通过DSL将一台电脑与互联网相连,那么这就足够了。然而如果是企业用户,需要将整个局域网通过DSL与互联网相连,DSL提供商所提供的软件就不够用了。在局域网(LAN)与DSL的连接使用中,路由器和互联网共享软件的使用将存在一些兼容的问题。你需要与DSL服务提供商共同讨论解决这个问题。
  5. Vicomsoft公司的建议
  如果你是通过DSL和PPPoE将一台电脑与互联网相连,那么DSL提供商为你提供的软件是已经足够的,但是仍然有可以替换的产品。Vicomsoft公司推出的SurfDoubler软件为PPPoE提供全方位的支持,随着带宽的增加,对各种类型的互联网连接都可提供升级版。
  如果你是使用DSL和PPPoE将一个局域网与互联网相连,最经济的方法就是使用由你的DSL ISP为你分配的唯一的公用IP地址。通过互联网共享软件和硬件,局域网内的用户都可以享受到宽带上网的乐趣了。但是要考虑的是互联网共享软件和硬件是否与你的PPPoE软件兼容呢?我们的建议是你登录到互联网共享软件和硬件的网站,在搜索引擎内键入"PPPoE",你将很快地找出他们是否支持"PPPoE"。
  PPPoE是一个标准,你可以假定所有的解决方案都是"平等"的。然而事实上,还是有些小小的差别,该标准要求PPPoE软件在每一个TCP/IP信息包前加上一个附加的头信息。这样信息包的尺寸就比允许的尺寸要大,某些软件提出这样的解决方案,在局域网的客户机上重新设置TCP/IP协议。

PPPoE常见故障及分析

  (1)645故障描述:拨号适配器未装
  这种情况主要针对Windows ME和Windows98而言,解决办法是在Windows98下添加拨号适配器组件即可。对Windows ME而言,因为它没有直接添加拨号适配器的选项,所以必须在控制面板中先删除拨号网络组件,再添加拨号网络组件完成适配器的添加。
  (2)691/629故障描述:不能通过验证
  可能的原因是用户的账户或者密码输入错误,或用户的账户余额不足,用户在使用时未正常退出而造成用户账号驻留,可等待几分钟或重新启动后再拨号。
  (3)630故障描述:无法拨号,没有合适的网卡和驱动
  可能的原因是网卡未安装好、网卡驱动不正常或网卡损坏。检查网卡是否工作正常或更新网卡驱动。
  (4)633故障描述:找不到电话号码簿,没有找到拨号连接
  这可能是没有正确安装PPPoE驱动或者驱动程序已遭损坏,或者Windows系统有问题。建议删除已安装的PPPoE驱动程序,重新安装PPPoE驱动,同时检查网卡是否工作正常。如仍不能解决问题,可能是系统有问题,建议重装系统后再添加PPPoE驱动。
  (5)720故障描述:不支持PPPoE连接
  它是Windows 2000特有的故障,建议重新启动后再进行连接,如仍不能排除故障,建议重装系统。
  (6)697故障描述:网卡禁用
  只要在设备管理中重新启用网卡即可。
  (7)769故障描述:拨号时报769错误
  在Windows XP系统中网卡被禁用、系统检测不到网卡或者拨号软件故障,有时会报769错误。重新启用网卡、检查网卡工作是否正常或重装拨号软件即可解决。
  (8)678故障描述:无法建立连接
  这个故障比较复杂,用户和BRAS链路中任何一个环节有问题,都可能导致678故障,应根据不同的情况作相应处理。
编辑/发表时间:2009-05-30 03:11
编辑词条如何编辑词条?)                          历史版本

资料出处:
贡献者:
尹恒高凌云