What is PPPoE?
The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It is used mainly with DSL services where individual users connect to the DSL modem over Ethernet and in plain Metro Ethernet networks. It was developed by UUNET, Redback Networks and RouterWare (now Wind River Systems) and is available as an informational RFC 2516.
Ethernet networks are packet-based and have no concept of a connection or circuit and also lack basic security features to protect against IP and MAC conflicts and rogue DHCP servers. By using PPPoE, users can virtually "dial" from one machine to another over an Ethernet network, establish a point to point connection between them and then securely transport data packets over the connection. It is mainly used by telephone companies, since PPPoE is easily integrated with legacy dial-up AAA systems and fits perfectly into the ATM backbones. The protocol also permits very easy unbundling of digital subscriber line access multiplexers (DSLAM) where required by regulators, since the user would simply use a different login into PPP, then the ATM circuit would be routed to the user's ISP. Also pre-paid traffic bucket business models can be created with PPPoE more easily than with DHCP or multiplexing multiple users with different speed tiers or QoS through 1 DSL modem or by creating a different login for each static IP purchased by customers.
In late 1998 the DSL service model had a chicken-and-egg problem. ADSL technology had been proposed a decade earlier. Potential Equipment vendors and carriers alike recognized that broadband such as Cablemodem or DSL would eventually replace dialup service, but the hardware (both customer premises and LEC) faced a significant low-quantity cost barrier. Initial estimates for low-quantity deployment of DSL showed costs in the $300-$500 range for a DSL modem and $300/mo access fee from the telco which was well beyond what a home user would pay. Thus the initial focus was on small & home business customers for whom a T1 line (at the time $800-$1500 per month) was not economical, but who needed more than dialup or ISDN could deliver. If enough of these customers paved the way, quantities would drive the prices down to where the home-use dialup user might be interested: more like $50 for the modem and $50/mo for the access.
Different usage profile
The problem was that small business customers had a different usage profile than a home-use dialup user, including
- connecting an entire LAN to the internet
- providing services on a local LAN accessible from the far side of the connection
- simultaneous access to multiple external data sources, such as a company VPN and a general purpose ISP
- continuous usage throughout the workday, or even around the clock
These requirements didn't lend themselves to the connection establishment lag of a dialup process, nor its one-computer-to-one-ISP model, nor even the many-to-one that NAT + dialup provided. A new model was required.
Time to market: simpler is better
A problem with creating a completely new protocol to fill these needs was time. The equipment was available immediately, as was the service, and a whole new protocol stack (Microsoft at the time was advocating fiber-based atm-cells-to-the-desktop, and L2TP was brewing as well, but was not near completion) would take so long to implement that the window of opportunity might slip by. Several decisions were made to simplify implementation and standardization in an effort to deliver a complete solution quickly.
Reuse existing software stacks
PPPoE hoped to merge the widespread ethernet infrastructure with the ubiquitous PPP, allowing vendors on both sides of the connection to heavily leverage their existing software and deliver products in the very near term. Essentially all operating systems at the time had a PPP stack, and the design of PPPoE allowed for a simple shim at the line-encoding stage to convert from PPP to PPPoE.
Simplify hardware requirements
Competing WAN technologies (T1, ISDN) required a router on the customer premises. PPPoE used a different ethernet frame type, which allowed the DSL hardware to function as simply a bridge, passing some frames to the WAN and ignoring the others. Implementation of such a bridge is multiple orders of magnitude simpler than a router.
RFC 2516 was initially released as an informational (rather than standards-track) RFC for the same reason: the adoption period for a standards-track RFC was prohibitively long.
PPPoE was initially designed to provide a small LAN with individual independent connections to the internet at large, but also such that the protocol itself would be lightweight enough that it wouldn't impinge on the hoped-for home usage market when it finally arrived. While success on the second matter may be debated (some complain that 8 bytes per packet is too much) PPPoE clearly succeeded in bringing sufficient volume to drive the price for service down to what a home user would pay. It remains the dominant DSL connectivity mechanism as of 2011, more than a decade later.
PPPoE faces a difficult future. MPLS/IP backbones and IP-DSLAMs are considered the norm and the circuit switched family technologies (ATM/PDH) are being called legacy technologies. Pseudowire and VoIP can be used to deal with legacy customers and equipment. PPPoE has the highest overhead DSL delivery method. The amount of overhead added by PPPoE depends on the packet size because PPPoE adds 8 bytes to each packet. If packets are large, say 1492 bytes, the overhead is only 0.54 % ((1500-1492)/1492). If packets are small though, such as the traffic required by certain web applications, VoIP or online games, the overhead can be much greater. As an example, if a specific VoIP connection used a packet size of 60 bytes, a PPPoE connection adds a 15.3 % overhead. ATM, because of its overhead, is also being purged and PPPoE goes out with that. For example, Verizon's FIOS product has converted to using DHCP internet access instead of PPPoE delivery. GPON, an upgrade of BPON, added an alternative to ATM. PPPoE networks face difficulty in adding multicasting and many level of QoS and lowest overhead for highest speeds for IPTV in today's convergence and triple play networks.
How PPPoE fits in the DSL Internet access architecture
The transport protocol used on the telephone network is ATM. The DSL modem encapsulates PPP packets inside ATM cells and sends them over the WAN. There are several encapsulation methods.
Ethernet packets containing the PPPoE packets are bridged over ATM (RFC 2684).
PPPoE to PPPoA
The PPP frames are extracted from the PPPoE packets and encapsulated in ATM, thus converting PPPoE into PPPoA (RFC 2364).
Since traditional PPP connections are established between two end points over a serial link or over an ATM virtual circuit that has already been established during dial-up, all PPP frames sent on the wire are sure to reach the other end. But Ethernet networks are multi-access where each node in the network can access every other node. An Ethernet frame contains the hardware address of the destination node (MAC address). This helps the frame reach the intended destination.
Hence before exchanging PPP control packets to establish the connection over Ethernet, the MAC address of the two end points should be known to each other so that they can be encoded in these control packets. The PPPoE Discovery stage does exactly this. In addition it also helps establish a Session ID that can be used for further exchange of packets.
Since the point to point connection established has a MTU lower than that of standard Ethernet (typically 1492 vs Ethernet's 1500), it can sometimes cause problems when Path MTU Discovery is defeated by poorly configured firewalls. Although higher MTUs are becoming more common in providers' networks, usually the fix is to use TCP MSS (Maximum Segment Size) "clamping" or "rewrite", whereby the access concentrator rewrites the MSS to ensure TCP peers send smaller datagrams. Although TCP MSS clamping solves the MTU issue for TCP, other protocols such as ICMP and UDP may still be affected. In practice, this does not present significant issues for residential users since most content is served over TCP.
RFC 4638 allows PPPoE devices to negotiate an MTU of greater than 1492 if the underlying Ethernet layer is capable of jumbo frames.
Some vendors (Cisco and Juniper, for example) refer to PPPoEoE (PPPoE over Ethernet), which is PPPoE running directly over Ethernet or other IEEE 802 networks or over Ethernet bridged over ATM, in order to distinguish it from PPPoEoA (PPPoE over ATM), which is PPPoE running over an ATM virtual circuit using RFC 2684 and SNAP encapsulation of PPPoE. (PPPoEoA is not the same as Point-to-Point Protocol over ATM (PPPoA), which doesn't use SNAP).