Layer-2-Tunneling-Protokoll - Layer 2 Tunneling Protocol

In Computernetzwerken ist Layer 2 Tunneling Protocol ( L2TP ) ein Tunneling-Protokoll, das zur Unterstützung virtueller privater Netzwerke (VPNs) oder als Teil der Bereitstellung von Diensten durch ISPs verwendet wird. Es verwendet Verschlüsselung ('Verstecken') nur für seine eigenen Kontrollnachrichten (unter Verwendung eines optionalen Pre-Shared-Secrets) und bietet selbst keine Verschlüsselung oder Vertraulichkeit des Inhalts. Stattdessen stellt es einen Tunnel für Schicht 2 bereit (der verschlüsselt sein kann), und der Tunnel selbst kann über ein Schicht-3- Verschlüsselungsprotokoll wie IPsec geleitet werden .

Geschichte

Veröffentlicht im Jahr 2000 als Standard RFC vorgeschlagen 2661, hat L2TP ihren Ursprung hauptsächlich in zwei älteren Tunneling - Protokollen für Punkt-zu-Punkt - Kommunikation: Cisco 's Layer 2 Forwarding (L2F) und Microsoft ' s Point-to-Point Tunneling Protocol (PPTP ). Eine neue Version dieses Protokolls, L2TPv3 , erschien 2005 als vorgeschlagener Standard RFC 3931. L2TPv3 bietet zusätzliche Sicherheitsfunktionen, verbesserte Kapselung und die Möglichkeit, andere Datenverbindungen als das einfache Point-to-Point-Protokoll (PPP) über ein IP-Netzwerk zu übertragen (zum Beispiel: Frame Relay , Ethernet , ATM usw.).

Beschreibung

Das gesamte L2TP-Paket, einschließlich Nutzdaten und L2TP-Header, wird in einem User Datagram Protocol (UDP)-Datagramm gesendet . Ein Vorteil der Übertragung über UDP (anstatt über TCP) besteht darin, dass das "TCP-Meltdown-Problem" vermieden wird. Es ist üblich, PPP-Sitzungen innerhalb eines L2TP-Tunnels zu übertragen. L2TP bietet selbst keine Vertraulichkeit oder starke Authentifizierung. IPsec wird häufig verwendet, um L2TP-Pakete durch Vertraulichkeit, Authentifizierung und Integrität zu sichern. Die Kombination dieser beiden Protokolle ist allgemein als L2TP/IPsec bekannt (siehe unten).

Die beiden Endpunkte eines L2TP-Tunnels werden als L2TP Access Concentrator (LAC) und L2TP Network Server (LNS) bezeichnet. Das LNS wartet auf neue Tunnel. Sobald ein Tunnel aufgebaut ist, ist der Netzwerkverkehr zwischen den Peers bidirektional. Um für die Vernetzung nützlich zu sein, werden dann übergeordnete Protokolle durch den L2TP-Tunnel geleitet. Um dies zu erleichtern, wird für jedes übergeordnete Protokoll wie PPP eine L2TP- Sitzung innerhalb des Tunnels aufgebaut. Entweder das LAC oder das LNS können Sitzungen einleiten. Der Datenverkehr für jede Sitzung wird durch L2TP isoliert, sodass es möglich ist, mehrere virtuelle Netzwerke über einen einzigen Tunnel einzurichten.

Die Pakete innerhalb eines L2TP - Tunnel ausgetauscht werden entweder als kategorisiert Steuerpakete oder Datenpakete . L2TP bietet Zuverlässigkeitsfunktionen für die Steuerpakete, jedoch keine Zuverlässigkeit für Datenpakete. Falls gewünscht, muss die Zuverlässigkeit durch die verschachtelten Protokolle gewährleistet werden, die in jeder Sitzung des L2TP-Tunnels ausgeführt werden.

L2TP ermöglicht die Einrichtung eines virtuellen privaten DFÜ-Netzwerks (VPDN), um einen Remote-Client über eine gemeinsam genutzte Infrastruktur, die das Internet oder das Netzwerk eines Dienstanbieters sein kann, mit seinem Unternehmensnetzwerk zu verbinden.

Tunnelbaumodelle

Ein L2TP-Tunnel kann sich über eine gesamte PPP-Sitzung oder nur über ein Segment einer Zwei-Segment-Sitzung erstrecken. Dies kann durch vier verschiedene Tunnelbaumodelle dargestellt werden, nämlich:

  • freiwilliger Tunnel
  • obligatorischer Tunnel – eingehender Anruf
  • Pflichttunnel — Fernwahl
  • L2TP- Multihop- Verbindung

L2TP-Paketstruktur

Ein L2TP-Paket besteht aus:

