L2TP (Layer 2 Tunneling Protocol)

ITpedia

Protokół rozszerzający model PPP, umożliwiający przede wszystkim punktom końcowym PPP warstwy drugiej rezydowanie na różnych urządzeniach połączonych ze sobą siecią z przełączaniem pakietów. Wraz z L2TP użytkownik ma połączenie do koncentratora dostępu, którym może być bank modemów albo ADSL DSLAM. Koncentrator tuneluje ramki do NAS (Network Access Server). Umożliwia to oddzielenie przetwarzania pakietów PPP od zakończenia obwodu warstwy drugiej. Korzyść z takiej separacji polega na tym, że połączenie może kończyć się w NAS, ale także w lokalnym koncentratorze obwodów, który rozszerza logiczną sesję PPP na współdzieloną infrastrukturę, taką jak Frame Relay czy Internet. Natomiast protokół PPP definiuje mechanizmy kapsułkowania niezbędne przy transporcie pakietów różnych protokołów przez łącze dwupunktowe ustanowione w drugiej warstwie. Użytkownik zazwyczaj otrzymuje połączenie warstwy drugiej do serwera NAS, używając jednej z wielu technologii – dial-up POTS, ISDN, ADSL, innych – a następnie w tym połączeniu jest uruchamiany PPP. W takiej konfiguracji punkt zakończenia warstwy drugiej i punkt końcowy sesji PPP rezydują na tym samym urządzeniu fizycznym. Może to być np. serwer NAS.

L2TP stosuje dwa typy wiadomości: danych i sterujących. Wiadomości sterujące są używane przy ustalaniu i wspieraniu tuneli i wywołań. Wiadomości danych są używane do kapsułkowania ramek PPP. W L2TP wiadomości sterujące używają kanałów sterujących (Control Channel) dla zagwarantowania dostarczenia danych. Wiadomości danych nie są retransmitowane w razie zagubienia pakietu.

W usługach dial-up użytkownicy typowo stosują PPP dla łączenia się z Internetem. Pakiety TCP/IP użytkownika są umieszczane w ramkach PPP po to, aby je było można przesłać przez łącze dial-up do ISP. ISP usuwa ramki i wysyła pakiety TCP/IP do Internetu. L2TP poprawia PPP przez przyznanie środków zdalnemu użytkownikowi na rozszerzenia internetowego łącza PPP sieci korporacyjnej. Tunel jest ustawiony przez Internet od ISP do sieci firmowej i ramki są nim transmitowane.

W terminologii L2TP serwer NAS, umieszczony w strukturach dostawcy usług internetowych, czyli u ISP, jest klientem L2TP nazywanym LAC (L2TP Access Concentrator). Natomiast w sieci korporacyjnej znajduje się LNS (L2TP Network Server), może nim być na przykład ruter. Tunel jest tworzony między LAC i LNS. LAC wysyła pakiety i musi mieć ustalone połączenie PSTN, LNS negocjuje połączenie PPP, ale nie musi mieć połączenia PSTN. Obydwa muszą mieć połączenie z Internetem. Zarówno LNS, jak i LAC są nazwane punktami końcowymi L2TP. Po wywołaniu połączenia użytkownik i LNS negocjują PPP w dokładnie taki sam sposób jak bezpośrednie połączenie.

LNS kończy połączenie PPP. Funkcjonuje od strony serwera protokołu L2TP. Ponieważ L2TP działa na szczycie IP, LNS może mieć tylko jeden interfejs LAN i WAN, mimo to jest w stanie zakończyć wywołania dochodzące do różnych interfejsów PPP LAC, jak chociażby ISDN czy V.120.

LAC przełącza ruch między LNS a użytkownikiem. Może tunelować dowolny protokół przenoszony w ramkach PPP. Dla nadchodzących wywołań LAC może negocjować LCP i uwierzytelnienie. W przypadku uwierzytelnienia PPP LAC przeprowadza tylko częściowe negocjowanie, odbierając żądanie PAP lub wysyłając CHAP i odbierając odpowiedź. Kiedy tylko znana jest nazwa użytkownika, LAC wysyła wszystkie dane do LNS.

