Figure 1 displays typical usage of PPPoE over ADSL. As you can see, a PPP session is connected from the PC of the end user to the router and the subscriber PC IP address is assigned by the router via IPCP.
PPPoE is used to equip custom PPP-based software with the ability to deal with a connection that’s not using a serial line and to be at home in a packet-oriented network environment like Ethernet and to allow for a custom connection with login and password for Internet connection accounting. Another factor is that the opposite side of the link’s IP address is only given to it and available for the specific period that the PPPoE connection is open, so reusing IP addresses dynamically is permitted.
PPPoE has a discovery stage and a PPP session stage (see RFC 2516) that works like this: First, a host begins a PPPoE session, during which it has to execute a discovery process so it can determine the best server to meet the needs of the client machine’s request. After that, it has to discover the Ethernet MAC address of the peer device and create a PPPoE session ID. So even though PPP delimits a peer-to-peer relationship, the discovery part is innately a client-server relationship.