详解PPPOE协议的工作原理教程

所属分类: 网络 / 网络其他 阅读数: 1316
收藏 0 赞 0 分享

  PPPoE(Point to Point Protocol over Ethernet)意思是基于以太网的点对点协议,实质是以太网和拨号网络之间的一个中继协议,下面小编结尾大家详细的讲解PPPOE协议的工作原理,想了解PPPoE协议的朋友快来看看吧。

  PPPoE协议的工作流程包含发现和会话两个阶段,发现阶段是无状态的,目的是获得PPPoE终结端(在局端的ADSL设备上)的以太网MAC地址,并建立一个唯一的PPPoESESSION-ID。发现阶段结束后,就进入标准的PPP会话阶段。

  当一个主机想开始一个PPPoE会话,它必须首先进行发现阶段,以识别局端的以太网MAC地 址,并建立一个PPPoESESSION-ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器,然后允许用户选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态的Client/Server(客户/服务器)模式。一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。

  PPPoE协议会话的发现和会话两个阶段具体进程如下:

  1.发现(Discovery)阶段

  在发现(Discovery)阶段中用户主机以广播方式寻找所连接的所有接入集中器(或交换机),并获得其以太网MAC地址。然后选择需要连接的主机, 并确定所要建立的PPP会话标识号码。发现阶段有4个步骤,当此阶段完成,通信的两端都知道PPPoESESSION-ID和对端的以太网地址,他们一起唯一定义PPPoE会话。这4个步骤如下。

  (1)主机广播发起分组(PADI)

  主机广播发起分组(PADI),分组的目的地址为以太网的广播地址0×ffffffffffff,CODE(代码)字段值为0×09,SESSION-ID(会话ID)字段值为0×0000。PADI分组必须至少包含一个服务名称类型的标签(标签类型字段值为0×0101),向接入集中器提出所要求提供的服务。

  (2)接入集中器

  接入集中器收到在服务范围内的PADI分组,发送PPPoE有效发现提供包(PADO)分组,以响应请求。其中CODE字段值为 0×07,SESSION-ID字段值仍为0×0000。PADO分组必须包含一个接入集中器名称类型的标签(标签类型字段值为0×0102),以及一个 或多个服务名称类型标签,表明可向主机提供的服务种类。

  (3)主机选择一个合适的PADO分组

  主机在可能收到的多个PADO分组中选择一个合适的PADO分组,然后向所选择的接入集中器发送PPPoE有效发现请求分组(PADR)。其中 CODE字段为0×19,SESSION_ID字段值仍为0×0000。PADR分组必须包含一个服务名称类型标签,确定向接入集线器(或交换机)请求的服务种类。当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。

  (4)准备开始PPP会话

  接入集中器收到PADR分组后准备开始PPP会话,它发送一个PPPoE有效发现会话确认PADS分组。其中CODE字段值为 0×65,SESSION-ID字段值为接入集中器所产生的一个唯一的PPPoE会话标识号码。PADS分组也必须包含一个接入集中器名称类型的标签以确认向主机提供的服务。当主机收到PADS分组确认后,双方就进入PPP会话阶段。

  2.PPP会话阶段

  用户主机与接入集中器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。一旦PPPoE会话开始,PPP数据就可以以任何其他的PPP封装形式发送。所有的以太网帧都是单播的。PPPoE会话的SESSION-ID一定不能改变,并且必须是发现阶段分配的值。

  PPPoE还有一个PADT分组,它可以在会话建立后的任何时候发送,来终止PPPoE会话, 也就是会话释放。它可以由主机或者接入集中器发送。当对方接收到一个PADT分组,就不再允许使用这个会话来发送PPP业务。PADT分组不需要任何标 签,其CODE字段值为0×a7,SESSION-ID字段值为需要终止的PPP会话的会话标识号码。在发送或接收PADT后,即使正常的PPP终止分组 也不必发送。PPP对端应该使用PPP协议自身来终止PPPoE会话,但是当PPP不能使用时,可以使用PADT。

  PPPoE的验证过程

  假如客户端要通过一个局域网与远程的PPPoE服务器进 行身份验证,这时,它们会有两个不同的会话阶段,Discovery阶段和PPP会话阶段。当一个客户端想开始一个PPPoE会话时,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPoESESSON_ID。在发现阶段,基于网络的拓扑结构,客户端可以发现多个PPPoE服务器,然 后从中选择一个,不过通常都是选择反应最快的一个。

  Discovery阶段是一个无状态的阶段,该阶段主要是选择接入服务器,确定所要建立的PPP会话标识符Session ID,同时获得对方点到点的连接信息;PPP会话阶段执行标准的PPP过程。当此阶段完成,通信的两端都知道PPPoESESSON_ID和对端的以太网 地址,它们一起定义了一个唯一的PPPoE会话。这些步骤包括客户端广播一个发起分组(PADI),一个或多个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协议的精彩教程请继续关注脚本之家!

更多精彩内容其他人还在看

ADSL无线路由器上网错误(拨不上去)怎么办

一步一步配置ADSL无线路由上网,并保ADSL无线路由上网存重启了设备,ADSL灯也常亮了,但依然拨不上去,那么这篇文章或许对您有帮助,接下来以总结性的阐述如何判断问题所在和解决问题
收藏 0 赞 0 分享

ADSL拨号提示TCP/IP报告错误31解决方法

据系统提示信息可以判断故障原因是ADSL Modem与系统兼容性不太好,下面的方法或许可以帮你解决掉
收藏 0 赞 0 分享

服务器怎么禁止被Ping设置图解

频繁地使用Ping命令会导致网络堵塞、降低传输效率,为了避免恶意的网络攻击,一般都会拒绝用户Ping服务器,具体拒绝步骤如下,希望对你有所帮助
收藏 0 赞 0 分享

宽带连接图标不见了的解决方法

最近有网友给小编反应说电脑重装之后再打开刚好要点宽带连接网络,可是宽带连接的图标消失不见了,然后在电脑上都找不到宽带连接了。
收藏 0 赞 0 分享

网络连接图标不见了的解决方法(图文教程)

在恢复完系统后,网络连接图标没了,这怎么办呢?
收藏 0 赞 0 分享

常见的广域网加速技术有哪些

为什么要给广域网加速?太慢了,网速太慢了,这就是需要加速的最直接原因
收藏 0 赞 0 分享

443端口(网页浏览端口)被占用无法启动解决办法

443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP
收藏 0 赞 0 分享

防火墙的作用及用法介绍

经常的听说防火墙,那防火墙到底是什么呢.下面我们就来介绍一下
收藏 0 赞 0 分享

查看自己的网速和宽带的方法

自己想查自己的宽带怎么查呢
收藏 0 赞 0 分享

UPNP是什么 UPNP的意思分析

UPnP是通过各种各样的智能设备、无线设备和个人电脑等实现遍布全球的对等网络连接(P2P)的结构
收藏 0 赞 0 分享
查看更多