Home       Servicebereich  Projekte  Kontakt  

Logo von LWsystems LWsystems bietet Support und Dienstleistungen rund um OpenSource Software.
Rufen Sie uns an!

05451 - 9363 845 oder 05403 - 55 56

ADSL / PPPoE


Grundlegender Aufbau einer ADSL Strecke

ADSL kann über eine einfache zwei-adriges Verbindung wie sie z.B. bei der analogen und digitalen Telefonie üblich ist, übertragen werden. Die ADSL Signale werden in einem höheren Frequenzband als die Signale der Sprachtelefonie übertragen.

Die eigentliche ADSL Verbindung wird zwischen jeweils zwei ADSL Modemen aufgebaut. Diese Geräte sind mit denen für analoge Telefonverbindungen vergleichbar. Das Gerät in der Vermittlungsstelle wird als ATU-C (ADSL Transmission Unit Central-Office), das Gegenstück beim Kunden als ATU-R (ADSL Transmission Unit Remote-Office) bezeichnet. Die ATU-C Geräte der Vermittlungsstelle werden in einer so genannten Konzentrator Baugruppe montiert. Daher wird dieser Endpunkt im Englischen auch als Access Concentrator bezeichnet.

Die hochfrequenten ADSL Signale werden mit Hilfe des so genannten Splitters in die Leitung ein- und ausgekoppelt. Der Splitter ist im Prinzip eine Frequenzweiche und kann daher rein passiv (also ohne die Notwendigkeit einer Stromversorgung) ausgeführt werden.

Prinzipieller Aufbau einer ADSL Strecke


  Router -- ATU-R ----+              +---- ATU-C -- Internet
                      |              |
                 Splitter -------- Splitter
                      |              |
 Telefon -------------+              +---- Telefonnetz

    Kunde                               Vermittlungsstelle

PPP over Ethernet (PPPoE)

Eine Internet-Verbindung über einen ADSL Link wird in der Regel mit Hilfe des PPP Protokolls realisiert. Dieses hat aus Sicht des Providers den Vorteil, dass er die Authentisierung und das Accounting auf PPP Ebene realisieren kann.

Für eine Punkt-zu-Punkt Verbindung über Ethernet muss jeder Endpunkt die Ethernet (MAC) Adresse der Gegenseite kennen. Die Ermittlung der Adresse der jeweiligen Gegenseite wird beim PPPoE Verbindungsaufbau mit Hilfe eines in PPPoE integrierten Protokolls ermittelt. Das PPPoE Protokoll ist in RFC 2516 spezifiziert.

PPPoE besteht aus zwei Stufen. In der ersten (discovery) Stufe werden die jeweiligen Adressen ermittelt. In der zweiten (Session) Stufe erfolgt die Datenübertragung.

PPPoE Discovery

Die Discovery Phase wird in vier Schritten abgearbeitet. Nach dem Ende dieser Phase ist eine Session aufgebaut. Die Ethernet-Adressen sind beiden Partnern bekannt. Eine eindeutige SESSION_ID wurde festgelegt.