Bits 0–15 Bits 16–31
Flags und Versionsinformationen Länge (optional)
Tunnel-ID Session-ID
Ns (wahlweise) Nr (wahlweise)
Offset-Größe (optional) Offset-Pad (optional)......
Nutzlastdaten

Feldbedeutungen:

Flaggen und Version
Steuerflags, die Daten-/Steuerpakete und das Vorhandensein von Längen-, Sequenz- und Offset-Feldern anzeigen.
Länge (optional)
Gesamtlänge der Nachricht in Byte, nur vorhanden, wenn Längenflag gesetzt ist.
Tunnel-ID
Gibt die Kennung für die Steuerverbindung an.
Session-ID
Gibt den Bezeichner für eine Sitzung innerhalb eines Tunnels an.
Ns (optional)
Sequenznummer für diese Daten- oder Steuernachricht, beginnend bei Null und inkrementieren um eins (Modulo 2 16 ) für jede gesendete Nachricht. Nur vorhanden, wenn Sequenz-Flag gesetzt ist.
Nr (optional)
Sequenznummer für die erwartete zu empfangende Nachricht. Nr wird auf die Ns der letzten empfangenen Nachricht in der Reihenfolge plus eins gesetzt (Modulo 2 16 ). In Datentelegrammen ist Nr reserviert und MUSS, falls vorhanden (wie durch das S-Bit angezeigt), beim Empfang ignoriert werden.
Offset-Größe (optional)
Gibt an, wo sich Nutzlastdaten hinter dem L2TP-Header befinden. Wenn das Offset-Feld vorhanden ist, endet der L2TP-Header nach dem letzten Byte des Offset-Paddings. Dieses Feld existiert, wenn das Offset-Flag gesetzt ist.
Offset-Pad (optional)
Variable Länge, wie durch die Versatzgröße angegeben. Der Inhalt dieses Feldes ist undefiniert.
Nutzlastdaten
Variable Länge (Max. Nutzlastgröße = Max. Größe des UDP-Pakets − Größe des L2TP-Headers)

L2TP-Paketaustausch

Beim Aufbau der L2TP-Verbindung werden viele Steuerpakete zwischen Server und Client ausgetauscht, um Tunnel und Sitzung für jede Richtung aufzubauen. Ein Peer fordert den anderen Peer auf, über diese Steuerpakete einen bestimmten Tunnel und eine Sitzungs-ID zuzuweisen. Unter Verwendung dieser Tunnel- und Sitzungs-ID werden dann Datenpakete mit den komprimierten PPP-Rahmen als Nutzdaten ausgetauscht.

Die Liste der L2TP-Kontrollnachrichten, die zwischen LAC und LNS ausgetauscht werden, für das Handshaking vor dem Aufbau eines Tunnels und einer Sitzung im freiwilligen Tunneling-Verfahren sind

L2TP-Paketaustausch.svg

L2TP/IPsec

Aufgrund der fehlenden Vertraulichkeit des L2TP-Protokolls wird es oft zusammen mit IPsec implementiert . Dies wird als L2TP/IPsec bezeichnet und ist in IETF RFC 3193 standardisiert. Der Prozess zum Einrichten eines L2TP/IPsec-VPN ist wie folgt:

  1. Aushandlung der IPsec- Sicherheitszuordnung (SA), typischerweise über Internet Key Exchange (IKE). Dies erfolgt über den UDP-Port 500 und verwendet üblicherweise entweder ein gemeinsames Passwort (sogenannte „ Pre-Shared Keys “), öffentliche Schlüssel oder X.509- Zertifikate an beiden Enden, obwohl andere Schlüsselverfahren existieren.
  2. Etablierung der Encapsulating Security Payload (ESP)-Kommunikation im Transportmodus. Die IP-Protokollnummer für ESP ist 50 (vergleiche TCPs 6 und UDPs 17). Zu diesem Zeitpunkt wurde ein sicherer Kanal eingerichtet, aber es findet kein Tunneln statt.
  3. Verhandlung und Einrichtung eines L2TP-Tunnels zwischen den SA-Endpunkten. Die eigentliche Aushandlung der Parameter erfolgt über den sicheren Kanal der SA innerhalb der IPsec-Verschlüsselung. L2TP verwendet den UDP-Port 1701.

Wenn der Vorgang abgeschlossen ist, werden L2TP-Pakete zwischen den Endpunkten von IPsec gekapselt. Da das L2TP-Paket selbst im IPsec-Paket verpackt und versteckt ist, werden die ursprüngliche Quell- und Ziel-IP-Adresse innerhalb des Pakets verschlüsselt. Außerdem ist es nicht erforderlich, den UDP-Port 1701 auf Firewalls zwischen den Endpunkten zu öffnen, da auf die inneren Pakete erst reagiert wird, nachdem die IPsec-Daten entschlüsselt und gestrippt wurden, was nur an den Endpunkten erfolgt.