Do zalet L2TP należą:

  • Protokół dostarcza wirtualnego połączenia dial-up, gdyż użytkownik w rzeczywistości nie łączy się z siecią przedsiębiorstwa. Połączenie rzeczywiste „udaje” połączenie z tą siecią. Umożliwia to obciążenie ISP usługami dial-up;
  • Dzięki stosowaniu ramkowania PPP zdalny użytkownik może uzyskać dostęp do punktów korporacji, używając różnych protokołów – IP, IPX, SNA oraz innych;
  • Punkt korporacyjny przypisuje adres IP do klienta. ¸agodzi to problem niedoboru adresów u ISP i w Internecie;
  • L2TP jest systemem przezroczystym – zdalny użytkownik nie potrzebuje specjalnego oprogramowania, aby używać bezpiecznej usługi;
  • Firma dokonuje uwierzytelnienia użytkownika, a nie ISP.
    Pakiety L2TP dla kanałów sterujących i kanałów danych mają ten sam format nagłówka (widoczny na rysunku). Pola opcjonalne są usuwane z wiadomości. Nie dotyczy to pól zastrzeżonych – Length, Ns czy Nr, co wyniknie z analizy pól.
  • Bit Type (T) – typ wiadomości. T=1 oznacza wiadomość sterującą, T=0 wiadomość danych;
  • Bit Length (L) – bit ustawiony na 1, kiedy to pole ma istnieć. W wiadomościach sterujących obowiązkowo L=1;
  • Bity x – zarezerwowane. Wszystkie bity zarezerwowane w wychodzącej wiadomości muszą być ustawione na 0, w odbieranej wiadomości są ignorowane;
  • Bit Sequence (S) – bit ustawiany na 1, kiedy pola Ns i Nr mają istnieć. W wiadomości sterującej obowiązkowo S=1;
  • Bit Offset (O) – bit ustawiony na 1, wtedy pole Offset Size ma istnieć. W wiadomości sterującej obowiązkowo O=0;
  • Bit Priority (P) – bit priorytetu ustawiany na 1, kiedy ta wiadomość danych powinna być przetwarzana z preferencjami w lokalnej kolejce i w transmisji. We wszystkich wiadomościach sterujących obowiązkowo P=0;
  • Ver – wersja. Ver=2 określa nagłówek wiadomości danych L2TP. Jedynka została zarezerwowana dla rozpoznawania pakietów L2F, które mogłyby przybywać na przemian z pakietami L2TP. Pakiety z nieznanym Ver są kasowane;
  • Pole Length – całkowita długość wiadomości wyrażona w bitach;
  • Tunnel ID – identyfikator tunelu dla sterowania połączeniem. Tunele L2TP są określane przez identyfikatory, które mają jedynie lokalne znaczenie. Ten sam tunel będzie miał przypisany inny identyfikator ID na każdy z końców;
  • Session ID – identyfikator sesji wewnątrz tunelu. Sesje L2TP są określane przez identyfikatory, które mają tylko lokalne znaczenie. Ta sama sesja będzie miała przypisane różne identyfikatory;
  • Ns – numer sekwencyjny bieżącej wiadomości danych i wiadomości sterującej. Rozpoczyna się zerem i jest zwiększany o jeden (modulo 216) dla każdej wysłanej ramki;
  • Nr – numer sekwencyjny oczekiwany w następnej wiadomości sterującej. W ten sposób Nr jest ustawiany na wartość Ns ostatniej odebranej wiadomości plus jeden (modulo 216). W wiadomości danych Nr jest zarezerwowany i musi być ignorowany;
  • Pole Offset Size – liczbę bajtów transportowanego ładunku bez nagłówka L2TP; pole opcjonalne.

Protokół L2TP został opisany w wielu RFC, w tym: RFC 2661 (podstawowy), 2889 (obowiązkowe tunelowanie via RADIUS), 2889 (bezpieczeństwo zdalnego dostępu), 3070 (L2TP przez Frame Relay), 3193 (bezpieczeństwo L2TP z IPSec).

-
-