Das Internet ist prin­zi­pi­ell nur ein sehr großes Com­pu­ter­netz­werk und un­ter­schei­det sich in vielen Punkten nicht von dem hei­mi­schen Local Area Network (LAN). Das gilt al­ler­dings nicht in jeder Hinsicht: Durch die Größe und die Stellung, die In­ter­net­pro­vi­der bzw. ihre Server einnehmen, braucht das globale Netzwerk auch eigene Technik. Ein solche Technik stellt das Point-to-Point-Protocol over Ethernet (PPPoE) dar. Was genau ist die Aufgabe dieses Pro­to­kolls?

Wofür braucht man das Point-to-Point-Protocol over Ethernet?

Um eine In­ter­net­ver­bin­dung her­zu­stel­len, muss der heimische PC (oder ein anderes ent­spre­chen­des Endgerät) über den Router eine Ver­bin­dung in das Internet aufbauen. Der Zugang wird von einem In­ter­net­pro­vi­der (ISP) zur Verfügung gestellt, der auch über­prü­fen muss, ob der Client überhaupt die Be­rech­ti­gung für den Zugang besitzt. Als das Internet – damals noch per ISDN – seinen Einzug in private Haushalte nahm, hat man für diese Über­prü­fung das Point-to-Point-Protocol (PPP) verwendet. Das Ein­wahl­me­di­um (das Modem bzw. der Router) nimmt hierbei eine direkte Ver­bin­dung zum Kno­ten­punkt des In­ter­net­pro­vi­ders auf. Dieser ve­ri­fi­ziert die Daten und gibt den Weg ins Internet frei.

PPP hatte für In­ter­net­pro­vi­der den Vorteil, dass man durch das Protokoll nicht nur die Zu­gangs­be­rech­ti­gung über­prü­fen, sondern auch die über­tra­ge­ne Da­ten­men­ge und die Ein­wahl­zeit fest­stel­len konnte. Da es damals noch üblich war, Mi­nu­ten­prei­se für die Nutzung des Internets zu zahlen, kam das Protokoll den Anbietern sehr zugute. Mit dem Aufkommen von DSL und an­ge­sichts der Ent­wick­lung, dass oftmals mehr als ein Gerät pro Haushalt gleich­zei­tig im Internet unterwegs ist, brauchte es dann al­ler­dings eine neue Technik.

Das PPPoE-Protocol bietet dieselben Vorteile wie PPP, lässt die Technik aber über Ethernet laufen. Diese Netz­werk­tech­nik ist in­zwi­schen überall Standard und er­mög­licht komplexe und schnelle Ver­bin­dun­gen. Der bekannte PPP-Anteil des Da­ten­pa­kets wird dabei in den Ethernet-Frame in­te­griert.

Fakt

Das PPPoE-Protocol wurde zum ersten Mal 1999 im RFC 2516 definiert.

Aufbau und Ablauf von PPP over Ethernet

PPPoE ist Teil des TCP/IP-Pro­to­koll­sta­pels – und befindet sich dort auf der untersten Schicht, dem Netz­zu­gang. Das Protokoll agiert in zwei ver­schie­de­nen Phasen, die wiederum Aus­wir­kun­gen auf den Aufbau haben. Zunächst beginnt man mit dem PPPoE-Discovery. In diesem Schritt ermittelt das Protokoll die MAC-Adresse des Kno­ten­punk­tes, um über diesen dann das Internet nutzen zu können. Diese Suche funk­tio­niert über einen Broadcast: Die Da­ten­pa­ke­te werden also ohne spe­zi­el­les Ziel in das Netz hin­aus­ge­schickt. Der Kno­ten­punkt, auch Point of Presence (PoP) genannt, antwortet dann und stellt so eine Kom­mu­ni­ka­ti­ons­ebe­ne zwischen den beiden Netz­teil­neh­mern her.

