PPPoE原理全盘介绍

网络 网络管理
下面我们分析一下PPPoE原理的内容,让大家从最基础,最根本的地方来了解一下PPPoE协议。下面我们就来看看具体的内容吧。

想要很好地掌握一门协议,对于其原理,我们不能不了解清楚。那么这里我们就讲解一下PPPoE原理的相关信息。首先让我们看看这个PPPoE协议的定义,从基础来了解一下它吧。

PPPoE原理——定义

通过PPPOE,在一个共享的以太网上的多个主机,可以通过一个或多个简单的桥接入设备,与远程接入集中器进行多个PPP会话。使用这种模型,每个主机使用它自己的PPP协议栈,并且提供给用户一个熟悉的用户接口。接入控制、计费和服务类型能够基于每用户,而不是每站点来处理。PPPOE包含发现和PPP会话两个阶段,发现阶段是无状态的Client/Server模式,目的是获得PPPOE终结端的以太网MAC地址,并建立一个***的PPPOESESSION_ID。发现阶段结束后,就进入标准的PPP会话阶段。

PPPoE原理——协议基本框架

PPPOE协议参照RFC2516。PPPOE实现PPP帧在Ethernet上的适配,并提供Ethernet上的PPP连接。图1和图2分别是以太网上的PPPOE协议栈和AAL5上的PPPOE协议栈。

图1和图2分别是以太网上的PPPOE协议栈和AAL5上的PPPOE协议栈

PPPOE连接示意图

图3显示了典型的PPPOE的连接方式

典型的PPPOE的连接方式

PPPoE原理——PPPOE通信流程

PPPOE有两个不同的阶段:发现阶段和PPP会话阶段。当一个主机想开始一个PPPOE会话,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPOESESSION_ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器。发现阶段允许主机发现所有的接入集中器,然后选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态的状态。一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。图4显示了PPPOE通信流程。

PPPOE通信流程

发现阶段

发现阶段有四个步骤,当此阶段完成,通信的两端都知道PPPOESESSION_ID和对端的以太网地址,他们一起***定义PPPOE会话。这些步骤包括:主机广播一个发起分组(PADI),一个或多个接入集中器发送给予分组(PADO),主机发送单播会话请求分组(PADR),选择的接入集中器发送一个确认分组(PADS)。当主机接收到确认分组,它可以开始进行PPP会话阶段。当接入集中器发送出确认分组,它可以开始进行PPP会话阶段。

当主机在指定的时间内没有接收到PADO,它应该重新发送它的PADI分组,并且加倍等待时间,这个过程会被重复期望的次数。如果主机正在等待接收PADS,应该使用具有主机重新发送PADR的相似超时机制。在重试指定的次数后,主机应该重新发送PADI分组。

PPPOE还有一个PADT分组,它可以在会话建立后的任何时候发送,来终止PPPOE会话。它可以由主机或者接入集中器发送。当接收到一个PADT,不再允许使用这个会话来发送PPP业务。在发送或接收PADT后,即使正常的PPP终止分组也不必发送。PPP对端应该使用PPP协议自身来终止PPPOE会话,但是当PPP不能使用时,可以使用PADT。

PPP会话阶段

一旦PPPOE会话开始,PPP数据就可以以任何其它的PPP封装形式发送。所有的以太网帧都是单播的。PPPOE会话的SESSION_ID一定不能改变,并且必须是发现阶段分配的值。

PPPoE原理——PPPOE的LCP配置选项

PPPoverEthernet(RFC2516)建议进行魔数选项协商,不建议进行协议域压缩选项(PFC)协商。实现中必须不请求进行任何下面的选项协商,并且必须拒绝这样选项协商的请求:FieldCheckSequence(FCS)Alternatives,Address-and-Control-Field-Compression(ACFC),Asynchronous-Control-Character-Map(ACCM)MRU必须不能大于1492。建议接入集中器偶尔向主机发送Echo_Request报文,来决定会话的状态。否则,如果主机没有发送Terminate_Request报文就终止了会话,接入集中器将会不能决定会话已经终止了。当LCP终止,主机和接入集中器必须停止使用这个PPPOE会话。如果主机希望开始另一个PPP会话,它必须返回到PPPOE的发现阶段。

责任编辑:佟健 来源: IT实验室
相关推荐

2010-09-16 13:16:20

CISCO PPPoE

2010-09-07 11:51:02

ACS SERVER认PPPOE配置

2010-09-16 14:13:07

2011-08-08 14:44:11

2010-09-09 17:05:37

PPPoE协议

2010-09-02 15:50:01

PPPoE协议

2014-02-11 10:27:21

阿里高德

2011-08-08 15:23:06

PPPOE

2010-09-07 15:56:37

PPPoE会话

2010-09-06 16:07:05

ros pppoe设置

2011-08-08 15:43:52

pppoe

2010-09-06 13:50:01

PPPOEDHCP

2010-09-07 15:20:46

pppoe serve

2010-04-12 15:35:42

2010-07-01 16:41:33

PPPOE协议

2010-09-07 14:10:26

PPPoE接口

2010-09-06 13:53:21

PPPoE协议

2010-09-07 12:06:46

PPPoE协议

2010-09-16 15:50:55

PPPoE配置

2010-09-16 15:11:58

FreeBSD PPP
点赞
收藏

51CTO技术栈公众号