PPP uses Link Control Protocol (LCP) to establish a session between a user’s computer and an ISP. LCP is responsible for determining if the link is acceptable
for data transmission. LCP packets are exchanged between multiple network points to determine link characteristics including device identity, packet size, and
configuration errors.

Two stage
1) discovery stage: When a Host wishes to initiate a PPPoE session, it must first perform Discovery to identify the Ethernet MAC address of the peer and establish a PPPoE SESSION_ID.
The steps consist of the Host broadcasting an Initiation packet, one or more Access Concentrators sending Offer packets, the Host sending a unicast Session Request packet and the selected Access Concentrator sending a Confirmation packet. When the Host receives the Confirmation packet, it may proceed to the PPP Session Stage. When the Access Concentrator sends the Confirmation packet, it may proceed to the PPP Session Stage.
PPPoE Active Discovery Initiation (PADI) packet(Broadcast)
PPPoE Active Discovery Offer (PADO) packet(Unicast)
PPPoE Active Discovery Request (PADR) packet(Unicast)
PPPoE Active Discovery Session-confirmation (PADS) packet(Unicast)
PPPoE Active Discovery Terminate (PADT) packet(Unicast) :any one can send at any time.

2) session stage: Everything is unicast
The Maximum-Receive-Unit (MRU) option MUST NOT be negotiated to a larger size than 1492. Since Ethernet has a maximum payload size of 1500 octets, the PPPoE header is 6 octets and the PPP Protocol ID is 2 octets, the PPP MTU MUST NOT be greater than 1492.


The OSPF and BGP router-ID is not the same as LDP router-ID. This might be confusing, but you can configure an IP that doesn’t exist on the router; as OSPF or BGP router ID. To be more clear this is not quite an IP address but instead it looks like one, that’s just a 32 bit value, on OSPF and BGP  that’s why  we don’t need to have reachability! But in LDP we must have reachability  to our neighbor router-ID because its an IP address.