Point-to-Point Protocol over Ethernet
From Free net encyclopedia
- This article incorporates text translated from the corresponding German Wikipedia article as of December 2005
Application | FTP | SMTP | HTTP | … | DNS | … |
Transport | TCP | UDP | ||||
Network | IP | IPv6 | ||||
Network access | PPP | |||||
PPPoE | ||||||
Ethernet |
PPPoE, point-to-point protocol over Ethernet, is a network protocol for encapsulating PPP frames in Ethernet frames. It is used mainly with DSL services. It offers standard PPP features such as authentication, encryption, and compression. Unfortunately it has a MTU lower than that of standard ethernet which can sometimes cause problems with badly configured firewalls.
PPPoE is a tunnel protocol which allows one to layer IP over a connection between two Ethernet ports, but with the software features of a PPP link, so it is used to virtually "dial" to another Ethernet machine and make a point to point connection with it, which is then used to transport IP packets, based on the features of PPP.
It allows the use of traditional PPP-based software to handle a connection which does not use a serial line, but a packet-oriented network like Ethernet, to provide a classical connection with login and password for internet connection accounting. Also, the IP address on the other side of the link is only assigned when the PPPoE connection is open, allowing the dynamic reuse of IP addresses.
PPPoE is the protocol used by Bell Sympatico and many other DSL/ADSL carriers for connecting high-speed modems to the service provider.
PPPoE was developed by UUNET, Redback Networks, and RouterWare. The protocol is specified in RFC 2516.
Note that some vendors (Cisco in particular) refer to this protocol as PPPoEoE (PPPoE over Ethernet), in order to distinguish it from PPPoEoA (PPPoE over ATM).
Contents |
PPPoE Discovery (PPPoED)
PADI
PADI stands for PPPoE Active Discovery Initiation.</br> If a user wants to dial up to the internet using DSL, then his computer has to first verify whether there is a PoP (DSL-AC). Communication is only possible via MAC-addresses. As the computer does not know the MAC-address of the PoP, it sends out a PADI packet via an ethernet broadcast (MAC: ff:ff:ff:ff:ff:ff). This PADI packet contains the MAC-address of the computer sending it.
Example of a PADI-packet:
Frame 1 (44 bytes on wire, 44 bytes captured) Ethernet II, Src: 00:5Q:da:42:d7:df, Dst: ff:ff:ff:ff:ff:ff PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Initiation (PADI) Session ID: 0000 Payload Length: 24 PPPoE Tags Tag: Service-Name Tag: Host-Uniq Binary Data: (16 bytes)
Src. (=source) holds the MAC-address of the computer sending the PADI.</br> DST. (=destination) is the ethernet broadcast address. </br> The PADI packet can be received by more than one PoP.
PADO
PADO stands for PPPoE Active Discovery Offer.</br> Once the user's computer has sent the PADI packet, the PoP replies with a PADO packet, using the MAC-address supplied in the PADI. The PADO packet contains the MAC-address of the PoP, its name (e.g. LEIX11-erx for the T-Com DSL-AC in Leipzig) and the name of the service. If more than one PoP replies with a PADO packet, the user's computer selects the PoP using the supplied name or service.
Here is an example of a PADO packet:
Frame 2 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: 00:0e:40:7b:f3:8a, Dst: 00:5Q:da:42:d7:df PPP-over-Ethernet Discovery Version: 1 Type 1 Code Active Discovery Offer (PADO) Session ID: 0000 Payload Length: 36 PPPoE Tags Tag: Service-Name Tag: AC-Name String Data: IpzbrOOl Tag: Host-Uniq Binary Data: (16 bytes)
AC-Name -> String data holds the AC-Name, in this case “lpzbr001” (the Arcor DSL-AC in Leipzig)</br> Src. holds the MAC-address of the PoP.</br> The MAC-address of the PoP also reveals the manufacturer of the PoP (in this case Nortel Networks).
PADR
PADR stands for PPPoE Active Discovery Request.</br> As said above, the computer has to select a PoP – it does this using the PADR packet, which is sent to the MAC-address of the selected PoP.
PADS
PADS stands for PPPoE Active Discovery Session-confirmation.</br> The PADR packet above is confirmed by the PoP with a PADS packet, and a Session ID is given out with it. The connection with the PoP has now been fully established.
PADT
PADT stands for PPPoE Active Discovery Termination.</br> This packet terminates the connection to the PoP. It may be sent from either the user's computer or from the PoP.
See also
External links
- RFC 2516 - A Method for Transmitting PPP Over Ethernet (PPPoE)
- RFC 3817 - Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE)
- Peer-to-Peer Communication Translators
de:PPP over Ethernet
et:PPPoE fr:PPPoE it:PPPoE pt:PPPoE ro:PPPoE ru:PPPoE fi:PPPoE zh:PPPoE