L2TPv2, L2TPv3, GRE i VPWS: wybór według ładunku
Porównaj L2TPv2, L2TPv3, GRE i MPLS VPWS pod względem przenoszonego ładunku, dodawanego narzutu i tego, kto faktycznie obsługuje transport.
Większość L2TP kontra GRE upada z tego samego powodu: nazwy leżą na różnych warstwach problemu. Dwie z nich opisują enkapsulację, którą konfigurujesz na własnych routerach. Jedna opisuje usługę, którą sprzedaje ci ktoś inny. Zacznij od ładunku, który muszą przenosić punkty końcowe, a porównanie staje się krótką listą konsekwencji zamiast walki o funkcje.
Najpierw ładunek, potem protokół
W praktyce ładunek to jedna z czterech rzeczy: sesja PPP, surowa ramka Ethernet, pakiet IP lub ramka MPLS przekazana dostawcy. Każda stawia inne wymagania adresowaniu, obsłudze rozgłaszania i wykrywaniu awarii. Jeśli ta lista jest błędna, żadne strojenie enkapsulacji nie uratuje projektu.
| Payload | Natural fit | What it needs |
|---|---|---|
| PPP session | L2TPv2 | UDP reachability, PPP negotiation on both ends |
| Ethernet frame | L2TPv3 or VPWS | Pseudowire signalling, matched MTU on both sides |
| IP packet | GRE, with IPsec alongside | Routed underlay, protocol type supported by both devices |
| MPLS frame | VPWS | Provider attachment circuits and demarcation points |
Wszystko poza tymi wierszami dodaje się później, na przykład szyfrowanie, kompresję lub kształtowanie ruchu. Najpierw wybierz wiersz.
L2TPv2 i L2TPv3 dzielą nazwę i prawie nic więcej
L2TPv2 istnieje po to, by przenosić sesje PPP przez sieć IP, dlatego czyta się go jak protokół dostępu zdalnego, a nie ogólny transport ramek. L2TPv3 uogólnia ten pomysł: połączenie sterujące negocjuje sesje, a każda sesja przenosi zdefiniowane połączenie warstwy 2 między dwoma punktami końcowymi IP. Ta sama nazwa rodziny, inny protokół sterujący, inny model sesji. Wymaganie, które mówi tylko L2TP, jest niepełne, a szablon skopiowany z niewłaściwej wersji nawet nie wynegocjuje połączenia.
Jeśli potrzebujesz PPP, L2TPv2 jest jedynym realistycznym członkiem rodziny; jeśli potrzebujesz ramek Ethernet przez trasowany rdzeń, jesteś na terytorium L2TPv3.
Szczegóły transportu różnią się w sposób, który wychodzi na jaw podczas przeglądu zapory. L2TPv3 może podróżować bezpośrednio przez protokół IP 115 lub wewnątrz UDP, zwykle na porcie 1701, podczas gdy L2TPv2 pozostaje na UDP 1701 z PPP w środku. Zasada napisana dla jednej wersji może wyglądać całkowicie poprawnie i mimo to odrzucić drugą.
GRE to nagłówek, nie usługa
GRE owija ładunek w czterobajtowy nagłówek z opcjonalnym polem klucza i sekwencji, a następnie przekazuje wynik do IP w celu dostarczenia. Nie twierdzi nic o znaczeniu ładunku, więc implementacje mogą tunelować IPv4, IPv6 lub Ethernet, jeśli te typy protokołów są obsługiwane. Ogólny nie znaczy uniwersalny: sprawdź typ protokołu i zachowanie fragmentacji na rzeczywistym urządzeniu.
Pole klucza jest tym, co czyni GRE użytecznym, gdy kilka tuneli dzieli jedną parę adresów punktów końcowych, ponieważ odbiorca demultipleksuje według tej wartości. GRE przez IPv4 kosztuje około 24 bajtów przed jakimikolwiek dodatkowymi opcjami, i zaczyna to mieć znaczenie na łączach już przygotowanych na ramki 1500 bajtów. Sam GRE nie oferuje poufności, więc typowy wzorzec łączy go z IPsec i pozostawia IPsec granicę kryptograficzną. To połączenie działa, ale budżet MTU musi wtedy pokryć oba nagłówki.
GRE przenosi też multicast i rozgłaszanie przez tunel, gdy ładunkiem jest Ethernet, czego zwykły tunel IP unicast nie potrafi. To ta właściwość, a nie skrót, jest zwykle powodem, dla którego projekt go wybiera.
VPWS się kupuje, nie konfiguruje
Usługa wirtualnej linii prywatnej dostarcza łącze punkt-punkt warstwy 2 przez sieć dostawcy. Twoje łącze przyłączeniowe kończy się na urządzeniu brzegowym dostawcy, a pseudoprzewód przez rdzeń należy do dostawcy. Pytania, które się liczą, są operacyjne: gdzie przebiega demarkacja, kto posiada pierwszą i ostatnią milę i co dostawca robi ze zbyt dużymi ramkami.
Tu porównanie się odwraca. L2TPv3 i GRE to rzeczy, które prowadzisz od końca do końca, więc debugujesz je własnymi poświadczeniami i własnymi przechwyceniami. VPWS to umowa z przekazaniem, więc awaria zaczyna się od zgłoszenia, a nie od przechwycenia pakietów. Żaden model nie wygrywa bezwarunkowo; zawodzą one w różnych miejscach, a wybór zależy od tego, czy chcesz posiadać ostatnią milę.
Stos etykiet pseudoprzewodu pozostaje wewnątrz sieci dostawcy, więc nie zmienia arytmetyki MTU tak jak widoczny nagłówek tunelu.
Wybierz jeden wiersz i zapisz go
Zapisz decyzję jako jedno zdanie z trzema częściami: ładunek, enkapsulacja i właściciel transportu. Następnie dołącz liczby, które czynią ją weryfikowalną.
Dla każdego kandydata zapisz narzut na łączu, największą ramkę akceptowaną przez ścieżkę i pierwszy skok, który zgłosiłby problem z MTU. Potwierdź, że oba punkty końcowe obsługują wybrany typ protokołu lub sesji, a nie tylko termin marketingowy z karty danych. Zdecyduj, jak wyglądałoby multipleksowanie, gdyby w przyszłym roku pojawiło się drugie łącze, ponieważ klucze GRE i identyfikatory sesji L2TPv3 nie są wymiennymi rozwiązaniami tego problemu. Następnie wyślij jedną zbyt dużą i jedną normalną ramkę; ta para wyłapuje większość projektów, które dobrze wyglądały na papierze.
Porównywanie tuneli po nazwie wciąż rodzi spory, których nikt nie potrafi rozstrzygnąć. Porównywanie ich według ładunku, narzutu i własności daje decyzję w jedno popołudnie, plus dowody potrzebne do jej obrony później.