MPLS (Multiprotocol Label Switching) ist ein Verfahren der Netzwerkprotokoll-Technik, mit dem sich Datenpakete nicht anhand der IP-Zieladresse, sondern anhand kurzer, fester Labels durch ein Netz vermitteln lassen. Standardisiert in RFC 3031 (2001), ist MPLS die technische Basis vieler Carrier-Netze und Dienste wie VPN und Traffic Engineering.

Wie MPLS arbeitet

Am Netzeingang (Ingress) ordnet ein Label-Switch-Router (LSR) jedes Paket einer Forwarding Equivalence Class (FEC) zu — also einer Gruppe von Paketen, die gleich behandelt werden — und legt ihr ein Label bei (Push). Die folgenden Router (Transit) betrachten nur noch das oberste Label, tauschen es gegen das nächste aus (Swap) und reichen das Paket weiter. Am Netzausgang (Egress) wird das Label entfernt (Pop). Der so entstandene Pfad heißt Label Switched Path (LSP).

Ein Label ist 20 Bit lang und steckt in einem 32-Bit-Header, der zusammen mit weiteren Labels einen Label-Stack bildet. Weil die Entscheidung nur auf dem Label beruht, ist die Weiterleitung schnell und unabhängig vom IP-Routing auf jedem Hop — daher der Name Multiprotocol: MPLS kann IPv4, IPv6 und auch Ethernet-Frames transportieren.

Wozu MPLS dient

MPLS ist die Grundlage für VXLAN-artige Overlay-Dienste, L3-VPNs und L2-VPNs (VPLS) sowie für Traffic Engineering (gezielte Steuerung von Datenströmen). Einzelne Standort-Leitungen laufen dabei als Pseudowire; die moderne Steuerung dieser Dienste übernimmt EVPN. Damit ein LSR weiß, welches Label zu welchem Ziel gehört, müssen die Label-Zuordnungen verteilt werden — klassisch über das Label Distribution Protocol (LDP), heute zunehmend über Segment Routing, das die Label-Verteilung ins Routing-Protokoll selbst verlagert. Konkrete Kommandos zeigt die Referenz MPLS-Befehle.

Verwandte Grundlagen: BGP, OSPF, SDN, Router.