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 .

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 packet exchange.svg

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ă:

  1. 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.
  2. 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.
  3. 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 PowerShellAdd-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

Referințe

linkuri externe

Implementări

Alte