Protocolul de tunelare pentru stratul 2 - Layer 2 Tunneling Protocol
În rețelele de calculatoare , Layer 2 Tunneling Protocol ( L2TP ) este un protocol de tunelare utilizat pentru a sprijini rețelele private virtuale (VPN) sau ca parte a furnizării de servicii de către ISP. Folosește criptarea („ascunderea”) numai pentru propriile mesaje de control (folosind un secret opțional pre-partajat) și nu furnizează nici o criptare sau confidențialitate a conținutului. Mai degrabă, oferă un tunel pentru Layer 2 (care poate fi criptat), iar tunelul în sine poate fi trecut peste un protocol de criptare Layer 3 , cum ar fi IPsec .
Suită de protocol Internet |
---|
Strat de aplicație |
Stratul de transport |
Stratul Internet |
Strat de legătură |
Istorie
Publicat în 2000 , așa cum a propus RFC standardul 2661, L2TP își are originile în principal în două protocoale de tunelare mai mari pentru comunicarea punct-la-punct: Cisco „s Layer 2 Protocol Forwarding (L2F) și Microsoft “ s punct-la-punct Tunel Protocol (PPTP ). O nouă versiune a acestui protocol, L2TPv3 , a apărut ca standard propus RFC 3931 în 2005. L2TPv3 oferă caracteristici de securitate suplimentare, încapsulare îmbunătățită și capacitatea de a transporta legături de date, altele decât protocolul PPP ( Point-to-Point Protocol ) pe o rețea IP. (de exemplu: Frame Relay , Ethernet , ATM etc.).
Descriere
Întregul pachet L2TP, inclusiv încărcătura utilă și antetul L2TP, este trimis într-o datagramă User Datagram Protocol (UDP). O virtute a transmiterii prin UDP (mai degrabă decât TCP) este că evită „problema de topire TCP”. Este obișnuit să efectuați sesiuni PPP într-un tunel L2TP. L2TP nu oferă confidențialitate sau autentificare puternică de la sine. IPsec este adesea folosit pentru a securiza pachetele L2TP oferind confidențialitate, autentificare și integritate. Combinația acestor două protocoale este cunoscută în general ca L2TP / IPsec (discutată mai jos).
Cele două puncte finale ale unui tunel L2TP se numesc concentratorul de acces L2TP (LAC) și serverul de rețea L2TP (LNS). LNS așteaptă tuneluri noi. Odată stabilit un tunel, traficul de rețea dintre colegi este bidirecțional. Pentru a fi utile pentru rețea, protocoalele de nivel superior sunt apoi rulate prin tunelul L2TP. Pentru a facilita acest lucru, o sesiune L2TP este stabilită în tunel pentru fiecare protocol de nivel superior, cum ar fi PPP. Fie LAC, fie LNS pot iniția sesiuni. Traficul pentru fiecare sesiune este izolat de L2TP, deci este posibil să configurați mai multe rețele virtuale pe un singur tunel.
Pachetele schimbate într - un tunel L2TP sunt clasificate fie ca pachete de control sau de pachete de date . L2TP oferă caracteristici de fiabilitate pentru pachetele de control, dar nu și fiabilitate pentru pachetele de date. Fiabilitatea, dacă se dorește, trebuie asigurată de protocoalele imbricate care rulează în cadrul fiecărei sesiuni a tunelului L2TP.
L2TP permite crearea unei rețele virtuale dial-up (VPDN) pentru a conecta un client la distanță la rețeaua sa corporativă utilizând o infrastructură partajată, care ar putea fi Internetul sau rețeaua furnizorului de servicii.
Modele de tunelare
Un tunel L2TP se poate extinde pe o întreagă sesiune PPP sau doar pe un segment al unei sesiuni cu două segmente. Aceasta poate fi reprezentată de patru modele diferite de tunelare, și anume:
- tunel voluntar
- tunel obligatoriu - apel primit
- tunel obligatoriu - apel la distanță
- Conexiune multihop L2TP
Structura pachetelor L2TP
Un pachet L2TP constă din:
Biți 0-15 | Biți 16–31 |
---|---|
Steaguri și informații despre versiune | Lungime (opt) |
ID tunel | Sesiune ID |
Ns (opt) | Nr (opt) |
Dimensiune offset (opt) | Pad offset (opt) ...... |
Date privind sarcina utilă |
Semnificații de câmp:
- Steaguri și versiune
- semnalizatoare de control care indică pachetul de date / control și prezența câmpurilor de lungime, secvență și offset.
- Lungime (opțional)
- Lungimea totală a mesajului în octeți, prezentă numai atunci când setarea lungimii este setată.
- ID tunel
- Indică identificatorul pentru conexiunea de control.
- Sesiune ID
- Indică identificatorul unei sesiuni într-un tunel.
- Ns (opțional)
- numărul secvenței pentru aceste date sau mesaj de control, începând de la zero și crescând cu unul (modulul 2 16 ) pentru fiecare mesaj trimis. Prezent numai atunci când setarea steagului de secvență.
- Nr (opțional)
- numărul de ordine pentru mesajul așteptat să fie primit. Nr este setat la N-urile ultimului mesaj în ordine primit plus unu (modulul 2 16 ). În mesajele de date, Nr este rezervat și, dacă este prezent (așa cum este indicat de bitul S), TREBUIE să fie ignorat la primire ..
- Dimensiune offset (opțional)
- Specifică unde se află datele privind încărcătura utilă după antetul L2TP. Dacă este prezent câmpul offset, antetul L2TP se termină după ultimul octet al umpluturii offset. Acest câmp există dacă este setat semnalizatorul offset.
- Pad offset (opțional)
- Lungime variabilă, așa cum este specificat de dimensiunea offsetului. Conținutul acestui câmp este nedefinit.
- Date privind sarcina utilă
- Lungime variabilă (dimensiunea maximă a sarcinii utile = dimensiunea maximă a pachetului UDP - dimensiunea antetului L2TP)
Schimb de pachete L2TP
În momentul configurării conexiunii L2TP, multe pachete de control sunt schimbate între server și client pentru a stabili tunelul și sesiunea pentru fiecare direcție. Un peer îl solicită pe celălalt peer să atribuie un tunel specific și o sesiune ID prin intermediul acestor pachete de control. Apoi, folosind acest tunel și sesiunea de identificare, pachetele de date sunt schimbate cu cadrele PPP comprimate ca sarcină utilă.
Lista mesajelor de control L2TP schimbate între LAC și LNS, pentru strângere de mână înainte de stabilirea unui tunel și sesiune în metoda de tunelare voluntară sunt
L2TP / IPsec
Din cauza lipsei confidențialității inerente protocolului L2TP, acesta este adesea implementat împreună cu IPsec . Aceasta este denumită L2TP / IPsec și este standardizată în IETF RFC 3193. Procesul de configurare a unei VPN L2TP / IPsec este după cum urmează:
- Negocierea asociației de securitate IPsec (SA), de obicei prin schimbul de chei Internet (IKE). Aceasta se realizează prin portul UDP 500 și folosește în mod obișnuit fie o parolă partajată (așa-numitele „ chei pre-partajate ”), chei publice, fie certificate X.509 la ambele capete, deși există alte metode de tastare.
- Stabilirea unei comunicări de încapsulare a securității utile (ESP) în modul de transport. Numărul protocolului IP pentru ESP este 50 (comparați TCP 6 și UDP 17). În acest moment, a fost stabilit un canal sigur, dar nu are loc niciun tunel.
- Negocierea și stabilirea tunelului L2TP între punctele finale ale SA. Negocierea efectivă a parametrilor are loc pe canalul securizat al SA, în cadrul criptării IPsec. L2TP folosește portul UDP 1701.
Când procesul este finalizat, pachetele L2TP între punctele finale sunt încapsulate de IPsec. Deoarece pachetul L2TP în sine este înfășurat și ascuns în pachetul IPsec, sursa originală și adresa IP de destinație sunt criptate în pachet. De asemenea, nu este necesar să deschideți portul UDP 1701 pe firewall-uri între punctele finale, deoarece pachetele interioare nu sunt acționate decât după ce datele IPsec au fost decriptate și decupate, care are loc doar la punctele finale.
Un potențial punct de confuzie în L2TP / IPsec este utilizarea termenilor tunel și canal securizat . Termenul tunel-mod se referă la un canal care permite transportarea pachetelor neatinse ale unei rețele pe o altă rețea. În cazul L2TP / PPP, acesta permite transportul pachetelor L2TP / PPP prin IP. Un canal securizat se referă la o conexiune în cadrul căreia este garantată confidențialitatea tuturor datelor. În L2TP / IPsec, mai întâi IPsec oferă un canal sigur, apoi L2TP oferă un tunel. IPsec specifică, de asemenea, un protocol de tunel: acesta nu este utilizat atunci când este utilizat un tunel L2TP.
Implementarea Windows
Windows are suport nativ (configurabil în panoul de control) pentru L2TP de la Windows 2000 . Windows Vista a adăugat 2 instrumente alternative, un snap-in MMC numit „Paravan de protecție Windows cu securitate avansată” (WFwAS) și instrumentul pentru linia de comandă „ netsh advfirewall”. O limitare atât pentru comenzile WFwAS, cât și pentru comanda netsh este că serverele trebuie să fie specificate de adresa IP. Windows 10 a adăugat comenzile PowerShell „ Add-VpnConnection ” și „ Set-VpnConnectionIPsecConfiguration ” . O cheie de registry trebuie creată pe client și server dacă serverul se află în spatele unui dispozitiv NAT-T. [1]
L2TP în rețelele ISP
L2TP este adesea utilizat de către furnizorii de servicii Internet atunci când serviciul de internet prin ADSL sau cablu este revândut . De la utilizatorul final, pachetele călătoresc prin rețeaua furnizorului de servicii de rețea angro către un server numit Broadband Remote Access Server ( BRAS ), un convertor de protocol și un router combinat. În rețelele vechi, calea de la echipamentul local al clientului final la BRAS poate fi pe o rețea ATM . De acolo înainte, printr-o rețea IP, un tunel L2TP rulează de la BRAS (acționând ca LAC) la un LNS care este un router de margine la limita rețelei IP a ISP-ului de destinație finală. Vedeți exemplul furnizorilor de servicii de internet pentru reseller care utilizează L2TP .
Referințe RFC
- RFC 2341 Cisco Layer Two Forwarding (Protocol) "L2F" (un predecesor al L2TP)
- RFC 2637 Protocol de tunelare punct-la-punct (PPTP)
- RFC 2661 Layer Two Tunneling Protocol "L2TP"
- RFC 2809 Implementarea tunelului obligatoriu L2TP prin RADIUS
- RFC 2888 Acces securizat de la distanță cu L2TP
- RFC 3070 Layer Two Tunneling Protocol (L2TP) peste Frame Relay
- RFC 3145 L2TP Deconectați informațiile despre cauză
- RFC 3193 Securizarea L2TP folosind IPsec
- RFC 3301 Layer Two Tunneling Protocol (L2TP): rețea de acces ATM
- Servicii diferențiate RFC 3308 Layer Two Tunneling Protocol (L2TP)
- RFC 3355 Layer Two Tunneling Protocol (L2TP) peste ATM Adaptation Layer 5 (AAL5)
- RFC 3371 Layer Two Tunneling Protocol "L2TP" Baza de informații de gestionare
- RFC 3437 Layer Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation
- RFC 3438 Layer Two Tunneling Protocol (L2TP) Internet Numere atribuite: Internet Assigned Numbers Authority (IANA) Consideratii Actualizare
- RFC 3573 Semnalizarea stării Modem-On-Hold în Protocolul de tunelare Layer 2 (L2TP)
- RFC 3817 Layer 2 Protocol de tunelare (L2TP) releu de descoperire activ pentru PPP peste Ethernet (PPPoE)
- RFC 3931 Layer Two Tunneling Protocol - Versiunea 3 (L2TPv3)
- Extensii RFC 4045 pentru a sprijini transportul eficient al traficului multicast în protocolul de tunelare Layer-2 (L2TP)
- RFC 4951 Fail Over Extensions for Layer 2 Tunneling Protocol (L2TP) "failover"
Vezi si
- IPsec
- Layer 2 Protocol de redirecționare
- Protocol de tunelare punct la punct
- Protocolul punct-la-punct
- LAN extensibil virtual
Referințe
linkuri externe
Implementări
- Cisco: documentația Cisco L2TP , citiți și scurtarea tehnologiei de la Cisco
- Open source și Linux: xl2tpd , Linux RP-L2TP , OpenL2TP , l2tpns , l2tpd (inactiv), server Linux L2TP / IPsec , daemon PPP multi-link FreeBSD , OpenBSD npppd (8) , ACCEL-PPP - server PPTP / L2TP / PPPoE pentru Linux
- Microsoft: client încorporat inclus cu Windows 2000 și versiuni ulterioare; Microsoft L2TP / IPsec VPN Client pentru Windows 98 / Windows Me / Windows NT 4.0
- Apple: client încorporat inclus cu Mac OS X 10.3 și versiuni ulterioare.
- VPDN pe Cisco.com
Alte
- IANA a atribuit numere pentru L2TP
- Grupul de lucru pentru extensiile L2TP (l2tpext) - (unde viitoarele lucrări de standardizare sunt coordonate)
- Utilizarea Linux ca client VPN L2TP / IPsec
- L2TP / IPSec cu OpenBSD și npppd
- Comparație între L2TP, PPTP și OpenVPN