Ein potenzieller Verwirrungspunkt bei L2TP/IPsec ist die Verwendung der Begriffe Tunnel und sicherer Kanal . Der Begriff Tunnelmodus bezeichnet einen Kanal, der es ermöglicht, unberührte Pakete eines Netzwerks über ein anderes Netzwerk zu transportieren. Im Fall von L2TP/PPP ermöglicht es den Transport von L2TP/PPP-Paketen über IP. Ein sicherer Kanal bezeichnet eine Verbindung, bei der die Vertraulichkeit aller Daten gewährleistet ist. Bei L2TP/IPsec stellt IPsec zuerst einen sicheren Kanal bereit, dann stellt L2TP einen Tunnel bereit. IPsec spezifiziert auch ein Tunnelprotokoll: Dieses wird nicht verwendet, wenn ein L2TP-Tunnel verwendet wird.

Windows-Implementierung

Windows bietet seit Windows 2000 native Unterstützung (in der Systemsteuerung konfigurierbar) für L2TP . Windows Vista hat zwei alternative Tools hinzugefügt, ein MMC-Snap-In namens "Windows Firewall with Advanced Security" (WFwAS) und das Befehlszeilentool " netsh advfirewall". Eine Einschränkung bei den Befehlen WFwAS und netsh besteht darin, dass Server durch die IP-Adresse angegeben werden müssen. Windows 10 hat die PowerShell- Befehle " Add-VpnConnection " und " Set-VpnConnectionIPsecConfiguration " hinzugefügt . Auf Client und Server muss ein Registrierungsschlüssel erstellt werden, wenn sich der Server hinter einem NAT-T-Gerät befindet. [1]

L2TP in ISP-Netzwerken

L2TP wird häufig von ISPs verwendet, wenn Internetdienste über beispielsweise ADSL oder Kabel weiterverkauft werden . Vom Endbenutzer wandern Pakete über das Netzwerk eines Großhandels-Netzwerkdienstanbieters zu einem Server, der als Broadband Remote Access Server ( BRAS ) bezeichnet wird, einem Protokollkonverter und Router kombiniert. In Legacy-Netzwerken kann der Weg von der Ausrüstung des Endbenutzer-Kunden zum BRAS über ein ATM- Netzwerk sein. Von da an läuft über ein IP-Netzwerk ein L2TP-Tunnel vom BRAS (der als LAC fungiert) zu einem LNS, einem Edge-Router an der Grenze des IP-Netzwerks des ultimativen Ziel-ISPs. Siehe Beispiel für Reseller-ISPs, die L2TP verwenden .

RFC-Referenzen

  • RFC  2341 Cisco Layer Two Forwarding (Protokoll) "L2F" (ein Vorgänger von L2TP)
  • RFC  2637 Point-to-Point-Tunneling-Protokoll (PPTP)
  • RFC  2661 Layer-Two-Tunneling-Protokoll "L2TP"
  • RFC  2809 Implementierung von L2TP Compulsory Tunneling über RADIUS
  • RFC  2888 Sicherer Fernzugriff mit L2TP
  • RFC  3070 Layer Two Tunneling Protocol (L2TP) über Frame Relay
  • RFC  3145 L2TP Trennen Ursache Informationen
  • RFC  3193 Sicherung von L2TP mit IPsec
  • RFC  3301 Layer Two Tunneling Protocol (L2TP): ATM-Zugangsnetz
  • RFC  3308 Layer Two Tunneling Protocol (L2TP) Differenzierte Dienste
  • RFC  3355 Layer Two Tunneling Protocol (L2TP) über ATM Adaptation Layer 5 (AAL5)
  • RFC  3371 Layer Two Tunneling Protocol "L2TP" Management Information Base
  • RFC  3437 Layer Two Tunneling Protocol Extensions für PPP Link Control Protocol Negotiation
  • RFC  3438 Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers: Überlegungen zur Internet Assigned Numbers Authority (IANA) Update
  • RFC  3573 Signalisierung des Modem-On-Hold-Status im Layer 2 Tunneling Protocol (L2TP)
  • RFC  3817 Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay für PPP über Ethernet (PPPoE)
  • RFC  3931 Layer-Two-Tunneling-Protokoll - Version 3 (L2TPv3)
  • RFC  4045- Erweiterungen zur Unterstützung der effizienten Übertragung von Multicast-Datenverkehr im Layer-2-Tunneling-Protokoll (L2TP)
  • RFC  4951 Failover-Erweiterungen für Layer 2 Tunneling Protocol (L2TP) "Failover"

Siehe auch

Verweise

Externe Links

Implementierungen

Sonstiges