Layer 2 Tunneling Protocol (L2TP ) ist ein Netzwerkprotokoll , das Frames von Protokollen der Sicherungsschicht (Schicht 2) des OSI-Modells durch Router zwischen zwei Netzwerken über ein IP-Netz tunnelt . L2TP-Router sowie die IP-Verbindungen zwischen diesen erscheinen als L2-Switch .
Hierzu werden in einem lokalen Netzwerk Frames durch einen L2TP Access Concentrator (LAC) – in der Regel ein Router mit entsprechender L2TP-Protokollfunktionalität – in eine L2TP-Datennachricht verpackt und über ein IP-Netz an einen L2TP Network Server (LNS) des Zielnetzes gesendet. Dieser entpackt die Nachricht und sendet den Inhalt als OSI-Layer-2-Rahmen 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 bei Bedarf von anderen Protokollen übernommen werden. L2TP wird deshalb oft in Kombination mit IPsec verwendet (RFC 3193[ 1] ).
L2TP Version 2
Layer 2 Tunneling Protocol 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 als RFC 2661 definiert.[ 2]
L2TP Version 3
Layer 2 Tunneling Protocol 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), kann aber auch direkt IP nutzen. Außerdem können statt PPP auch andere Protokolle der Sicherungsschicht getunnelt werden.
Die Spezifikationen sind in RFC 3931 definiert.[ 3]
L2TPv3 kann als eine abgespeckte Version von MPLS angesehen werden. Ein nicht eingebautes Feature stellt z. B. das Traffic Engineering dar. Features könnten jedoch in künftigen Produkten problemlos hinzugefügt werden.
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 auf Null 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, wie viele Bytes das AVP beinhaltet.
AVP Vendor ID. Das IANA teilt den „SMI Network Management Private Enterprise Codes“ Werte zu (RFC 1700[ 4] ).
AVP Type beträgt 16 Bit.
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 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 ID
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
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[ 2]
1
Result Code
RFC 2661[ 2]
2
Protocol Version
RFC 2661[ 2]
3
Framing Capabilities
RFC 2661[ 2]
4
Bearer Capabilities
RFC 2661[ 2]
5
Tie Breaker
RFC 2661[ 2]
6
Firmware Revision
RFC 2661[ 2]
7
Host Name
RFC 2661[ 2]
8
Vendor Name
RFC 2661[ 2]
9
Assigned Tunnel ID
RFC 2661[ 2]
10
Receive Window Size
RFC 2661[ 2]
11
Challenge
RFC 2661[ 2]
12
Q.931 Cause Code
RFC 2661[ 2]
13
Response
RFC 2661[ 2]
14
Assigned Session ID
RFC 2661[ 2]
15
Call Serial Number
RFC 2661[ 2]
16
Minimum BPS
RFC 2661[ 2]
17
Maximum BPS
RFC 2661[ 2]
18
Bearer Type
RFC 2661[ 2]
19
Framing Type
RFC 2661[ 2]
20
21
Called Number
RFC 2661[ 2]
22
Calling Number
RFC 2661[ 2]
23
Sub-Address
RFC 2661[ 2]
24
Tx Connect Speed BPS
RFC 2661[ 2]
25
Physical Channel ID
RFC 2661[ 2]
26
Initial Received LCP CONFREQ
RFC 2661[ 2]
27
Last Sent LCP CONFREQ
RFC 2661[ 2]
28
Last Received LCP CONFREQ
RFC 2661[ 2]
29
Proxy Authen Type
RFC 2661[ 2]
30
Proxy Authen Name
RFC 2661[ 2]
31
Proxy Authen Challenge
RFC 2661[ 2]
32
Proxy Authen ID
RFC 2661[ 2]
33
Proxy Authen Response
RFC 2661[ 2]
34
Call Errors
RFC 2661[ 2]
35
ACCM
RFC 2661[ 2]
36
Random Vector
RFC 2661[ 2]
37
Private Group ID
RFC 2661[ 2]
38
Rx Connect Speed
RFC 2661[ 2]
39
Sequencing Required
RFC 2661[ 2]
40
Rx Minimum
RFC 3301[ 5]
41
Rx Maximum
RFC 3301[ 5]
42
Service Category
RFC 3301[ 5]
43
Service Name
RFC 3301[ 5]
44
Calling Sub-Address
RFC 3301[ 5]
45
VPI/VCI Identifier
RFC 3301[ 5]
46
PPP Disconnect Cause Code
RFC 3145[ 6]
47
CCDS
RFC 3308[ 7]
48
SDS
RFC 3308[ 7]
49
LCP Want Options
RFC 3437[ 8]
50
LCP Allow Options
RFC 3437[ 8]
51
LNS Last Sent LCP Confreq
RFC 3437[ 8]
52
LNS Last Received LCP Confreq
RFC 3437[ 8]
53
Modem On-Hold Capable
RFC 3573[ 9]
54
Modem On-Hold Status
RFC 3573[ 9]
55
PPPoE Relay
RFC 3817[ 10]
56
PPPoE Relay Response Capability
RFC 3817[ 10]
57
PPPoE Relay Forward Capability
RFC 3817[ 10]
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[ 11]
81
New Outgoing Sessions
RFC 4045[ 11]
82
New Outgoing Sessions Acknowledgement
RFC 4045[ 11]
83
Withdraw Outgoing Sessions
RFC 4045[ 11]
84
Multicast Packets Priority
RFC 4045[ 11]
RFCs für L2TP
RFC : 2661 – Layer Two Tunneling Protocol “L2TP” . (defines L2TP version 2, englisch).
RFC : 2809 – Implementation of L2TP Compulsory Tunneling via RADIUS . (englisch).
RFC : 2888 – Secure Remote Access with L2TP . (englisch).
RFC : 3070 – Layer Two Tunneling Protocol (L2TP) over Frame Relay . (englisch).
RFC : 3145 – L2TP Disconnect Cause Information . (englisch).
RFC : 3193 – Securing L2TP using IPsec . (englisch).
RFC : 3301 – Layer Two Tunnelling Protocol (L2TP): ATM access network extensions . (englisch).
RFC : 3308 – Layer Two Tunneling Protocol (L2TP) Differentiated Services Extension . (englisch).
RFC : 3355 – Layer Two Tunnelling Protocol (L2TP) Over ATM Adaptation Layer 5 (AAL5) . (englisch).
RFC : 3371 – Layer Two Tunneling Protocol “L2TP” Management Information Base . (englisch).
RFC : 3437 – Layer-Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation . (englisch).
RFC : 3438 – Layer Two Tunneling Protocol (L2TP) Internet Assigned Numbers Authority (IANA) Considerations Update . (englisch).
RFC : 3573 – Signaling of Modem-On-Hold status in Layer 2 Tunneling Protocol (L2TP) . (englisch).
RFC : 3817 – Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE) . (englisch).
RFC : 3931 – Layer Two Tunneling Protocol – Version 3 (L2TPv3) . (defines L2TP version 3, englisch).
RFC : 4045 – Extensions to Support Efficient Carrying of Multicast Traffic in Layer-2 Tunneling Protocol (L2TP) . (englisch).
Weblinks
Einzelnachweise
↑ RFC : 3193 – Securing L2TP using IPSec . (englisch).
↑ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an
RFC : 2661 – Layer Two Tunneling Protocol “L2TP” . (defines L2TP version 2, englisch).
↑ RFC : 3931 – Layer Two Tunneling Protocol – Version 3 (L2TPv3) . (defines L2TP version 3, englisch).
↑ RFC : 1700 – Assigned Numbers . Oktober 1994 (englisch).
↑ a b c d e f
RFC : 3301 – Layer Two Tunnelling Protocol (L2TP): ATM access network extensions . (englisch).
↑
RFC : 3145 – L2TP Disconnect Cause Information . (englisch).
↑ a b
RFC : 3308 – Layer Two Tunneling Protocol (L2TP) Differentiated Services Extension . (englisch).
↑ a b c d
RFC : 3437 – Layer-Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation . (englisch).
↑ a b
RFC : 3573 – Signaling of Modem-On-Hold status in Layer 2 Tunneling Protocol (L2TP) . (englisch).
↑ a b c
RFC : 3817 – Layer 2 Tunneling Protocol (L2TP) Active Discovery Relay for PPP over Ethernet (PPPoE) . (englisch).
↑ a b c d e
RFC : 4045 – Extensions to Support Efficient Carrying of Multicast Traffic in Layer-2 Tunneling Protocol (L2TP) . (englisch).