PPP & PPPoE Explained: Link Setup, Authentication and PADI‑PADO Process
It covers PPP and PPPoE link establishment, authentication schemes and the complete PADI‑PADO discovery workflow.
PPP Protocol and PPPoE Protocol
PPP (Point‑to‑Point Protocol) is a data‑link‑layer communication protocol. It is widely used to transmit packets of multiple network‑layer protocols between two directly connected nodes. PPP is most commonly applied in dial‑up Internet access. It can also be used for other point‑to‑point communications such as serial connections, ISDN and certain types of broadband access.

Its main features are as follows:
Link Control Protocol (LCP) Used to establish, configure and test data‑link connections. Supports link‑quality monitoring, error detection and various link‑configuration options. LCP negotiates link‑related parameters such as maximum frame size and authentication protocols.
Network Control Protocol (NCP) Configures and manages data for different network‑layer protocols. Common NCPs include IP Control Protocol (IPCP), IPv6 Control Protocol (IPV6CP), etc.
Authentication Mechanism PPP supports multiple authentication protocols including PAP (Password Authentication Protocol) and CHAP (Challenge Handshake Authentication Protocol). Authentication verifies identities of both communicating parties to guarantee connection security.
Multi‑protocol Support PPP can encapsulate and transmit packets from multiple network‑layer protocols, such as IP, IPX, AppleTalk.
Fragmentation and Reassembly Supports splitting large‑size packets into smaller frames for transmission and reassembling them at the receiver side.
Working workflow:
Link Establishment Phase LCP packets are used to bring up the physical link, and both sides negotiate link parameters. After confirming link availability, the process proceeds to the authentication phase (if required).
Authentication Phase (Optional) Authenticate peer identity using PAP or CHAP. Upon successful authentication, enter the network‑layer‑protocol configuration phase.
Network‑layer Protocol Configuration Phase NCP configures network‑layer parameters such as IP address and DNS server. Each network‑layer protocol corresponds to its dedicated NCP for configuration.
Data Transmission Phase After physical link setup and network‑layer configuration are completed, data transmission starts. Network‑layer packets are encapsulated inside PPP frames and transmitted over the physical link.
Link Termination Phase When communication finishes or errors occur, LCP packets terminate the link. Release resources and tear down the physical connection.
Basic structure of the PPP frame:

PPPoE (Point to Point Protocol over Ethernet) is a technology that encapsulates PPP over Ethernet links. It provides data‑link‑layer transport for PPP on top of Ethernet and enables PPP communication over Ethernet networks.

Working workflow of PPPoE:
Discovery Phase
PPPoE Active Discovery Initiation (PADI) Client broadcasts PADI packets to locate PPPoE servers.
PPPoE Active Discovery Offer (PADO) PPPoE server replies with PADO packets to offer services.
PPPoE Active Discovery Request (PADR) Client selects one server and sends PADR packets to request services.
PPPoE Active Discovery Session‑confirmation (PADS) Server sends PADS packets to confirm the session and assign a Session‑ID.
Session Phase PPP is used to establish and configure the link, covering authentication, network‑layer configuration and data transfer. PPP frames are encapsulated within Ethernet frames and transmitted via Ethernet.
Termination Phase PPPoE Active Discovery Termination (PADT) packets terminate the session and release resources.
