This course covers the details of the Point-to-Point Protocol (PPP) as well as PPP over Ethernet (PPPoE). It starts with a brief history of the original, intended usage of PPP in dialup links as well as providing details of the PPP frame format. Then we go into in-depth discussion and debugs of the PPP LCP, Authentication, and NCP stages. PPPoE is then introduced by giving use-case examples. The PPPoE control frames of PADI, PADO, PADR and PADS are each explained in detail including Sniffer traces. PPPoE (both Client and Server-side) configuration is explained and demonstrated, as well as MTU issues that might be encountered with PPPoE and ways to circumvent those issues.