Einsatz von PPPoE bei DSL
Fast alle deutschen Internetanbieter nutzen das Protokoll PPPoE für die Authentifizierung an
ihren DSL-Zugängen. PPPoE steht für PPP over Ethernet. Die PPP-Daten werden innerhalb der Nutzdaten des
Ethernet-Frames übertragen. Dazu werden 8 Bytes benötigt. Dadurch verringert sich die MTU beim Einsatz von PPPoE
auf 1492 Bytes.
Der Aufbau der PPP-Session erfolgt entweder durch einen Router oder über eine DFÜ-Verbindung.
Auf Seiten des Providers wird die Session am Broadband Remote Access Server (BRAS) terminiert.
Dieser wird auch als DSL Access Concentrator (DSL-AC) bezeichnet.
Aufbau einer PPPoE-Session
Für den Aufbau einer Session tauchen der DSL-Router und der DSL-AC unterschiedliche Frames aus.
Der Vorgang beginnt mit einem PPPoE Discovery (PPPoED). Dazu sendet der Router ein PADI.
PADI - PPPoE Active Discovery Initiation
Der PADI-Frame wird als Broadcast versendet. Ein möglicher Parameter im PADI
ist der Service Name. Dieser wird unter Umständen vom Provider vorgegeben, ist aber in der Regel leer.
Ethernet II,
Src: Netgear_cf:7f:45 (00:09:5b:cf:7f:45),
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Type: PPPoE Discovery (0x8863)
PPP-over-Ethernet Discovery
0001 .... = Version: 1
.... 0001 = Type: 1
Code: Active Discovery Initiation (PADI) (0x09)
Session ID: 0x0000
Payload Length: 4
PPPoE Tags
Service-Name:
Empfängt ein BRAS bzw. DSL-AC einen gültigen PADI-Frame, sollte er mit einem PADO
antworten.
PADO - PPPoE Active Discovery Offer
Im PADO sendet der DSL-AC seinen Namen und einen Cookie als
eindeutige Kennung für diese Session.
Ethernet II,
Src: Unispher_a0:52:4f (00:90:1a:a0:52:4f),
Dst: Netgear_cf:7f:45 (00:09:5b:cf:7f:45)
Type: PPPoE Discovery (0x8863)
PPP-over-Ethernet Discovery
0001 .... = Version: 1
.... 0001 = Type: 1
Code: Active Discovery Offer (PADO) (0x07)
Session ID: 0x0000
Payload Length: 38
PPPoE Tags
AC-Name: BERX45-erx
Service-Name:
AC-Cookie: 3BDEE8D04019B78D0C8FBAB945D96FB5
Es können auch mehrere DSL-AC auf einen PADI antworten.
PADR - PPPoE Active Discovery Request
Der Client wählt ein PADO aus und antwortet mit einem PADR.
Der PADR wird an die MAC-Adresse des DSL-AC gesendet.
Ethernet II,
Src: Netgear_cf:7f:45 (00:09:5b:cf:7f:45),
Destination: Unispher_a0:52:4f (00:90:1a:a0:52:4f)
Type: PPPoE Discovery (0x8863)
PPP-over-Ethernet Discovery
0001 .... = Version: 1
.... 0001 = Type: 1
Code: Active Discovery Request (PADR) (0x19)
Session ID: 0x0000
Payload Length: 24
PPPoE Tags
AC-Cookie: 3BDEE8D04019B78D0C8FBAB945D96FB5
Service-Name:
In der Antwort ist auch der AC-Cookie enthalten.
PADS - PPPoE Active Discovery Session Confirmation
Der DSL-AC bestätigt die Session mit einem PADS.
Ethernet II,
Src: Unispher_a0:52:4f (00:90:1a:a0:52:4f),
Destination: Netgear_cf:7f:45 (00:09:5b:cf:7f:45)
Type: PPPoE Discovery (0x8863)
PPP-over-Ethernet Discovery
0001 .... = Version: 1
.... 0001 = Type: 1
Code: Active Discovery Session-confirmation (PADS) (0x65)
Session ID: 0x1b2b
Payload Length: 38
PPPoE Tags
Service-Name:
AC-Name: BERX45-erx
AC-Cookie: 3BDEE8D04019B78D0C8FBAB945D96FB5
Damit ist die PPPoE-Session aufgebaut.
PADT - PPPoE Active Discovery Termination
Beide Seiten können die Session mit einem PADT beenden.
PPP Link Control Protocol (LCP)
Im weiteren Verlauf tauschen Router und DSL-AC über PPP LCP Informationen aus.
Hier teilt der Router seine MRU von 1492 Bytes mit.
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Configuration Request (0x01)
Identifier: 0x00
Length: 14
Options: (10 bytes)
Maximum Receive Unit: 1492
Magic number: 0x02d385a7
Der DSL-AC bestätigt:
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Configuration Ack (0x02)
Identifier: 0x00
Length: 14
Options: (10 bytes)
Maximum Receive Unit: 1492
Magic number: 0x02d385a7
Danach informiert der DSL-AC den Router über sein
Authentication Protocol. In diesem Fall ist es das unverschlüsselte PAP.
Alternativ könnte hier CHAP genutzt werden.
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Configuration Request (0x01)
Identifier: 0xe1
Length: 18
Options: (14 bytes)
Maximum Receive Unit: 1492
Authentication protocol: 4 bytes
Authentication protocol: Password Authentication Protocol (0xc023)
Magic number: 0x198dd8d2
Der Router bestätigt die Nutzung von PAP.
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Configuration Ack (0x02)
Identifier: 0xe1
Length: 18
Options: (14 bytes)
Maximum Receive Unit: 1492
Authentication protocol: 4 bytes
Authentication protocol: Password Authentication Protocol (0xc023)
Magic number: 0x198dd8d2
Benutzeranmeldung mit PAP
Im nächsten Schritt meldet sich der Router mit den Zugangsdaten beim Provider an.
Point-to-Point Protocol
Protocol: Password Authentication Protocol (0xc023)
PPP Password Authentication Protocol
Code: Authenticate-Request (0x01)
Identifier: 0x01
Length: 54
Data (50 bytes)
Peer ID length: 40 bytes
Peer-ID (40 bytes)
Password length: 8 bytes
Password (8 bytes)
In diesem Frame werden die Benutzerkennung und das Kennwort im Klartext übertragen.
Der Provider bestätigt die gültige Anmeldung mit einem Authenticate-Ack.
Point-to-Point Protocol
Protocol: Password Authentication Protocol (0xc023)
PPP Password Authentication Protocol
Code: Authenticate-Ack (0x02)
Identifier: 0x01
Length: 5
Data (1 byte)
Ist die Kombination aus Benutzername und Passwort ungültig, enthält die Anwort ein
Authenticate-Nak (Code 3).
PPP Internet Protocol Control Protocol (IPCP)
Nach erfolgreicher Anmeldung bekommt der Router eine IP-Adresse und die Adressen von
DNS-Servern mitgeteilt. Im folgenden Beispiel fordert der Netgear Router die IP-Adresse 0.0.0.0
an. Im zweiten Frame wird diese Anforderung abgelehnt (Configuration Nak) und dabei
die gültigen Daten übertragen. Diese neuen Daten werden dann nochmals angefordert und
bestätigt.
Ethernet II,
Src: Netgear_cf:7f:45 (00:09:5b:cf:7f:45),
Dst: Unispher_a0:52:4f (00:90:1a:a0:52:4f)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: IP Control Protocol (0x8021)
PPP IP Control Protocol
Code: Configuration Request (0x01)
Identifier: 0x02
Length: 22
Options: (18 bytes)
IP address: 0.0.0.0
Primary DNS server IP address: 0.0.0.0
Secondary DNS server IP address: 0.0.0.0
Ethernet II,
Src: Unispher_a0:52:4f (00:90:1a:a0:52:4f),
Dst: Netgear_cf:7f:45 (00:09:5b:cf:7f:45)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: IP Control Protocol (0x8021)
PPP IP Control Protocol
Code: Configuration Nak (0x03)
Identifier: 0x02
Length: 22
Options: (18 bytes)
IP address: 84.189.141.54
Primary DNS server IP address: 217.237.151.51
Secondary DNS server IP address: 217.237.149.205
Ethernet II,
Src: Netgear_cf:7f:45 (00:09:5b:cf:7f:45),
Dst: Unispher_a0:52:4f (00:90:1a:a0:52:4f)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: IP Control Protocol (0x8021)
PPP IP Control Protocol
Code: Configuration Request (0x01)
Identifier: 0x03
Length: 22
Options: (18 bytes)
IP address: 84.189.141.54
Primary DNS server IP address: 217.237.151.51
Secondary DNS server IP address: 217.237.149.205
Ethernet II,
Src: Unispher_a0:52:4f (00:90:1a:a0:52:4f),
Dst: Netgear_cf:7f:45 (00:09:5b:cf:7f:45)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: IP Control Protocol (0x8021)
PPP IP Control Protocol
Code: Configuration Ack (0x02)
Identifier: 0x03
Length: 22
Options: (18 bytes)
IP address: 84.189.141.54
Primary DNS server IP address: 217.237.151.51
Secondary DNS server IP address: 217.237.149.205
Ab dieser Stelle ist ein Zugriff auf das Internet möglich.
LCP Echo
Einige Router nutzen einen LCP Echo Request um die Verbindung in bestimmten Abständen zu
überprüfen. Dieser wird vom DSL-AC mit einem Echo Reply beantwortet.
Ethernet II,
Src: Netgear_cf:7f:45 (00:09:5b:cf:7f:45),
Dst: Unispher_a0:52:4f (00:90:1a:a0:52:4f)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Echo Request (0x09)
Identifier: 0x05
Length: 8
Magic number: 0x02d385a7
Ethernet II,
Src: Unispher_a0:52:4f (00:90:1a:a0:52:4f),
Dst: Netgear_cf:7f:45 (00:09:5b:cf:7f:45)
PPP-over-Ethernet Session
Point-to-Point Protocol
Protocol: Link Control Protocol (0xc021)
PPP Link Control Protocol
Code: Echo Reply (0x0a)
Identifier: 0x05
Length: 8
Magic number: 0x198dd8d2
Fragen?
Hilfe bei DSL-Problemen finden Sie im Netzwerkforum.
Die Beispiele in diesem Artikel wurden mit Wireshark aufgezeichnet.
Die entsprechenden Grundlagen vermittelt Ihnen mein Wireshark Tutorial.
|