L2TPv2, L2TPv3, GRE och VPWS: välj efter nyttolasten
Jämför L2TPv2, L2TPv3, GRE och MPLS VPWS utifrån nyttolasten de bär, överheaden de lägger till och vem som faktiskt driftar transporten.
De flesta L2TP mot GRE-diskussioner faller samman av samma skäl: namnen ligger på olika lager av problemet. Två av dem beskriver inkapsling som du konfigurerar på dina egna routrar. En beskriver en tjänst som någon annan säljer till dig. Börja med nyttolasten som ändpunkterna måste bära, och jämförelsen blir en kort lista med konsekvenser i stället för en kamp om funktioner.
Nyttolasten först, protokollet sedan
I praktiken är nyttolasten en av fyra saker: en PPP-session, en rå Ethernet-ram, ett IP-paket eller en MPLS-ram som överlämnas till en leverantör. Var och en ställer olika krav på adressering, hantering av broadcast och felupptäckt. Får du den här listan fel räddar ingen justering av inkapslingen designen.
| 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 |
Allt utanför dessa rader läggs till senare, som kryptering, komprimering eller trafikformning. Välj raden först.
L2TPv2 och L2TPv3 delar ett namn och nästan inget annat
L2TPv2 finns för att bära PPP-sessioner över ett IP-nätverk, och därför läses det som ett fjärråtkomstprotokoll snarare än en allmän ramtransport. L2TPv3 generaliserar den idén: en kontrollförbindelse förhandlar om sessioner, och varje session bär en definierad förbindelse på lager 2 mellan två IP-ändpunkter. Samma familjenamn, annan kontrollprotokoll, annan sessionsmodell. Ett krav som bara säger L2TP är ofullständigt, och en mall kopierad från fel version förhandlar inte ens.
Behöver du PPP är L2TPv2 den enda realistiska medlemmen i familjen; behöver du Ethernet-ramar över en routad kärna är du på L2TPv3-territorium.
Transportdetaljerna skiljer sig på sätt som kommer fram vid en brandväggsgenomgång. L2TPv3 kan färdas direkt över IP-protokoll 115 eller inuti UDP, vanligtvis på port 1701, medan L2TPv2 stannar på UDP 1701 med PPP inuti. En policy skriven för den ena versionen kan se helt korrekt ut och ändå släppa den andra.
GRE är ett huvud, inte en tjänst
GRE paketerar en nyttolast i ett huvud på fyra byte med ett valfritt nyckel- och sekvensfält och lämnar sedan resultatet till IP för leverans. Det påstår ingenting om vad nyttolasten betyder, så implementationer kan tunnla IPv4, IPv6 eller Ethernet om dessa protokolltyper stöds. Allmänt är inte samma sak som universellt: verifiera protokolltypen och fragmenteringsbeteendet på den faktiska enheten.
Nyckelfältet är det som gör GRE användbart när flera tunnlar delar ett par ändpunktsadresser, eftersom mottagaren demultiplexerar på det värdet. GRE över IPv4 kostar ungefär 24 byte före eventuella extra alternativ, och det börjar spela roll på länkar som redan är dimensionerade för 1500-byte-ramar. Ensamt erbjuder GRE ingen konfidentialitet, så det vanliga mönstret parar det med IPsec och låter IPsec äga kryptogränsen. Den parningen fungerar, men MTU-budgeten måste då täcka båda huvudena.
GRE bär också multicast och broadcast genom tunneln när nyttolasten är Ethernet, vilket en vanlig unicast-IP-tunnel inte kan. Det är den egenskapen, snarare än förkortningen, som vanligtvis får en design att välja det.
VPWS köps, det konfigureras inte
En virtuell privat linjetjänst levererar en punkt-till-punkt-förbindelse på lager 2 genom en leverantörs nätverk. Din anslutningskrets terminerar på en randutrustning hos leverantören, och pseudowiren genom kärnan tillhör leverantören. Frågorna som spelar roll är operativa: var demarkationen sitter, vem som äger första och sista milen, och vad leverantören gör med överstora ramar.
Det är här jämförelsen vänder. L2TPv3 och GRE är saker du driftar från ände till ände, så du felsöker dem med dina egna inloggningsuppgifter och dina egna inspelningar. VPWS är ett avtal med en överlämning, så ett avbrott börjar med en biljett i stället för en paketinsamling. Ingen av modellerna vinner utan vidare; de fallerar på olika ställen, och valet beror på om du vill äga den sista milen.
Etikettstacken för pseudowiren stannar inne i leverantörens nätverk, så den ändrar inte din MTU-aritmetik som ett synligt tunnelhuvud gör.
Välj en rad och skriv ner den
Anteckna beslutet som en enda mening med tre delar: nyttolast, inkapsling och transportägare. Fäst sedan siffrorna som gör den kontrollerbar.
För varje kandidat skriver du ner overheaden på länken, den största ram som vägen accepterar och det första hopp som skulle rapportera ett MTU-problem. Bekräfta att båda ändpunkterna stöder den protokoll- eller sessionstyp du valde, inte bara marknadsföringstermen i databladet. Bestäm hur multiplexing skulle se ut om en andra krets dyker upp nästa år, eftersom GRE-nycklar och L2TPv3-sessions-ID:n inte är utbytbara lösningar på det problemet. Skicka sedan en överstor och en normal ram; det paret fångar de flesta designer som såg bra ut på papper.
Att jämföra tunnlar efter namn fortsätter att skapa diskussioner som ingen kan avgöra. Att jämföra dem efter nyttolast, overhead och ägande ger ett beslut på en eftermiddag, plus bevisen som behövs för att försvara det senare.