分享

PPPoE:以太网上的 PPP

 darkhero 2006-10-31
PPPoE:以太网上的 PPP
 

  PPPOE 使得一个网络上的计算机可以通过简单桥接访问设备连接到远端接入设备。在这个模型下,每个用户主机利用自身的 ppp 堆栈,并且用户使用熟悉的界面。访问控制、计费、服务类型等都可以针对每个用户来进行,而不是每个站点。

  为了提供以太网上的点到点连接,每一个 PPP 会话必须知道远程通信对方的以太网地址,同时建立一个唯一的会话标识符。PPPoE 包含一个(以太网地址)发现协议来提供这个功能。

  PPPoE 过程分为两个不同的阶段,即 Discovery (地址发现)阶段和 PPP 会话阶段。当某个主机希望发起一个 PPPoE 会话时,它必须首先执行 Discovery 来确定对方的以太网 MAC 地址并建立起一个 PPPoE 会话标识符(SESSION_ID)。虽然 PPP 定义的是端到端的对等关系,Discovery 却是一种客户端 - 服务器关系。在 Discovery 过程中,主机(作为客户端)发现某个访问集中器(Access Concentrator,作为服务器),根据网络的拓扑结构,可能主机能够发现多个访问集中器。 Discovery 阶段允许主机发现所有的访问集中器并从中选择一个。当 Discovery 阶段成功完成之后,主机和所选择的访问集中器两者都具备了用于在以太网上建立点到点连接所需的所有信息。

  Discovery 阶段保持无状态(stateless)直到建立起一个 PPP 会话。一旦 PPP 会话建立,主机和访问集中器两者都必须为一个 PPP 虚拟接口分配资源。


协议结构

  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 头的长度。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多