PPPoE (Point to Point Protocol over Ethernet)
Was ist das PPPoE (Point-to-Point Protocol over Ethernet)?
Das Point-to-Point Protocol over Ethernet (PPPoE) ist ein Netzwerkprotokoll, das die Kommunikation zwischen Netzwerkendpunkten erleichtert. PPPoE kapselt PPP-Frames (Point-to-Point Protocol) in Ethernet-Frames und bietet so die gleichen Vorteile wie PPP, während es zugleich Konnektivität über Ethernet-Netzwerke hinweg ermöglicht.
Mit PPPoE können Serviceanbieter mehrere Clients verwalten, den Zugriff auf ihre Dienste authentifizieren und die Nutzung von Kundendaten nachverfolgen. PPPoE unterstützt auch Dienste zum Beispiel zur Verschlüsselung und Komprimierung von Daten.
Wofür wird PPPoE verwendet?
PPPoE wird häufig von Internet Service Providern (ISP) eingesetzt, um ihren Kunden Internetzugangsdienste bereitzustellen, in der Regel über Breitbandverbindungen. PPPoE wird von Anbietern die DSL-Dienste (Digital Subscriber Line) bereitstellen, in großem Umfang eingesetzt. Anbieter, die PPPoE verwenden, können mehrere Hosts in einem einzigen Ethernet-LAN über ein gemeinsames Gerät wie ein Kabel- oder DSL-Modem mit einem Remote-Standort verbinden. Das Protokoll kann auch drahtlose Verbindungen zum Internet unterstützen.
UUNET, Redback Networks und RouterWare entwickelten PPPoE, um die Einschränkungen von PPP zu beheben und eine Lösung für Unternehmen bereitzustellen, die auf Customer Premises Equipment (CPE) angewiesen waren, um Multihost-Umgebungen zu unterstützen. Im Februar 1999 half die Internet Society bei der Formalisierung von PPPoE, indem sie die Request for Comments 2516 (RFC 2516) veröffentlichte, eine Informationsspezifikation, die PPPoE beschreibt und erläutert, wie PPP-Sitzungen aufgebaut und PPP-Pakete über Ethernet gekapselt werden.
Wie funktioniert PPPoE?
Ethernet und PPP bieten keine native Unterstützung füreinander, haben jedoch beide wichtige Vorteile für die Unterstützung von Multihost-Netzwerkumgebungen. PPPoE überbrückt die Lücke zwischen Ethernet und PPP, indem es eine Punkt-zu-Punkt-Beziehung zwischen Netzwerk-Peers ermöglicht. Eine Multihost-Ethernet-Umgebung kann PPPoE verwenden, um PPP-Sitzungen für mehrere Ziele über ein oder mehrere Bridging-Modems zu öffnen.
Wie Ethernet und PPP arbeitet PPPoE auf der Netzwerkzugangsschicht im Transmission Control Protocol/Internet Protocol (TCP/IP) und auf der Datenverbindungsschicht im OSI-Modell (Open Systems Interconnection). Das Protokoll ist für die Verwendung mit Breitband-Technologien für den Fernzugriff vorgesehen, die eine Bridged-Ethernet-Topologie bieten. Mit PPPoE können Service Provider die kostengünstigen Vorteile von Ethernet nutzen und gleichzeitig die für PPP verfügbaren Funktionen für Sitzungsabstraktion, Zugriffskontrolle und Abrechnung beibehalten.
Die PPPoE-Kommunikation erfolgt in zwei Phasen: PPPoE-Erkennung und PPP-Sitzung. Während der PPPoE-Erkennungsphase richtet das Client-System einen Kommunikationskanal mit einem Access Concentrator (AC) ein – einem PPPoE-Server, der die Verbindungen mit PPPoE-Clients aushandelt und authentifiziert. Zum Beispiel könnte ein Service Provider mehrere ACs für die Bereitstellung von Internetzugangsdiensten für seine Kunden unterhalten.
Wenn ein Client versucht, eine Sitzung mit einem AC zu initiieren, durchlaufen Client und AC einen vierstufigen Erkennungsprozess, bei dem bestimmte Pakettypen ausgetauscht werden:
- Der Client initiiert die Kommunikation, indem er ein PADI-Paket (PPPoE Active Discovery Initiation) überträgt, das eine Dienstanforderung enthält.
- Wenn ein AC das PADI empfängt, antwortet er mit dem Senden eines PADO-Pakets (PPPoE Active Discovery Offer), das seinen eigenen Namen und andere Details über den angebotenen Dienst beinhaltet.
- Als Antwort auf das PADO sendet der Client ein PADR-Paket (PPPoE Active Discovery Request) an den AC, um den Dienst zu akzeptieren. Wenn der Client PADOs von mehreren ACs empfängt, wählt er einen basierend auf dem Namen oder den angebotenen Diensten aus.
- Wenn der AC das PADR empfängt, sendet er ein PADS-Paket (PPPoE Active Discovery Session Confirmation), das die Verbindung bestätigt und eine Sitzungs-ID bereitstellt, die während der gesamten Sitzung verwendet wird.
Nach Abschluss der Erkennungsphase und dem Aufbau der Verbindung wechseln Client und AC zur PPP-Sitzungsphase. Während der Sitzungsphase wird die Punkt-zu-Punkt-Kommunikation zwischen Client und AC wie bei jeder PPP-Kapselung ausgeführt. Die Ethernet-Pakete selbst werden per Unicast gesendet.
Zu jedem Zeitpunkt während der Sitzung kann entweder der AC oder der Client ein PADT-Paket (PPPoE Active Discovery Termination) senden, um die Sitzung zu beenden. Wenn der Client oder der AC das PADT empfängt, ist während dieser Sitzung kein weiterer PPP-Verkehr zulässig.
Wie wird PPPoE konfiguriert?
Einige Internetdienstanbieter stellen ihren Kunden Breitbandmodems zur Verfügung, bei denen die PPPoE-Verbindungen bereits vorkonfiguriert sind. In manchen Fällen müssen Administratoren die Verbindung jedoch manuell einrichten. Dazu müssen sie den PPPoE-Benutzernamen, das Passwort und die maximale Größe der Übertragungseinheit (MTU) kennen. Der Internetdienstanbieter sollte dem Kunden den Benutzernamen und das Passwort mitteilen, für die MTU-Größe sind jedoch die Administratoren verantwortlich.
Netzwerke müssen mit der richtigen MTU-Größe konfiguriert sein, um ordnungsgemäß zu funktionieren. Die Größe wird in Oktetten (acht Bits, also ein Byte) angegeben und bestimmt die maximale Größe eines Pakets oder Frames, der über ein Netzwerk gesendet werden kann. TCP verwendet MTU bei der Übertragung von Paketen zwischen Geräten, die mit dem Internet verbunden sind.
Eine zu große MTU kann zu erneuten Übertragungen führen, wenn das Paket auf einen Router trifft, der die Paketgröße nicht verarbeiten kann. Eine zu kleine MTU kann zu mehr Header-Overhead und einer größeren Anzahl von Bestätigungen führen, die gesendet und empfangen werden müssen. Die empfohlene MTU für eine Netzwerkschnittstelle, die mit einem PPPoE-Netzwerk verbunden ist, beträgt im Allgemeinen maximal 1492.
Es kann auch vorkommen, dass Benutzer PPPoE-Verbindungen direkt von ihren Computern aus konfigurieren müssen, zum Beispiel wenn ein Bridging-Modem für eine Passthrough-PPPoE-Verbindung eingerichtet wird. In diesem Fall müssen die Anwender die PPPoE-Verbindungen manuell konfigurieren.
Glücklicherweise bieten die populären Betriebssysteme, zum Beispiel macOS, Linux und Windows, eine native PPPoE-Unterstützung, sodass die Einrichtung der Verbindung relativ unkompliziert ist. Falls überhaupt, benötigen die Anwender die PPPoE-Kontoinformationen (Dienstname, Benutzername und Passwort), die in der Regel vom Internetdienstanbieter bereitgestellt werden. Sobald sie ihre Verbindungen eingerichtet haben, sollten sie sich nicht mehr darum kümmern müssen, es sei denn, sie aktualisieren ihre Systeme oder führen andere Vorgänge aus, die sich auf die Verbindung auswirken.
PPPoE vs. DHCP
Das Dynamic Host Configuration Protocol (DHCP) wird oft mit PPPoE verglichen oder im selben Kontext erwähnt. DHCP ist ein Kommunikationsprotokoll, das auf der TCP/IP-Anwendungsschicht ausgeführt wird. Es ermöglicht Netzwerkadministratoren, die Zuweisung von IP-Adressen in einem Netzwerk zentral zu verwalten und zu automatisieren. Außerdem können sie IP-Adressen von einem zentralen Punkt aus überwachen und verteilen sowie automatisch neue IP-Adressen senden, wenn Computer an andere Netzwerkstandorte angeschlossen werden.
DHCP weist Netzwerkgeräten eindeutige IP-Adressen zu, damit Datenpakete hin- und hergesendet werden können. Die DHCP-Architektur besteht in der Regel aus DHCP-Clients, DHCP-Servern und DHCP-Relay-Agents. Ohne DHCP müssen Netzwerkadministratoren IP-Adressen manuell konfigurieren, wenn Geräte hinzugefügt oder von einem Subnetz in ein anderes verschoben werden – oder eine andere Lösung finden.
Im Gegensatz zu DHCP kapselt PPPoE den Netzwerk-Traffic auf der Grundlage eines Zugangs mit Berechtigungsnachweis. Sobald eine Sitzung eingerichtet ist, können IP-Adressen an Clients zugewiesen werden. PPPoE umfasst auch Authentifizierungsfunktionen, die es Internetdienstanbietern ermöglichen, den Zugang zu kontrollieren und zu überwachen. Allerdings muss PPPoE korrekt konfiguriert werden, bevor Benutzer eine Verbindung zum Internet herstellen können.
Im Allgemeinen dient PPPoE einem ganz anderen Zweck als DHCP. Es erleichtert die authentifizierte PPP-Kommunikation in einem Ethernet-Netzwerk, während DHCP IP-Adressen dynamisch zuweist, ohne dass eine Authentifizierung erforderlich ist.