MPLS in UDP: Entropie für das Underlay, Regeln für die Domäne
Eine UDP-Hülle gibt einem IP-Unterbau etwas zum Hashen, ohne das Dienst-Label zu verlieren. RFC 7510 beschränkt sie zudem auf zusammenarbeitende, verwaltete Domänen.
Zwei Anbieter beschreiben dasselbe Dienst-Label, und nur einer von ihnen erwähnt einen UDP-Header. Der Unterschied ist nicht kosmetisch: MPLS in UDP zu packen ändert, was das äußere IP-Netz sehen kann, und damit, was es über parallele Links hinweg hashen kann. Es ändert auch, wer es einsetzen darf.
Die Schichtung ist kurz genug zum Merken: äußeres IP, dann UDP, dann der MPLS-Label-Stack, dann die Dienst-Nutzlast. Der Label-Stack verschwindet nicht; er entscheidet weiterhin über die Weiterleitung an dem Endpunkt, der das Label-Switching wieder aufnimmt.
Was die UDP-Hülle hinzufügt
RFC 7510 definiert diese Kapselung mit UDP-Zielport 6635 und nutzt das Quellport-Feld, um Fluss-Entropie zu transportieren. Das kapselnde Gerät entscheidet, was als Fluss gilt und wie der Wert abgeleitet wird; der Standard schreibt bewusst keinen bestimmten Hash vor. Das lässt Raum für Anbieterverhalten und bedeutet, dass zwei Implementierungen für dieselbe Verkehrsmischung unterschiedliche Verteilungen erzeugen können. Lesen Sie den Wert als einen Hinweis an das Underlay, nicht als eine vom Standard getroffene Routing-Entscheidung.
Der Nutzen ist indirekt. Ein Transitnetz, das über ein äußeres Fünftupel lastverteilt, hat nun etwas zu hashen, wo ein nacktes MPLS-Paket möglicherweise nur das oberste Label bot. Ob das hilft, hängt von der Plattform ab, die die Lastverteilung durchführt, und davon, welche Felder sie tatsächlich berücksichtigt.
Entropie ist keine Bandbreite
Flüsse gleichmäßiger über verfügbare Links zu verteilen ist nicht dasselbe wie sie zu einem einzigen schnelleren Pfad zu bündeln. Ein einzelner Anwendungsfluss reist weiterhin über einen Pfad, und die Lastverteilung pro Fluss kann die Kapazität des Links, auf dem er landet, nicht überschreiten. Der Mechanismus garantiert auch keine gleichmäßige Verteilung; er gibt einer Hash-Funktion nur bessere Eingaben.
Halten Sie die Hülle für einen gegebenen Fluss stabil, es sei denn, Umordnung ist akzeptabel. Wenn sich der Quellport pro Paket ändert, verteilt das Underlay eine Konversation bereitwillig über mehrere Pfade, und die Neuzusammensetzung wird zum Problem der Anwendung. Konsistente Entropie pro Fluss ist das Ziel, nicht ständige Neuheit.
Die Einsatzgrenze gehört zur Spezifikation
RFC 7510 beschränkt den Einsatz auf das Netz eines einzelnen Betreibers oder auf eine angrenzende Gruppe zusammenarbeitender Betreiber, wobei der Verkehr so verwaltet wird, dass Überlastung vermieden wird. Er verlangt außerdem eine Filterung, die verhindert, dass gekapselter Verkehr diese Domäne verlässt. Das sind keine dekorativen Bedingungen; sie folgen daraus, dass die Kapselung keine eigene Sicherheit hinzufügt. Behandeln Sie sie als Voraussetzungen für einen legitimen Einsatz, nicht als Anregungen in einer Designnotiz.
Nichts im UDP-Header authentifiziert den Absender, und nichts darin bietet Vertraulichkeit oder Integrität für die Nutzlast. Wenn der Verkehr Schutz braucht, kommt er von einem separaten Mechanismus mit eigener Schlüsselverwaltung. Die Wahl von MPLS-in-UDP verbessert das Vertrauensmodell nicht.
Achten Sie darauf, was Schutz mit dem gewünschten Hashing macht
Fügen Sie IPsec oder eine andere Sicherheitskapselung hinzu, und der äußere Header, den Transitgeräte hashen, kann seine Form völlig ändern. Der Tunnelmodus kann den inneren UDP-Quellport hinter einem neuen äußeren Header verbergen, was bedeutet, dass die sorgfältig bereitgestellte Entropie dort, wo die Lastverteilung stattfindet, möglicherweise nicht sichtbar ist. Erst verschlüsseln und dann kapseln ist ein anderes Design als die umgekehrte Reihenfolge, und der Unterschied zeigt sich als ein Link, der viel mehr Verkehr trägt als seine Nachbarn.
Bewerten Sie das vollständige Paket so, wie es auf der Leitung erscheint, nicht nur die Schicht, die der Standard beschreibt. Das ist auch der Punkt, an dem MTU und Endpunktkapazität zu überdenken sind, denn ein UDP-Header plus jeglicher Sicherheits-Overhead verringert die Nutzlast, die hineinpasst.
Entscheiden Sie mit dem ganzen Pfad im Blick
Vergleichen Sie MPLS-in-UDP mit Alternativen wie GRE anhand der Kriterien, die für Ihr Netz wichtig sind: auf welchen Feldern das Underlay lastverteilt, wie viel Overhead Sie sich leisten können, welcher Sicherheitsmantel erforderlich ist und ob die Domänengrenze durchgesetzt werden kann. Ihm einen bedingungslosen Leistungsvorteil gegenüber GRE zuzuschreiben, ist eine Schlussfolgerung, die die Standards nicht stützen.
Testen Sie dann mit echten Verkehrsmischungen und prüfen Sie die Link-Auslastung pro Mitglied, denn ein Hash, der im Labor gut aussieht, kann auf einem Link zusammenbrechen, wenn alle Flüsse dasselbe Tupel teilen. Die ehrliche Zusammenfassung ist, dass die Kapselung Informationen offenlegt, die das Underlay nutzen kann, innerhalb einer Domäne, die zugestimmt hat, sie zu verwalten.