210 likes | 420 Views
Multi-Protocol Label Switching. Eine Einführung in MPLS. Seminar: Mobile Kommunikationstechnologien Autor: Uwe Seiler Datum: 5.02.2003 Betreuer: Klaus Heck. MPLS - Übersicht. Einführung in MPLS: Begriffserläuterung Einordnung in das OSI-Referenzmodell Entwicklung von MPLS
E N D
Multi-Protocol Label Switching Eine Einführung in MPLS Seminar: Mobile Kommunikationstechnologien Autor: Uwe Seiler Datum: 5.02.2003 Betreuer: Klaus Heck
MPLS - Übersicht • Einführung in MPLS: • Begriffserläuterung • Einordnung in das OSI-Referenzmodell • Entwicklung von MPLS • Allgemeines zu MPLS: • Grundkonzept • Vergleich mit Hop-by-Hop-Routing • MPLS im Detail: • Die Forwardingkomponente: • Label • Forwarding Equivalence Class (FEC) • Label Swapping • Die Kontrollkomponente: • Label Switched Path (LSP) • Labelverteilung • Label Distribution Protocol (LDP) • Traffic Engineering mit MPLS: • Allgemeines zum Traffic Engineering • Constraint-based Routing LDP • Zusammenfassung
MPLS - Einführung Was ist MPLS überhaupt? Packet Forwarding Cell/Ciruit Switching • Bei MPLS handelt es sich um ein verbindungsorientiertes Switching auf der Basis von IP-Routing und zusätzlichen Kontrollprotokollen. MPLS „Best of both worlds“ ATM IP Frame Relay Flexibility of Hop- by-Hop Routing Quality of Service + Traffic Engineering
MPLS - Unterstützte Protokolle und Technologien • Welche Protokolle und Technologien werden unterstützt? • Warum dann schon wieder eine neue Technologie? • IP ist heutzutage das dominante Protokoll im Internet. • Im Internet am weitesten verbreitet: Best Effort Services • IP bietet keine Unterstützung von Quality of Service und Traffic Engineering. • MPLS verspricht dagegen: • Die Unterstützung von Traffic Engineering für die Provider • Die Realisierung von end-to-end Quality of Service • Die Möglichkeit der Skalierung in großen Netzwerken • Die Bereitstellung von höherer Performance bei geringeren Kosten IPv6 IPv4 IPX Apple Talk Layer 3: Network Layer Protocols MPLS Layer 2,5: MPLS Ethernet FDDI ATM Frame Relay Point-to- point Layer 2: Link Layer Protocols
MPLS – Geschichte und Standardisierung • Die Entwicklung von MPLS • Hervorgegangen aus unterschiedlichen proprietären Ansätzen: • Aggregate Route-Based IP Switching • Cell Switch Routing • Tag Switching • IP Navigator • IP Switching (Ipsilon) • Standardisierung durch die Internet Engineering Task Force. • Erstes Framework erschien bereits im März 1997. • Mittlerweile sind 12 RFCs und 25 Drafts zu MLPS erschienen. • Die Hauptarchitektur von MPLS und die Standards des Signalisierungsprotokolls LDP sind verfügbar, aber die Entwicklung geht natürlich weiter… • MPLS ist ein Proposed Standard der IETF
MPLS – Das Konzept „Route at the edge, switch in the core.“ • Versehe Pakete an den Netzwerkgrenzen mit Labels. Routing • Label Edge Router (LER) • Analysiert den ankommenden • IP-Verkehr und teilt ihn in • Klassen (FEC) ein. • Erfragt und verteilt Labels • an den Netzwerkgrenzen. • Führt am Ausgang des Core • Networks Routing durch. • Label Switch Router (LSR) • Tauscht Labels mit den • benachbarten LSR aus • Führt Forwarding im Kern • des MPLS-Netzwerkes • aus. Ingress Router Datenfluss MPLS Core Network Switching Routing Egress Router
MPLS vs. Routing Ist Hop-by-Hop Routing etwa veraltet? • Traditionelle IP Router haben zeitintensive Aufgaben: • Alle Informationen stecken im Paket: • Bei Beginn der Entwicklung von MPLS waren Layer-3-Router noch langsam und teuer. • Mittlerweile ist Layer-3-Switching kostengünstig und schnell in der Hardware verfügbar: • Performance ist nicht mehr das Hauptargument für MPLS • MPLS bietet aber andere Funktionen: • Non destination routing • Explicit (source) routing • Traffic Engineering • Leichte Integration von Virtual Private Networks (VPN) IP-Paket Router Header Daten • Auslesen der Zieladresse • Durchführung eines Longest Prefix Matchings • zur Bestimmung des Next Hops • Umgang mit Headern variabler Länge Routing Table 000111… Port 1, gw 10.2.3.1 001010… Port 4, gw 62.1.7.5 011101… Port 7, gw 10.1.1.1 MPLS soll Layer-3-Routing nicht ersetzen!
Trennung von Kontroll- und Forwardingkomponente bei MPLS • MPLS Switching besteht aus zwei Hauptkomponenten, die bei MPLS vollkommen getrennt voneinander sind: • Control Component: • Dient dem Austausch von Kontrollinformationen mit anderen Routern. • Sammelt Informationen über die Netzwerktopologie. • Aufbau und Aufrechterhaltung von Forwarding Tables. • Notwendigkeit eines Signalisierungsprotokolls • Forwarding Component: • Führt eine Routingentscheidung anhand der Forwarding Table durch. • Leitet die Pakete routerintern vom Input Interface zum Output Interface weiter.
MPLS – Definition und Aufbau eines Labels • Was ist ein Label? • Ein Label ist ein kurzes Feld fester Größe, das keine interne Struktur aufweist. • Ein Label assoziiert immer eine Forwarding Equivalence Class (FEC). • Ein Label ist zwischen zwei Label Switch Routern immer eindeutig. • Aufbau und Integration eines Labels: MPLS Frame Layer-2-Header MPLS Shim Header Layer-3-Header Data Labelstack Label Bits (20 Bits) Experimental (3Bits) Stack (1 Bit) TTL (8 Bit) Label 1 Label Bits (20 Bits) Experimental (3Bits) Stack (1 Bit) TTL (8 Bit) Label 2 Label Bits (20 Bits) Experimental (3Bits) Stack (1 Bit) TTL (8 Bit) Label n
MPLS – Forwarding Equivalence Class 1 • Forwarding Equivalence Class (FEC) • Definition: Eine FEC ist die Menge aller Layer-3 Paketen, die in der gleichen Weise weitergeleitet werden, zum Beispiel über den gleichen Pfad. • Eine FEC ist somit eine Menge von Layer-3 Paketen, die auf das gleiche Label gemappt werden können. Lokale Information des LERs Signalling Label Edge Router (LER)Label Switch Router (LSR) • Classify traffic at the edge • Assign packets to a given FEC FEC 1 Destination = 10.x.x.x Bandwidth = 1000 KBit/s Priorisation = High IP Packet IP Packet FEC 2 IP Packet IP Packet Lokale Speicherung und Verknüpfung mit dem Wert des Labels IP Packet IP Packet
MPLS – Forwarding Equivalence Class 2 • Forwarding Equivalence Class (Fortsetzung) Silver Service 64 Kbps Gold Service 300 Kbps • Normalerweise Bündelung von mehreren Paketen aus verschiedenen Quellen und zu • unterschiedlichen Zielen • Aber auch ein Splitting des Verkehrs von einer Quelle zu einem Ziel ist aus Gründen • des Quality of Service möglich. • Aggregation des Verkehrs und Möglichkeit zur Skalierung • des Verkehrs
MPLS – Forwarding Table und Algorithmus • Forwarding im Detail • Forwarding Algorithm: Label Swapping • Weiterleitung eines Pakets ohne Label: Ermittlung der zugehörigen FEC durch Analyse des Layer-3-Headers, danach Bestimmung des zugehörigen Labels mittels der Tabelle FTN und Weiterleitung gemäß der Tabelle NHLFE. • Weiterleitung eines Pakets mit Label: Ermittlung des NHLFE mittels der Tabelle ILM und anschließend Weiterleitung gemäß den entsprechenden Eintragungen in der Tabelle NHLFE. • Weiterleitung am Empfänger eines Pakets: Der LSR stellt anhand der Tabelle NHLFE fest, dass er Empfänger des Pakets ist, entfernt das Label daraufhin vom Labelstack und reicht das Paket an Schicht 3 zur Weiterverarbeitung Next Hop Label Forwarding Entry (NHLFE) Label Information Database (LIB) NHLFE Next Hop Label Operation Outbound Label Outbound Port Verwendung eines einzigen Algorithmus! (Herkömmliches Routing: 3) 100 LSR B Push 23 3 234 LSR D Pop 300 LSR C Replace 50 1 FEC-to-NHLFE Map (FTN) Incoming Label Map (ILM) FEC NHLFE Label NHLFE MPLS Router A 100 23 100 B 234 44 234 C 300 50 300
MPLS – Label Switched Path • Label Switched Path (LSP) • Definition: Ein Label Switched Path ist ein virtueller Pfad, der mehrere Label Switch Router miteinander verbindet und entlang dem ein Paket weitergeleitet wird. • Dabei hat jeder Label Switch Router folgende Aufgaben: • Verhandlung mit den benachbarten Label Switch Routern über die Label für jede FEC entlang des LSP • Aufbau der Label Information Base (LIB) zum Mapping der Label zu den zugehörigen FECs • Neuverhandlung der Label, falls sich die Topologie ändert oder ein oder mehrere Label verworfen werden • Zur Einrichtung eines LSP müssen die Labelbindings zwischen benachbarten MPLS Routern mit Hilfe eines Signalisierungsprotokolls ausgetauscht werden.
MPLS – Möglichkeiten der Labelverteilung • Labelverteilung • Downstream Label Allocation (Standard): D: 123 Datenfluss Upstream (A) Downstream (B) • Upstream Label Allocation: C: 222 Datenfluss Upstream (A) Downstream (B) • Downstream-on-Demand: Request D: 123 Upstream (A) Downstream (B) • Unsolicited Downstream: D: 123 Datenfluss Upstream (A) D: 123 Datenfluss Downstream (B)
MPLS – Allgemeines zu Signalisierungsprotokollen • Anforderungen an ein Signalisierungsprotokoll: • Robustheit • Skalierbarkeit • Umsetzung von speziellen Anforderungen des Quality of Service • Auf- und Abbau von Label Switched Paths • Setzen von Prioritäten für einzelne Label Switched Paths • Möglichkeiten zum Setzen von alternative Routen sowie zum Rerouting • Signalisierungsprotokolle: • Benutzen herkömmliches IP-Routing zur Kommunikation zwischen LSRs und zum Transport von Label Bindings • Verfügbare Protokolle und deren Eigenschaften:
MPLS – Überblick über das Label Distribution Protocol • Label Distribution Protocol (LDP) • Aufbau eines LSP 10.1.x.x 10.2.x.x HELLO 1.Discovery Messages Time HELLO TCP Connection open to 10.2.x.x TCP connect 2.Session Messages Initialization Initialization Label Request 3.Advertisement Messages Label Mapping + 4.Notification Messages
MPLS – Charakteristiken des Label Distribution Protokolls • Label Distribution Protocol: Hauptmerkmale • LSR Neighbor Discovery • Der Discovery Mechanismus von LDP läuft über UDP. • In periodischen Zeitabständen werden HELLO Messages an alle LSR im gleichen Subnetz geschickt, so dass ein LSR mit der Zeit alle Nachbarn kennt. • Danach kann eine LDP Session aufgebaut werden. • Reliable Transport • Um einen zuverlässigen Transport sicherzustellen, werden LDP Messages über TCP geschickt. • Extensible Messages • Das LDP ist so designt, dass es einfach erweiterbar ist. • Codierung der Messages als eine Sammlung von TLV (type, length, value) Objekten • LDP Messages • Die am meisten benutzten Messages sind: • INITIALIZATION • KEEP ALIVE • LABEL MAPPING, LABEL WITHDRAWAL, LABEL RELEASE, LABEL REQUEST, LABEL REQUEST ABORT
MPLS – Traffic Engineering • Traffic Engineering • Zielbasiertes Routing tendiert zur Konzentration des Verkehrs: • Ziele des Traffic Engineerings: • Reduktion des Verkehrs auf stark benutzten Pfad und Verteilung dieses Verkehrs auf weniger benutzte Pfade • Aufbau eines effizienten und zuverlässigen Netzwerkes • Optimierung der Benutzung von Netzwerkressourcen und der Performance des Verkehrs (z.B. Minimierung der Paketverluste und der Verzögerung) • Traffic Engineering Anforderungen: • Die Netzwerktopologie kann sich ändern. • Ressourcen können unterschiedlich zugeteilt werden. • Komponenten können ausfallen und somit unerreichbar werden. • Diese Fähigkeit wird als Reoptimization bezeichnet. ?
MPLS – CR-LDP • Constraint-based Routing LDP (CR-LDP) • Arbeitet auf der Ebene von Traffic Trunks: Zusammenfassung von unterschiedlichen TCP- bzw. UDP-Strömen, die den gleichen Pfad sowie dieselbe Class of Service benutzen. • Benutzt dasselbe Protokollformat wie LDP Messages mit zusätzlichen (optionalen) TLVs • Teilt sich die TCP-Verbindung mit LDP • Definition 7 verschiedener Traffic Parameter: • Peak Data Rate, Peak Burst Size, Committed Data Rate, Committed Burst Size, Excess Burst Size, Frequency, Weight • Erlaubt Traffic Engineering durch die Reservierung von Netzwerkressourcen • Explicit Route mit CR-LDP: • Berechnung der • expliziten Route an • der Netzwerkgrenze • Jeder LSR muss der Route folgen • Ermöglicht durch die Mitgabe einer Liste von Knoten in einer LABEL REQUEST Message Ermöglicht Routing auf der Basis von Quality of Service
MPLS - Fazit • Zusammenfassung: • MPLS bietet viele Chancen: • MPLS wird momentan stark von der IETF vorangetrieben • MPLS ermöglicht den Providern die Einführung von Quality of Service • Traffic Engineering ermöglicht eine bessere Auslastung der Netze • Einfache Unterstützung von Virtual Private Networks (VPN) • Integration von ATM und IP • Lässt sich relativ einfach in bestehende Netze integrieren • MPLS birgt aber auch Risiken: • MPLS ist im Bereich der Signalisierung noch nicht fertig spezifiziert • Interoperabilität zwischen verschiedenen Herstellern kann momentan nicht garantiert werden • Anhebung der Komplexität von IP-Netzen um ein Vielfaches • MPLS wird vor allem beim Neuaufbau von Netzwerken verwendet (China Telecom), aber auch in bestehende Netze wird MPLS integriert (Arcor).
MPLS – Literaturverzeichnis Literaturverzeichnis • Wichtige Request for Comments (z.B. unter www.rfc-editor.org): • RFC 3031: MPLS Architecture • RFC 3032: MPLS Label Stack Encoding • RFC 3034: Use of Label Switching on Frame Relay Network Specifications • RFC 3035: MPLS using LDP and ATM VC Switching • RFC 3036: LDP Specification • RFC 3037: LDP Applicability • RFC 3038: VCID Notification over ATM Link for LDP • RFC 2547: BGP/MPLS VPNs • RFC 2702: Requirements for Traffic Engineering over MPLS • Bruce Davie, Yakov Rekhter: MPLS – Technology and Applications, Morgan Kaufmann, 2000 • MPLS Resource Center: www.mplsrc.com • MPLS Charter: www.ietf.org/html.charters/mpls-charter.html • Unofficial MPLS List: www.cellstream.com/MPLS_List.htm