PPPoE Discovery Stage

Point-to-Point Protocol over Ethernet or PPPoE features two important stages – the discovery stage and the session stage. Let’s discuss the discovery stage in detail.

Since the conventional point-to-point connections are made between two different points over a serial link or an ATM virtual circuit (already established during the dial-up), every PPP frame sent over the wire surely reaches the other end. However, in case of Ethernet networks, as they’re multi-access, every node is accessible to every other node on the network. An Ethernet frame comprises of hardware address (or MAC address) of the destination node. It’s this address which helps the frame reach its target destination.

Hence, even before the exchange of PPP control packets takes place, for the establishment of connection with each other over the Ethernet, it is the MAC addresses of two end points that must be shared with each other, so they can be encoded inside the control packets. It’s the PPPoE discovery stage which is responsible for doing this. Apart from that, it also helps in establishment of a session ID which can be later used for future exchanges of packets.

After the peer’s MAC address is known and a session’s established, it marks the beginning of the session stage.

Despite the fact the conventional PPP is essentially a peer-to-peer protocol, the PPPoE is more of a client-server relationship as multiple hosts have the ability of connecting to the service provider over one single connection. The PPPoE discovery stage comprises of four important steps as follows:

PPPoE Active Discovery Initiation or PADI – For a user to be able to dial-up the Internet with DSL, his/her computer must first locate the DSL access concentrator or DSL-AC. This is found at the POP (point of presence) of the Internet service provider. Ethernet-based communications are possible only through MAC addresses. Since the computer is unaware of the DSL-AC’s MAC address, it sends a PADI packet through an Ethernet broadcast. This packet comprises of the MAC address of the sending computer. Please note, even though a PADI packet can be received by one or more DSL-ACs, it’s the DSL-AC equipment which can serve the particular ‘service-name’ tag which replies back to it.

PPPoE active discovery offer or PADO – After receiving the PADI packet from the sending computer, the concerned DSL-AC replies back with a PADO packet, making use of the MAC address in the PADI. A PADO packet consists of the DSL-AC’s MAC address, its name and the service name. In case more than one DSL-ACs reply back with the PADO packet, the DSL-AC selection is made based on the supplied service name.

PPPoE active discovery request or PADR - The user’s computer sends out a PADR packet to the DSL access concentrator after it receives an acceptable PADO packet from it. The PADR packet actually serves as a confirmation of acceptance of PPPoE connection offer made by the access concentrator (through the issue of the PADO packet).

PPPoE active discovery session confirmation or PADS - Once the DSL AC receives the PADR packet from the user’s computer, it sends back a confirmation of it via a PADS packet. It also includes a session ID in this confirmation. It is only after the PADS packet is sent that a connection with DSL-AC POP can be said to have been fully established.