An­schlie­ßend startet die zweite Phase, die PPPoE-Session. In dieser werden zunächst Details aus­ge­han­delt. Bei­spiels­wei­se überprüft der Kno­ten­punkt die Zu­gangs­be­rech­ti­gung des Clients. Dann folgt die ei­gent­li­che Nutzung des Internets, was immer noch zur Phase der PPPoE-Session gehört.

Um welches Phase es sich gerade handelt, erkennt man im Typenfeld des Ethernet-Frames. Hier steht entweder 0x8863 für die Discovery oder 0x8864 für die Session. Nach dem Typenfeld folgt der PPPoE-Frame, ein­ge­bet­tet im Datenfeld des Ethernet-Frames. Der PPPoE-Anteil lässt sich wiederum in un­ter­schied­li­che Ab­schnit­te einteilen. Zunächst wird die Version von PPPoE über­tra­gen. Da es aber nur eine Version des Pro­to­kolls gibt, ist hier immer nur der Wert 1 zu finden. An­schlie­ßend folgt der PPPoE-Typ, welcher aber auch immer auf 1 steht.

Während die ersten beiden Teile jeweils nur 4 Bit ein­ge­nom­men haben, folgt nun ein 1 Byte (also 8 Bit) großes Code-Feld. Dieses ist vor allem für die PPPoE-Discovery-Phase von Bedeutung und zeigt an, in welchem Schritt die beiden Kom­mu­ni­ka­ti­ons­teil­neh­mer gerade befinden. Ist man bereits in der Session an­ge­kom­men, hat das Feld einfach den Wert 0x00. In der Discovery-Phase sind al­ler­dings 5 ver­schie­de­ne Werte möglich:

  • 0x09: PPPoE Active Discovery In­itia­ti­on (PADI)
  • 0x07: PPPoE Active Discovery Offer (PADO)
  • 0x19: PPPoE Active Discovery Request (PADR)
  • 0x65: PPPoE Active Discovery Session-con­fir­ma­ti­on (PADS)
  • 0xa7: PPPoE Active Discovery Ter­mi­na­ti­on (PADT)

Die Discovery-Phase beginnt also mit dem Broadcast (PADI). In diesem Schritt über­mit­telt der Client auch seine eigene MAC-Adresse, um an­schlie­ßend eine Antwort erhalten zu können. In dem dar­auf­fol­gen­den Da­ten­pa­ket des PoP gibt dieser seine eigene MAC-Adresse sowie seinen Namen bekannt (PADO). Es ist gut möglich, dass sich mehrere Kno­ten­punk­te auf den Broadcast des Clients hin melden. Der heimische Computer bzw. Router muss dann anhand des Namens ent­schei­den, zu welchem PoP er Kontakt aufnehmen möchte. Dies teilt er dem Kno­ten­punkt durch eine weitere Sendung mit (PADR). An­schlie­ßend nimmt der PoP erneut Kontakt zum Netz­teil­neh­mer auf, bestätigt damit die Ver­bin­dung und weist dem Gerät eine Session-ID zu (PADS). Die In­ter­net­ver­bin­dung ist somit her­ge­stellt. Möchte einer der Teil­neh­mer die Ver­bin­dung beenden, teilt er das dem anderen Gerät mit einem ab­schlie­ßen­den Da­ten­pa­ket mit (PADT).

Nachdem die Ver­bin­dung her­ge­stellt wurde und der Point of Presence eine Session-ID vergeben hat, spielen die weiteren Felder innerhalb des Frames eine Rolle. Zunächst ist hier die Session-ID ein­ge­tra­gen. Damit können alle folgenden Da­ten­pa­ke­te iden­ti­fi­ziert werden. Als nächstes wird die Länge des ab­schlie­ßen­den Payload-Feldes benannt. Durch die Angabe kann si­cher­ge­stellt werden, dass keine In­for­ma­tio­nen während der Über­tra­gung ver­lo­ren­ge­gan­gen sind. Das folgende Protokoll-Feld in­for­miert darüber, welches Protokoll für den Payload verwendet wird, also bei­spiels­wei­se IPv4 oder IPv6. Diese drei Felder haben jeweils eine Länge von 2 Byte. Im Payload-Feld sind schließ­lich die ei­gent­li­chen für die Über­tra­gung vor­ge­se­he­nen Daten enthalten. Dieser Abschnitt kann eine variable Länge einnehmen (über die zuvor in­for­miert wurde) und schließt den PPPoE-Frame ab.

