L2TPv2, L2TPv3, GRE en VPWS: kies op basis van de payload
Vergelijk L2TPv2, L2TPv3, GRE en MPLS VPWS op basis van de payload die ze dragen, de extra overhead en wie het transport werkelijk beheert.
De meeste L2TP tegen GRE-discussies vallen uiteen om dezelfde reden: de namen liggen op verschillende lagen van het probleem. Twee ervan beschrijven inkapseling die u op uw eigen routers configureert. Eén beschrijft een dienst die iemand anders u verkoopt. Begin bij de payload die de eindpunten moeten dragen, en de vergelijking wordt een korte lijst met gevolgen in plaats van een gevecht om functies.
Eerst de payload, dan het protocol
In de praktijk is de payload een van vier dingen: een PPP-sessie, een onbewerkt Ethernet-frame, een IP-pakket of een MPLS-frame dat aan een provider wordt overgedragen. Elk stelt andere eisen aan adressering, omgang met broadcast en foutdetectie. Klopt deze lijst niet, dan redt geen enkele afstelling van de inkapseling het ontwerp.
| 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 |
Alles buiten deze regels wordt later toegevoegd, zoals versleuteling, compressie of traffic shaping. Kies eerst de regel.
L2TPv2 en L2TPv3 delen een naam en bijna niets anders
L2TPv2 bestaat om PPP-sessies over een IP-netwerk te dragen, daarom leest het als een protocol voor toegang op afstand en niet als algemeen frametransport. L2TPv3 generaliseert dat idee: een controleverbinding onderhandelt over sessies, en elke sessie draagt een gedefinieerde verbinding op laag 2 tussen twee IP-eindpunten. Dezelfde familienaam, ander controleprotocol, ander sessiemodel. Een eis die alleen L2TP noemt, is onvolledig, en een sjabloon dat van de verkeerde versie is gekopieerd, onderhandelt niet eens.
Hebt u PPP nodig, dan is L2TPv2 het enige realistische lid van de familie; hebt u Ethernet-frames over een gerouteerde kern nodig, dan zit u op L2TPv3-terrein.
Transportdetails verschillen op manieren die bij een firewallreview aan het licht komen. L2TPv3 kan rechtstreeks over IP-protocol 115 of binnen UDP reizen, meestal op poort 1701, terwijl L2TPv2 op UDP 1701 blijft met PPP erin. Een beleid dat voor de ene versie is geschreven, kan er volkomen correct uitzien en de andere toch laten vallen.
GRE is een header, geen dienst
GRE wikkelt een payload in een header van vier bytes met een optioneel sleutel- en volgordefield en geeft het resultaat vervolgens aan IP voor bezorging. Het beweert niets over de betekenis van de payload, dus implementaties kunnen IPv4, IPv6 of Ethernet tunnelen als die protocoltypen worden ondersteund. Algemeen is niet hetzelfde als universeel: controleer het protocoltype en het fragmentatiegedrag op het werkelijke apparaat.
Het sleutelfield is wat GRE nuttig maakt wanneer meerdere tunnels een paar eindpuntadressen delen, omdat de ontvanger op die waarde demultiplext. GRE over IPv4 kost ongeveer 24 bytes vóór eventuele extra opties, en dat begint te tellen op verbindingen die al op 1500-byte-frames zijn ingericht. Op zichzelf biedt GRE geen vertrouwelijkheid, dus het gebruikelijke patroon koppelt het aan IPsec en laat IPsec de cryptogrens bezitten. Die koppeling werkt, maar het MTU-budget moet dan beide headers dekken.
GRE draagt ook multicast en broadcast door de tunnel wanneer de payload Ethernet is, wat een gewone unicast-IP-tunnel niet kan. Die eigenschap, niet de afkorting, is meestal de reden waarom een ontwerp hiervoor kiest.
VPWS wordt gekocht, niet geconfigureerd
Een virtuele particuliere lijndienst levert een punt-tot-puntverbinding op laag 2 via het netwerk van een provider. Uw aansluitcircuit eindigt op een randapparaat van de provider, en de pseudowire door de kern is eigendom van de provider. De vragen die ertoe doen, zijn operationeel: waar de demarcatie ligt, wie de eerste en laatste mijl bezit, en wat de provider met te grote frames doet.
Hier kantelt de vergelijking. L2TPv3 en GRE zijn zaken die u van begin tot eind draait, dus u debugt ze met uw eigen inloggegevens en uw eigen captures. VPWS is een contract met een overdracht, dus een storing begint met een ticket in plaats van een pakketcapture. Geen van de modellen wint zonder meer; ze falen op verschillende plekken, en de keuze hangt ervan af of u de laatste mijl wilt bezitten.
De labelstack van de pseudowire blijft binnen het netwerk van de provider, dus verandert uw MTU-rekenwerk niet zoals een zichtbare tunnelheader dat doet.
Kies één regel en schrijf die op
Leg de beslissing vast als één zin met drie delen: payload, inkapseling en eigenaar van het transport. Voeg daarna de getallen toe die haar controleerbaar maken.
Noteer voor elke kandidaat de overhead op de lijn, het grootste frame dat het pad accepteert en de eerste hop die een MTU-probleem zou melden. Bevestig dat beide eindpunten het gekozen protocol- of sessietype ondersteunen, niet alleen de marketingterm op het datablad. Bepaal hoe multiplexing eruit zou zien als volgend jaar een tweede circuit opduikt, omdat GRE-sleutels en L2TPv3-sessie-ID's geen onderling verwisselbare oplossingen voor dat probleem zijn. Stuur daarna één te groot frame en één normaal frame; dat paar vangt de meeste ontwerpen die op papier goed leken.
Tunnels op naam vergelijken blijft discussies opleveren die niemand kan beslechten. Ze vergelijken op payload, overhead en eigenaarschap levert een beslissing in één middag op, plus het bewijs dat nodig is om die later te verdedigen.