Figure 1-4 “PPPoE Architecture” illustrates the
architecture of the PPPoE software.
The numbers 1,2,3,4, and 5, in Figure 1-4 “PPPoE Architecture”, depict the interactions between the client and
the server before and after establishing a PPPoE connection. See
“PPPoE Overview”
for
more information.
The PPPoE client initially searches for an access concentrator
in a separate process, which forks a pppd process on discovering the appropriate server.
It also notifies the pppd process that the basic device is Ethernet. Several pppd processes may be running on the server, waiting
for PPPoE packets.
When a client sends a packet, all the pppd processes running on the server receive it and
filter it based on the session ID within the PPPoE packet. A multiplexor (MUX) installed
on the server prevents all the pppd processes from receiving the packet. The multiplexor
is linked to a Data Link Provider Interface (DLPI). DLPI examines
each PPPoE packet and delivers it to the corresponding pppd process based on the session ID.