L2TP | |
---|---|
Nume | Protocolul de tunel de strat 2 |
Nivel (conform modelului OSI ) | sesiune |
Familie | TCP/IP |
Creat în | 1999 |
Port/ID | 1701/ UDP ,500/ UDP (pentru IKE, pentru a gestiona cheile de criptare), 4500/ UDP (pentru modul IPSEC NAT-Traversal), 50/ ESP (pentru IPSEC), 51/ AH (pentru IPSEC) |
Scopul protocolului | construirea unui VPN |
Specificație | RFC 2661 |
L2TP ( Protocol de tunel de nivel 2 în engleză - protocol de tunel de nivel 2 ) - în rețelele de computere , un protocol de tunelare utilizat pentru a susține rețele private virtuale . Principalul avantaj al L2TP este că acest protocol vă permite să creați un tunel nu numai în rețelele IP, ci și în rețele precum ATM , X.25 și Frame Relay [1] .
Deși L2TP acționează ca un protocol de nivel de legătură al modelului OSI , este de fapt un protocol de nivel de sesiune și folosește portul UDP înregistrat 1701 [2] .
Contează[ de cine? ] că protocolul L2TP a încorporat cele mai bune caracteristici ale L2F și PPTP [1] .
Diagrama arată cum funcționează protocolul L2TP.
Scopul aici este de a tunel cadre PPP între un sistem la distanță sau un client LAC și un LNS găzduit pe LAN [3] .
Sistemul de la distanță inițiază o conexiune PPP la LAC prin rețeaua telefonică publică comutată (PSTN). Apoi LAC tunelizează conexiunea PPP prin Internet, Frame Relay sau ATM către LNS, accesând astfel LAN-ul sursă. Adresele către sistemul de la distanță sunt furnizate rețelei LAN sursă prin negociere cu PPP NCP . Autentificarea, autorizarea și contabilizarea pot fi furnizate de domeniul de administrare LAN ca și cum utilizatorul ar fi conectat direct la serverul de acces la rețea NAS .
Clientul LAC (gazdă care rulează programul L2TP) poate participa, de asemenea, la tunelul către LAN sursă fără a utiliza un LAC separat dacă gazda care conține programul client LAC are deja o conexiune la Internet. Este creată o conexiune PPP „virtuală”, iar programul local L2TP LAC formează un tunel către LNS. Ca și în cazul de mai sus, adresarea, autentificarea, autorizarea și contabilitatea vor fi asigurate de zona de control a rețelei LAN sursă.
L2TP utilizează două tipuri de pachete: mesaje de control și de date. Mesajele de control sunt utilizate la stabilirea, întreținerea și terminarea tunelurilor și a apelurilor. Mesajele informaționale sunt folosite pentru a încapsula cadrele PPP trimise prin tunel. Mesajele de control folosesc un canal de control fiabil în L2TP pentru a asigura livrarea. Mesajele informative nu sunt retrimise atunci când sunt pierdute.
Structura protocolului:
cadre PPP | |
Mesaje informaționale L2TP | Mesaje de control L2TP |
Purtător L2TP (nefiabil) | Canal de control L2TP (fiabil) |
Transport de pachete (UDP, FR, ATM etc.) |
Mesajul de control are un număr de secvență utilizat pe canalul de control pentru a asigura o livrare fiabilă. Mesajele informaționale pot folosi numere de secvență pentru a reordona pachetele și pentru a detecta pierderea cadrelor. Toate codurile sunt trimise în ordinea acceptată pentru rețele.
Pachetele L2TP pentru canalele de control și purtător folosesc același format de antet:
0 | unu | 2 | 3 | patru | 5 | 6 | 7 | opt | 9 | zece | unsprezece | 12 | 13 | paisprezece | cincisprezece | 16 | 31 | |||||
T | L | X | X | S | X | O | P | X | X | X | X | Versiune | Lungime (opt.) | |||||||||
ID-ul tunelului | Sesiune ID | |||||||||||||||||||||
Ns (opt.) | Nr (opt) | |||||||||||||||||||||
Dimensiune offset (opt.) | Pad offset (opt)...... | |||||||||||||||||||||
date de încărcare utilă |
Este setat la 0 pentru mesajele de informare și la 1 pentru mesajele de control.
Pentru mesajele de control, acest bit trebuie setat la 1.
Toți biții rezervați trebuie să fie setați la 0 pentru mesajele trimise și ignorați pentru mesajele primite.
Bitul S pentru mesajele de control trebuie setat la 1.
Bitul O pentru mesajele de control trebuie setat la 0.
Valoarea 1 este rezervată pentru detectarea pachetelor L2F atunci când acestea sunt amestecate cu pachete L2TP. Pachetele primite cu un câmp Ver necunoscut sunt abandonate.
Tipul de mesaj AVP determină tipul specific de mesaj de control care trebuie trimis.
Controlați gestionarea conexiunii
Managementul apelurilor
Mesaje de eroare
Managementul sesiunilor PPP
Procedura necesară pentru stabilirea unei sesiuni PPP de tunel L2TP include doi pași:
Tunelul și canalul de control corespunzător trebuie să fie formate înainte ca apelurile de intrare sau de ieșire să fie inițiate. O sesiune L2TP trebuie stabilită înainte ca L2TP să poată trimite cadre PPP prin tunel. Pot exista mai multe sesiuni în același tunel între același LAC și LNS.
Tunnel PPP:
Conexiune de control
Este cel principal care trebuie implementat între LAC și LNS înainte de a începe o sesiune. Stabilirea unei conexiuni de control include identificarea în siguranță a peer-ului, precum și determinarea versiunii L2TP, capabilităților de legătură, încadrare etc.
L2TP include un sistem de autentificare a tunelului simplu, opțional, asemănător CHAP în timpul stabilirii conexiunii de control.
Stabilirea sesiuniiDupă stabilirea cu succes a unei conexiuni de control, se pot forma sesiuni individuale. Fiecare sesiune corespunde unui trafic PPP între LAC și LNS. Spre deosebire de stabilirea conexiunii de control, stabilirea sesiunii este asimetrică în raport cu LAC și LNS. LAC solicită LNS să acceseze sesiunea pentru cererile primite, iar LNS solicită LAC să înceapă o sesiune pentru cererile de ieșire.
Când se formează tunelul, cadrele PPP de la sistemul de la distanță primite de LAC sunt îndepărtate de CRC-uri, antete de legătură etc. încapsulate în L2TP și transmise prin tunelul corespunzător. LNS primește pachetul L2TP și procesează cadrul PPP încapsulat ca și cum ar fi fost primit prin interfața locală PPP.
Expeditorul unui mesaj asociat cu o anumită sesiune și tunel plasează ID-urile de sesiune și tunel (specificate de peer) în câmpurile de antet corespunzătoare ale tuturor mesajelor trimise.
Utilizarea numerelor de secvență într-un canal de dateNumerele de secvență definite în antetul L2TP sunt utilizate pentru a organiza transportul fiabil al mesajelor de control. Fiecare peer menține o numerotare separată pentru conexiunea de control și pentru fiecare sesiune de informații din tunel.
Spre deosebire de canalul de control L2TP, canalul de trafic L2TP folosește numerotarea mesajelor nu pentru retransmitere, ci pentru a detecta pierderea pachetelor și/sau a restabili secvența originală a pachetelor amestecate în timpul transportului.
LNS poate iniția suprimarea numerotării mesajelor în orice moment în timpul sesiunii (inclusiv primul mesaj informațional).
Mecanismul keepalive (Bună ziua)Mecanismul keepalive este folosit de L2TP pentru a distinge între timpul de nefuncționare a tunelului și perioadele lungi de lipsă de control sau activitate de informare pe tunel. Acest lucru se face cu mesajele de control Hello după ce a trecut o anumită perioadă de timp de la ultima primire a unui mesaj de control prin tunel. Dacă mesajul Hello nu este livrat, tunelul este declarat dezactivat și sistemul revine la starea inițială. Mecanismul de resetare a suportului de transport prin introducerea mesajelor Hello asigură că o întrerupere a legăturii dintre LNS și LAC este detectată la ambele capete ale tunelului.
Întreruperea sesiuniiTerminarea sesiunii poate fi inițiată de LAC sau LNS și se realizează prin trimiterea unui mesaj de control CDN. După terminarea ultimei sesiuni, conexiunea de control poate fi, de asemenea, terminată.
Ruperea conexiunii de controlTerminarea unei conexiuni de control poate fi inițiată de LAC sau LNS și se realizează prin trimiterea unui singur mesaj de control StopCCN.
Protocolul L2TP este auto-documentat, rulând deasupra stratului de transport. Cu toate acestea, sunt necesare câteva detalii[ ce? ] conectarea la mediu, pentru a asigura compatibilitatea diverselor[ ce? ] implementări.
Protocolul L2TP se confruntă cu mai multe probleme de securitate în funcționarea sa. Unele abordări pentru rezolvarea acestor probleme sunt discutate mai jos.
Capetele tunelului se pot autentifica opțional unele pe altele atunci când se stabilește un tunel. Această autentificare are aceleași atribute de securitate ca și CHAP și are protecție rezonabilă împotriva atacurilor de reluare și falsificare în timpul procesului de stabilire a tunelului. Pentru a implementa autentificarea, LAC-urile și LNS-urile trebuie să partajeze un secret partajat.
Asigurarea securității L2TP necesită ca mediul de transport să poată furniza criptarea datelor, integritatea mesajelor și autentificarea serviciului pentru tot traficul L2TP. L2TP însuși este responsabil pentru confidențialitatea, integritatea și autentificarea pachetelor L2TP din interiorul tunelului.
Când rulează pe IP , IPsec (IP securizat) oferă securitate la nivel de pachet. Toate pachetele de informații și control L2TP dintr-un anumit tunel apar pentru sistemul IPsec ca pachete de informații UDP/IP obișnuite. Pe lângă securitatea transportului IP, IPsec definește un mod de operare care permite ca pachetele IP să fie tunelizate, precum și controalele de acces care sunt necesare pentru aplicațiile care acceptă IPsec. Aceste instrumente vă permit să filtrați pachetele în funcție de caracteristicile rețelei și ale straturilor de transport. În modelul de tunel L2TP, filtrarea similară este efectuată la nivelul PPP sau a rețelei peste L2TP.
TCP /IP pe straturi ale modelului OSI | Protocoale de bază|
---|---|
Fizic | |
canalizat | |
reţea | |
Transport | |
sesiune | |
Reprezentare | |
Aplicat | |
Altele aplicate | |
Lista de porturi TCP și UDP |
Rețele private virtuale (VPN) | |
---|---|
Tehnologie | |
Software | |
Servicii VPN |