Pakettype beim Verbindungsaufbau

      Client       Server
      ---------+---------
      PADI    ---> 
             <---    PADO
      PADR    --->
             <---    PADS

  1. PADI Der "Client" sendet ein Paket zur Initialisierung per Broadcast.

    Das Paket zur Initialisierung wird als PADI (PPPoE Active Discovery Initation) Paket bezeichnet. Dieses Paket ist an die Broadcast Adresse gerichtet.

  2. PADO Der "Server" (Access Concentrator) schickt ein Bestätigungs-Paket per Unicast an den Host.

    Wenn ein PADI Paket den Server erreicht, antwortet er mit einem PADO (PPPoE Active Discovery Offer) Paket, dass direkt an die Ethernet Adresse des Clients gerichtet ist. Der Server kennt jetzt die Adresse des Clients.

    Der Client wartet eine zeitlang auf ein PADO Paket. Falls er kein PADO Paket empfängt, verdoppelt er den Timeout und verschickt erneut ein PADI Paket. Dieses Verhalten kann gemäß PPPoE Protokollspezifikation beliebig wiederholt werden.

  3. PADR Der Client schickt ein Session-Request Paket zu (einem) Server per Unicast.

    Der Client antwortet auf das Bestätigungs-Paket mit einem PADR (PPPoE Active Discovery Request) Paket. Falls er Antworten von mehreren Access Concentratoren bekommen hat, schickt wählt er einen aus, dem er das PADS Paket schickt.
    Das SESSION_ID Feld des Pakets wird auf 0x0000 gesetzt.

    Falls der Server nach einem Timeout kein PADR Paket empfängt, verschickt er erneut ein PADO Paket und verdoppelt seinen Timeout. Auch dieses Verhalten kann gemäß Spezifikation beliebig wiederholt werden.

  4. PADS Der Server (Access Concentrator) schickt wiederum ein Bestätigungs-Paket. Er tritt jetzt in die Session Phase ein.

    Wenn das PADR Paket den Server erreicht antwortet er mit einem PADS (PPPoE Active Discovery Session-confirmation) Paket. Dieses Paket enthält eine eindeutige SESSION_ID.

Wenn das Bestätigungs-Paket den Host erreicht hat, tritt er in die Session-Phase ein.

Übliche Probleme beim Verbindungsaufbau

Wenn die Ethernet Verbindung zwischen Router oder PC und dem ADSL-Modem auf Client-Seite oder die ADSL Verbindung zwischen den beiden Modemen nicht aufgebaut werden kann, verschickt der Client PADI Pakete und wartet vergeblich auf die PADO Pakete des Servers. Die unter Linux übliche PPPoE Implementierung schreibt dann Fehlermeldungen ähnlich den folgenden in das Syslog:

    pppd[4252]: pppd 2.4.1 started by root, uid 0
    pppd[4252]: Using interface ppp0
    pppd[4252]: Connect: ppp0 <--> /dev/pts/3
    pppd[4252]: LCP: timeout sending Config-Requests
    pppd[4252]: Connection terminated.
    pppd[4252]: Using interface ppp0
    pppd[4252]: Connect: ppp0 <--> /dev/pts/4
    pppoe[4253]: Timeout waiting for PADO packets

In einem solchen Fall sollte auf Clientseite die Verbindung zwischen Ethernetkarte und DSL-Modem, sowie zwischen DSL-Modem und Splitter und zwischen Splitter und Telefonnetz überprüft werden. Am DSL-Modem kann anhand der Kontrolleuchte Link festgestellt werden, ob die ADSL Verbindung zum Modem der Vermittlungsstelle aufgebaut werden konnte.

Neben den Syslog Meldungen kann der Verbindungsaufbau auf der Client-Maschine mit Hilfe eines Packet Sniffers wie tcpdump(8) verfolgt werden. Tcpdump bzw. die pcap Library erkennt die PPPoE Pakete und gibt diese direkt mit Angabe des Typs (PADI, PADO, ...) aus.

Session Phase

Nach erfolgreichem Aufbau der Session werden PPP Pakete mit dieser Verbindung übertragen. Zum Aufbau der PPP Verbindung wird eine PPP Authentisierung beim Provider mit durchgeführt

Session beenden

Eine Session kann mit Hilfe eines PADT (PPPoE Active Discovery Terminate) Pakets oder durch Abbau der PPP Session beendet werden. In beiden Fällen muss für den Aufbau einer neuen Session die oben beschriebene Discovery Phase durchlaufen werden.

Maximale MTU für PPPoE

Der PPPoE Header hat eine Größe von 6 Byte, die PPP Protokoll-ID ist 2 Byte groß. Diese Informationen müssen mit jedem PPP Paket über Ethernet übertragen werden.

Ein Ethernet Frame kann maximal 1500 Byte groß werden. Daher kann das zu übertragende PPP Paket eine Größe von höchstens 1492 Byte erreichen.


< zurück  | weiter >