PPP over Ethernet (PPPoE)

How a client finds an access concentrator and runs a point-to-point PPP session over Ethernet.

Discovery establishes a session

PPPoE gives a client a point-to-point session across a shared Ethernet network. During discovery, the client broadcasts a PADI to find an access concentrator. One or more concentrators can respond with PADO. The client selects an offer and sends PADR. The concentrator confirms the session with PADS and assigns a session ID.

Once discovery succeeds, the peers carry PPP packets in Ethernet frames using the assigned session ID. PPP still negotiates LCP, any authentication, and the NCP for the network traffic inside the session.

Account for the extra headers

On an Ethernet path with a 1500-byte payload limit, ordinary PPPoE leaves 1492 bytes for a PPP information field after the PPPoE header and PPP protocol field. RFC 4638 describes negotiating a larger limit when both peers and the underlying path support it.

Try it in a lab

  1. Start a lab PPPoE client and capture the discovery exchange. Verify that PADS assigns the session ID used in the following PPP traffic.
  2. Compare a capture with no PADO to one where discovery finishes but PPP authentication fails. The last successful exchange shows which phase to troubleshoot.

Sources