Email This Page  

PPPoE: PPP over Ethernet Overview

PPP over Ethernet (PPPoE) provides the ability to connect a network of hosts over a simple bridging access device to a remote Access Concentrator. With this model, each host utilizes it's own PPP stack and the user is presented with a familiar user interface. Access control, billing and type of service can be done on a per-user, rather than a per-site, basis.

To provide a point-to-point connection over Ethernet, each PPP session must learn the Ethernet address of the remote peer, as well as establish a unique session identifier. PPPoE includes a discovery protocol that provides this.

PPPoE has two distinct stages. There is a Discovery stage and a PPP Session stage. When a Host wishes too initiate a PPPoE session, it must first perform Discovery to identify the Ethernet MAC address of the peer and establish a PPPoE SESSION_ID. While PPP defines a peer-to-peer relationship, Discovery is inherently a client-server relationship. In the Discovery process, a Host (the client) discovers an Access Concentrator (the server). Based on the network topology, there may be more than one Access Concentrator that the Host can communicate with. The Discovery stage allows the Host to discover all Access Concentrators and then select one. When Discovery completes successfully, both the Host and the selected Access Concentrator have the information they will use to build their point-to-point connection over Ethernet. The Discovery stage remains stateless until a PPP session is established. Once a PPP session is established, both the Host and the Access Concentrator MUST allocate the resources for a PPP virtual interface.

Protocol Structure - PPPoE: PPP over EthernetThe Ethernet payload for PPPoE is as follows:

4

8

16

32bit

Ver

Type

Code

Session-ID

Length

Payload

  • VER - version of PPPOE MUST be set to 0x1.
  • TYPE - MUST be set to 0x1.
  • CODE - is defined below for the Discovery and PPP Session stages.
  • SESSION_ID - It is an unsigned value in network byte order. It's value is defined below for Discovery packets. The value is fixed for a given PPP session and, in fact, defines a PPP session along with the Ethernet SOURCE_ADDR and DESTINATION_ADDR. A value of 0xffff is reserved for future use and MUST NOT be used
  • LENGTH - The value, in network byte order, indicates the length of the PPPoE payload. It does not include the length of the Ethernet or PPPoE headers.

Related Protocols
PPP , Ethernet , PPPoA

Sponsor Source

PPPoE is defined by IETF (http://www.ietf.org ) RFC 2516.



Reference

http://www.javvin.com/protocol/rfc2516.pdf : A Method for Transmitting PPP Over Ethernet (PPPoE)