DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1142|回复: 0
打印 上一主题 下一主题

[待整理] PPPOE流程

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 16:37:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义

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

协议基本框架

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




PPPOE连接示意图

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




PPPOE通信流程

  PPPOE有两个不同的阶段:发现阶段和PPP会话阶段。当一个主机想开始一个PPPOE会话,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPOESESSION_ID。在发现阶段,基于网络的拓扑,主机可以发现多个接入集中器。发现阶段允许主机发现所有的接入集中器,然后选择一个。当发现阶段成功完成,主机和选择的接入集中器都有了他们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态的状态。一旦PPP会话建立,主机和接入集中器都必须为PPP虚接口分配资源。图4显示了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的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的发现阶段。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-25 08:24 , 耗时 0.091657 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表