Point-to-point protocol over Ethernet

PPP over Ethernet ( PPPoE) is the use of the network protocol Point-to- Point Protocol (PPP ) over an Ethernet connection. The protocol defines two phases: PPPoE Discovery and PPP Session. In the first PPPoE discovery phase, the MAC - address of an access concentrator is determined. Then in the second phase of the PPP session data is exchanged according to PPP.

Dissemination

Today, PPPoE is used for ADSL connections in Germany.

In Austria originally for ADSL the Point To Point Tunneling Protocol (PPTP ) was used. Meanwhile PPPoE is now offered here too by some ISPs ( UPC, Tele2, Silver Server ).

Motivation for the development of PPPoE was to provide the possibilities of PPP such as authentication and network configuration (IP address, gateway) on the faster Ethernet. Also PPPoE facilitates the providers to manage, because the infrastructure for Point - to-Point Protocol PPP schemes used by most ISPs already from the days of analog and ISDN modems. Time rates and automatic configuration at dial are for ADSL, SDSL, etc. only possible with PPPoE, technically these lines are dedicated lines and therefore always available. PPPoE provides here the " dial-up " virtually restore, not least is ideal for even the user: he sees no difference between the usual dial-up connection via analog or ISDN modem and its DSL line, so do not get used to.

DSL modem and access concentrator (DSL -AC) of the access provider communicate via the Ethernet LAN emulation of ATM ( LANE ). PPPoE is transmitted to this layer. If the modem has no ethernet port, but an internal PCI device is or is connected via USB, an Ethernet emulation is provided at least by the device driver and / or the DSL modem. This can then connect the PPPoE client operating system.

Building a PPPoE packet

The PPPoE package is located in the payload of the Ethernet frame.

This field specifies PPPoE, whether it is a PPPoE Discovery and PPPoE Session. The following values ​​have the type field:

  • 0x8863 - PPPoE Discovery This applies to the search of a PoP ( " Point of Presence " ) using Ethernet broadcast that connect to the PoP and their degradation.
  • 0x8864 - PPPoE session This affects the configuration and control of the connection and the allocation of, for example, IP addresses, as well as the normal internet traffic. More details in the article PPP.

Is always constant and has the value 1 So PPPoE version 1

Is always constant and has the value 1 So PPPoE type 1

The code field is important for the PPPoE discovery. It shows the discovery -frame type. During the PPPoE session the field always contains the value 0x00.

Values ​​in hexadecimal for the field ' code ':

  • 0x00 - Session Data
  • 0x07 - PADO (PPPoE Active Discovery Offer)
  • 0x09 - PADI (PPPoE Active Discovery Initiation )
  • 0x19 - PADR (PPPoE Active Discovery Request)
  • 0x65 - PADS (PPPoE Active Discovery Session -confirmation )
  • 0xA7 - PADT (PPPoE Active Discovery Termination)

The session ID is assigned by the PoP with the PADS frame and is valid for a connection. Before the value is 0x0000.

Size of the payload in bytes.

PPP protocol and payload have the same structure and the same functions as in PPP.

PPPoE Discovery ( pppoed )

PADI

PADI stands for PPPoE Active Discovery Initiation. Want to Internet users via DSL dial, his computer must determine first if a PoP (DSL -AC) is present. Communication is possible only on the MAC addresses. However, since the user's computer does not know the MAC address of the PoP, it sends the PADI packet via an Ethernet broadcast ( MAC: ff: ff: ff: ff: ff: ff). Of course, the PADI packet contains the MAC of the sender.

Example of a PADI packet:

Frame 1 (44 bytes on wire, 44 bytes captured) Ethernet II, Src: 00:50: 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) Under Src. ( Source / source) is the MAC address of the sending computer. Under Dst (Destination / Target ) the Ethernet broadcast address can be seen. The PADI packet can receive multiple PoP.

PADO

PADO stands for PPPoE Active Discovery Offer. After the computer of the user that sent the PADI packet, sends the PoP one PADO packet. This is possible because the PoP got the sender address with the PADI packet. The PADO packet contains the MAC address of the PoP his name (for example LEIX11 - erx for the telecom DSL -AC in Leipzig) as well as the service name. Send multiple PoP a PADO packet, the computer of the user selects a PoP on the name or the service.

Here we see an example of a PADO packet:

Frame 2 (60 bytes on wire, 60 bytes captured) Ethernet II, Src: 00:0 e: 40:7 b: f3: 8a, Dst: 00:50: 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: lpzbr001    Tag: Host - Uniq      Binary Data: (16 bytes) Under AC Name → String Data, we see the AC - name " lpzbr001 " ( Arcor DSL -AC in Leipzig) Under Src. is the MAC address of the PoP. From this MAC address can also detect the manufacturer of the PoP ( here Nortel Networks).

PADR

PADR stands for PPPoE Active Discovery Request. As already mentioned, the computer must now select a PoP. This is done with the PADR packet, which is sent to the MAC address of the POP.

PADS

PADS stands for PPPoE Active Discovery Session -confirmation. The PADR packet is acknowledged by the PoP with the PADS packet and assign a session ID. The connection is now established to the POP, and can be used.

PADT

PADT stands for PPPoE Active Discovery Termination. The package has the task to disconnect from the PoP. It can be sent from the computer of the user as well as the PoP.

630080
de