Vorteile von PPPoE

Point-to-Point-Protocol over Ethernet ist stark mit der Ent­wick­lung von DSL und der all­ge­mei­nen Ver­brei­tung des Internets verzahnt. Das Vor­gän­ger­pro­to­koll PPP war für Wähl­lei­tun­gen wie ISDN kon­zi­piert. Mit DSL hat auch der Standard Ethernet überall Einzug gehalten. Dafür musste das alte Protokoll, das bis dahin sehr er­folg­reich war, angepasst werden. Ethernet er­mög­licht es zudem, dass sich mehrere Geräte die gleiche Leitung teilen können, um ins Internet zu gehen. Auch das war mit dem ge­wöhn­li­chen Point-to-Point-Protokoll nicht möglich.

In den meisten Fällen übernimmt ein Router den direkten Kontakt zum In­ter­net­pro­vi­der und stellt daher auch den Zugang ins Internet her. Mit PPPoE ist es aber auch möglich, dass ein in­di­vi­du­el­les Gerät selbst mit dem PoP kom­mu­ni­ziert. Dafür muss im Router das so­ge­nann­te PPPoE-Pass­th­rough aktiviert sein. Der Router lässt den Ver­bin­dungs­wunsch des Gerätes dann direkt durch. Der komplette Ablauf aus Discovery und Session findet dann zwischen dem (bei­spiels­wei­se) PC und dem PoP statt.

Außerdem bringt PPPoE einen positiven Aspekt mit, den bereits auch PPP bot: Über das Protokoll lässt sich die Zu­gangs­be­rech­ti­gung des Clients relativ leicht abfragen. Dafür stehen ver­schie­de­ne Methoden zur Verfügung: Am ein­fachs­ten erfolgt die Abfrage eines Passworts per Password Au­then­ti­ca­ti­on Protocol (PAP). Hierbei wird der Client ganz simpel nach einem geheimen Kennwort gefragt. Diese Technik funk­tio­niert zwar prin­zi­pi­ell gut, ist aber nicht mehr voll­kom­men sicher, da die Über­mitt­lung des Passworts nicht ver­schlüs­selt geschieht und daher von Dritten mit­ge­le­sen werden könnte.

Mehr Si­cher­heit bietet das Challenge Handshake Au­then­ti­ca­ti­on Protocol (CHAP). Bei diesem wird eine ver­schlüs­sel­te Kom­bi­na­ti­on aus Passwort und einem spe­zi­fi­schen Wert aus­ge­tauscht. Da das Passwort dem Server des Netz­be­trei­bers bekannt ist, kann dieser die Kom­bi­na­ti­on wieder ent­schlüs­seln und damit die Be­rech­ti­gung über­prü­fen. Eine dritte Mög­lich­keit zur Au­then­ti­fi­zie­rung besteht im Ex­ten­si­ble Au­then­ti­ca­ti­on Protocol (EAP). Hierbei handelt es sich um eine Art Framework, das ver­schie­de­ne Optionen der Au­then­ti­fi­zie­rung bietet.

Hinweis

Im Kontext von PPPoE taucht immer wieder auch der Begriff DHCP auf, da beides vom In­ter­net­pro­vi­der vor­ge­ge­be­ne Me­cha­ni­ken sind, sich mit dem Internet zu verbinden. Technisch gesehen handelt es sich aber um zwei un­ter­schied­li­che Pro­to­kol­le. Während PPPoE dafür da ist, einen Tunnel zum Kno­ten­punkt her­zu­stel­len, verwendet man DHCP zur dy­na­mi­schen Zuweisung einer IP-Adresse.

Zum Hauptmenü