- Layer Two Tunneling Protocol
-
L2TP im TCP/IP‑Protokollstapel: Anwendung L2TP Transport UDP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token
BusToken
RingFDDI … Layer 2 Tunneling Protocol (L2TP) ist ein Netzwerkprotokoll, das Frames von Protokollen der Sicherungsschicht (Schicht 2) des OSI-Modells zwischen zwei Netzwerken über das Internet tunnelt um ein virtuelles privates Netzwerk (VPN) herzustellen.
Hierzu werden in einem lokalen Netzwerk Frames von einem L2TP Access Concentrator (LAC) in eine L2TP Datennachricht verpackt und über das Internet an einen L2TP Network Server (LNS) des Kooperationsnetzes gesendet. Dieser entpackt die Nachricht und sendet den Inhalt in das dortige Netz.
L2TP ist eine Tunnel-Lösung, die die Vorteile von PPTP (Point-to-Point Tunneling Protocol) und L2F (Layer 2 Forwarding) vereint. Mit Hilfe einer Tunnel-ID im L2TP-Header sind mehrere Tunnel nebeneinander ebenso möglich wie die Nutzung von NAT (Network Address Translation).
Als Authentifizierungsverfahren bietet L2TP die Verfahren CHAP (Challenge Handshake Authentication Protocol) und PAP (Password Authentication Protocol) an. Eine Verschlüsselung ist in L2TP direkt nicht enthalten. Dies muss von Protokollen der unteren Schichten übernommen werden. L2TP wird deshalb oft in Kombination mit IPSec verwendet. (RFC 3193 – "Securing L2TP using IPSec")
Inhaltsverzeichnis
L2TP Version 2
Layer 2 Tunneling Protokoll Version 2 ist für das Tunneln von PPP-Frames entwickelt worden. Frames anderer Protokolle können nicht übertragen werden. Die Tunnelung erfolgt über UDP oder andere paketbasierte Netzwerke (Frame Relay oder ATM).
L2TPv2 ist ein Proposed Standard nach IETF (Internet Engineering Task Force) und ist im RFC als RFC 2661 definiert.
L2TP Version 3
Layer 2 Tunneling Protokoll Version 3 ist eine Weiterentwicklung von L2TP, das eine Alternative zum MPLS Protokoll zur Verkapselung von verschiedenen Protokollen auf der Ebene 2 des OSI-Modells darstellt. Es arbeitet wie L2TPv2 über UDP oder andere PSNs (Packet Switched Networks), aber kann auch direkt IP nutzen. Außerdem können auch andere Protokolle der Sicherungsschicht als PPP getunnelt werden.
Die Spezifikation ist in RFC 3931 definiert.
L2TPv3 kann als eine abgespeckte Version von MPLS angesehen werden. Ein nicht eingebautes Feature stellt z.B. das Traffic Engineering dar. Diese Features könnten jedoch in künftigen Produkten problemlos hinzugefügt werden.
Header-Formate
L2TP Struktur Tunneled Frame L2TP Control Message L2TP Data Header L2TP Control Header L2TP Data Channel
(unreliable)L2TP Control Channel
(reliable)Packet-Switched Netz (UDP, Frame Relay, ATM, MPLS, IP (bei v3) etc.) Felder im L2TP Header:
- T = Message Type. Dieses Feld definiert ob es sich um eine Kontrollmitteilung (Wert 1) oder um Daten (Wert 0) handelt.
- L = Length. Kontrollmitteilungen müssen dieses Bit gesetzt haben.
- S = Sequence. Wenn dieses Bit gesetzt ist, sind die Felder Ns und Nr sichtbar. Kontrollmitteilungen müssen dieses Bit gesetzt haben.
- O = Offset. Wenn dieses Bit gesetzt ist, ist das Feld Offset Size sichtbar. Kontrollmitteilungen müssen dieses Bit gesetzt haben.
- P = Priority. Kontrollmitteilungen müssen dieses Bit auf Null gesetzt haben.
- Version. Beschreibt, welches L2TP Protokoll verwendet wird (Version 2 = 2). Pakete mit einem unbekannten Wert müssen verworfen werden.
- Length (Länge) ist optional (existiert, wenn L gesetzt). Die Gesamtlänge der Nachricht in Bytes.
- Tunnel ID.
- Session ID.
- Ns = sequence number (existiert, wenn S gesetzt).
- Nr = sequence number expected (existiert, wenn S gesetzt).
- Offset Size (Offset Größe) existiert, wenn O gesetzt).
- Offset Pads (Offset Auflage) haben optional eine variable Länge.
- Daten (variable Länge).
Felder im AVP (Attribute Value Pair):
- M = Mandatory
- H = Hidden
- AVP Length (Werte 6 bis 1023). Spezifiziert, wieviel Byte das AVP beinhaltet.
- AVP Vendor ID. Das IANA teilt den "SMI Network Management Private Enterprise Codes" Werte zu (RFC 1700).
- AVP Type beträgt 16 Bit.
L2TPv2 Header
L2TPv2 Header 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 T L 0 S 0 O P 0 Version Length (Länge) Tunnel ID
(Tunnel Bezeichner)Session ID
(Session Bezeichner)Ns
(sequence number)Nr
(sequence number expected)Offset Size
(Offset Größe)Offset Pad
(Offset Auflage)Data
(Daten)Attribute Value Pair bei Version 2
AVP bei Version 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 M H 0 AVP Length AVP Vendor ID AVP Attribute Type AVP Attribute Value ... L2TPv3 Header
L2TPv3 Control Message Header 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 T L 0 S 0 O P 0 Version Length (Länge) Control Connection ID
(Steuerverbindung-Bezeichner)Ns
(sequence number)Nr
(sequence number expected)L2TPv3 Session Header 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 T L 0 S 0 O P 0 Version Length (Länge) Session ID
(Sitzungsbezeichner)Tunnel ID und Session ID aus Version 2 (jeweils 16 Bit) werden durch eine jeweils 32 Bit lange Session ID und Control Connection ID ersetzt.
Attribute Value Pair bei Version 3
AVP bei Version 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 M H 0 AVP Length AVP Vendor ID AVP Attribute Type AVP Attribute Value ... bis Length erreicht wurde ... AVP Version 3
mit erweitertem Vendor ID0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 M H 0 AVP Length 0 58 32-bit AVP Vendor ID AVP Attribute Type AVP Attribute Value bis Length erreicht wurde ... Hierbei wird über den gesetzten Wert 58 festgelegt, dass der erweiterte AVP Vendor ID verwendet wird.
Attribute Value Pair Typ
Typ Beschreibung Referenz 0 Message Type RFC 2661 1 Result Code RFC 2661 2 Protocol Version RFC 2661 3 Framing Capabilities RFC 2661 4 Bearer Capabilities RFC 2661 5 Tie Breaker RFC 2661 6 Firmward Revision RFC 2661 7 Host Name RFC 2661 8 Vendor Name RFC 2661 9 Assigned Tunnel ID RFC 2661 10 Receive Window Size RFC 2661 11 Challenge RFC 2661 12 Q.931 Cause Code RFC 2661 13 Response RFC 2661 14 Assigned Session ID RFC 2661 15 Call Serial Number RFC 2661 16 Minimum BPS RFC 2661 17 Maximum BPS RFC 2661 18 Bearer Type RFC 2661 19 Framing Type RFC 2661 20 21 Called Number RFC 2661 22 Calling Number RFC 2661 23 Sub-Address RFC 2661 24 Tx Connect Speed BPS RFC 2661 25 Physical Channel ID RFC 2661 26 Initial Received LCP CONFREQ RFC 2661 27 Last Sent LCP CONFREQ RFC 2661 28 Last Received LCP CONFREQ RFC 2661 29 Proxy Authen Type RFC 2661 30 Proxy Authen Name RFC 2661 31 Proxy Authen Challenge RFC 2661 32 Proxy Authen ID RFC 2661 33 Proxy Authen Response RFC 2661 34 Call Errors RFC 2661 35 ACCM RFC 2661 36 Random Vector RFC 2661 37 Private Group ID RFC 2661 38 Rx Connect Speed RFC 2661 39 Sequencing Required RFC 2661 40 Rx Minimum RFC 3301 41 Rx Maximum RFC 3301 42 Service Category RFC 3301 43 Service Name RFC 3301 44 Calling Sub-Address RFC 3301 45 VPI/VCI Identifier RFC 3301 46 PPP Disconnect Cause Code RFC 3145 47 CCDS RFC 3308 48 SDS RFC 3308 49 LCP Want Options RFC 3437 50 LCP Allow Options RFC 3437 51 LNS Last Sent LCP Confreq RFC 3437 52 LNS Last Received LCP Confreq RFC 3437 53 Modem On-Hold Capable RFC 3573 54 Modem On-Hold Status RFC 3573 55 PPPoE Relay RFC 3817 56 PPPoE Relay Response Capability RFC 3817 57 PPPoE Relay Forward Capability RFC 3817 58 Extended Vendor ID 59 Message Digest 60 Router ID 61 Assigned Control Connection ID 62 Pseudowire Capabilities List 63 Local Session ID 64 Remote Session ID 65 Assigned Cookie 66 Remote End ID 67 Application Code 68 Pseudowire Type 69 L2-Specific Sublayer 70 Data Sequencing 71 Circuit Status 72 Preferred Language 73 Control Message Authentication Nonce 74 Tx Connect Speed 75 Rx Connect Speed 76 Failover Capability 77 Tunnel Recovery 78 Suggested Control Sequence 79 Failover Session State 80 Multicast Capability RFC 4045 81 New Outgoing Sessions RFC 4045 82 New Outgoing Sessions Acknowledgement RFC 4045 83 Withdraw Outgoing Sessions RFC 4045 84 Multicast Packets Priority RFC 4045 RFCs für L2TP
- RFC 2661 Layer Two Tunneling Protocol "L2TP". Defines L2TP version 2.
- RFC 2809 Implementation of L2TP Compulsory Tunneling via RADIUS.
- RFC 2888 Secure Remote Access with L2TP.
- RFC 3070 Layer Two Tunneling Protocol (L2TP) over Frame Relay.
- RFC 3145 L2TP Disconnect Cause Information.
- RFC 3193 Securing L2TP using IPsec.
- RFC 3301 Layer Two Tunnelling Protocol (L2TP): ATM access network extensions.
- RFC 3308 Layer Two Tunneling Protocol (L2TP) Differentiated Services Extension.
- RFC 3355 Layer Two Tunnelling Protocol (L2TP) Over ATM Adaptation Layer 5 (AAL5).
- RFC 3371 Layer Two Tunneling Protocol "L2TP" Management Information Base.
- RFC 3437 Layer-Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation.
- RFC 3438 Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers Authority (IANA) Considerations Update.
- RFC 3573 Signaling of Modem-On-Hold status in Layer 2 Tunneling Protocol (L2TP).
- RFC 3817 Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE).
- RFC 3931 Layer Two Tunneling Protocol – Version 3 (L2TPv3). Defines L2TP version 3.
- RFC 4045 Extensions to Support Efficient Carrying of Multicast Traffic in Layer-2 Tunneling Protocol (L2TP).
Weblinks
Wikimedia Foundation.