Multi-Protocol Label Switching
Eine Einführung in MPLS
Seminar: Mobile KommunikationstechnologienAutor: Uwe SeilerDatum: 5.02.2003Betreuer: Klaus Heck
2
MPLS - Übersicht
Einführung in MPLS: BegriffserläuterungEinordnung in das OSI-ReferenzmodellEntwicklung von MPLS
Allgemeines zu MPLS: GrundkonzeptVergleich mit Hop-by-Hop-Routing
MPLS im Detail:Die Forwardingkomponente:
LabelForwarding Equivalence Class (FEC)Label Swapping
Die Kontrollkomponente: Label Switched Path (LSP)LabelverteilungLabel Distribution Protocol (LDP)
Traffic Engineering mit MPLS:Allgemeines zum Traffic EngineeringConstraint-based Routing LDP
Zusammenfassung
3
MPLS„Best of both worlds“
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.
ATM
Frame RelayIP
Flexibility of Hop-by-Hop Routing
Quality of Service + Traffic Engineering
4
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 ServicesIP bietet keine Unterstützung von Quality of Service und Traffic Engineering.
MPLS verspricht dagegen:Die Unterstützung von Traffic Engineering für die ProviderDie Realisierung von end-to-end Quality of ServiceDie Möglichkeit der Skalierung in großen NetzwerkenDie Bereitstellung von höherer Performance bei geringeren Kosten
MPLS
IPv6 IPv4 IPX AppleTalk
Ethernet
FDD
I
ATM
Frame
Relay
Point-to-point
Layer 3: Network Layer Protocols
Layer 2: Link Layer Protocols
Layer 2,5: MPLS
5
MPLS – Geschichte und Standardisierung
Die Entwicklung von MPLS
Hervorgegangen aus unterschiedlichen proprietären Ansätzen:Aggregate Route-Based IP SwitchingCell Switch RoutingTag SwitchingIP NavigatorIP 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
6
MPLS – Das Konzept
„Route at the edge, switch in the core.“Versehe Pakete an den Netzwerkgrenzen mit Labels.
MPLS Core Network
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.
Datenfluss
Ingress Router
Egress Router
Switching
Routing
Routing
7
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) routingTraffic EngineeringLeichte Integration von Virtual Private Networks (VPN)
DatenHeader
Routing Table
000111… Port 1, gw 10.2.3.1001010… Port 4, gw 62.1.7.5011101… Port 7, gw 10.1.1.1
MPLS soll Layer-3-Routing nicht ersetzen!
RouterIP-Paket
Auslesen der Zieladresse Durchführung eines Longest Prefix Matchings
zur Bestimmung des Next Hops Umgang mit Headern variabler Länge
8
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.
9
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:
Label Bits(20 Bits)
Experimental (3Bits)
Stack (1 Bit)
TTL (8 Bit)
Layer-3-HeaderMPLS Shim HeaderLayer-2-Header Data
Label Bits(20 Bits)
Experimental (3Bits)
Stack (1 Bit)
TTL (8 Bit)
Label Bits(20 Bits)
Experimental (3Bits)
Stack (1 Bit)
TTL (8 Bit)
Label 1
Label 2
Label n
Labelstack
MPLS Frame
10
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 edgeAssign packets to a given FEC
IP Packet
IP Packet
IPPacket
FEC 1
FEC 2
IP Packet
IP Packet
IPPacket
Destination = 10.x.x.xBandwidth = 1000 KBit/s
Priorisation = High
Lokale Speicherung und Verknüpfung mit dem Wert des Labels
11
MPLS – Forwarding Equivalence Class 2
Forwarding Equivalence Class (Fortsetzung)
Gold Service300 Kbps
Silver Service64 Kbps
Aber auch ein Splitting des Verkehrs von einer Quelle zu einem Ziel ist aus Gründen des Quality of Service möglich.
Normalerweise Bündelung von mehreren Paketen aus verschiedenen Quellen und zu unterschiedlichen Zielen
Aggregation des Verkehrs und Möglichkeit zur Skalierung des Verkehrs
12
MPLS – Forwarding Table und Algorithmus
Forwarding im Detail
Forwarding Algorithm: Label SwappingWeiterleitung 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
NHLFE
100234300
Next Hop
LSR BLSR DLSR C
Label Operation
Outbound Label
Outbound Port
PushPop
Replace
23
50
3
1
Next Hop Label Forwarding Entry (NHLFE)
FEC-to-NHLFE Map (FTN)FEC NHLFE
ABC
100234300
Incoming Label Map (ILM)Label NHLFE
234450
100234300
Label Information Database (LIB)
MPLS Router
Verwendung eines einzigen
Algorithmus! (Herkömmliches
Routing: 3)
13
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 LSPAufbau der Label Information Base (LIB) zum Mapping der Label zu den zugehörigen FECsNeuverhandlung 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.
14
MPLS – Möglichkeiten der Labelverteilung
Labelverteilung
Datenfluss D: 123Upstream (A) Downstream (B)
Upstream (A) Downstream (B)
C: 222 Datenfluss
Upstream (A) Downstream (B)
Request D: 123
D: 123
D: 123
Datenfluss
Datenfluss
Upstream (A)
Downstream (B)
Downstream Label Allocation (Standard):
Upstream Label Allocation:
Downstream-on-Demand:
Unsolicited Downstream:
15
MPLS – Allgemeines zu Signalisierungsprotokollen
Anforderungen an ein Signalisierungsprotokoll:RobustheitSkalierbarkeitUmsetzung von speziellen Anforderungen des Quality of ServiceAuf- und Abbau von Label Switched PathsSetzen von Prioritäten für einzelne Label Switched PathsMöglichkeiten zum Setzen von alternative Routen sowie zum Rerouting
Signalisierungsprotokolle:Benutzen herkömmliches IP-Routing zur Kommunikation zwischen LSRs und zum Transport von Label BindingsVerfügbare Protokolle und deren Eigenschaften:
Protocol Name Routing Traffic Engineering
LDP Label Distribution Protocol Implicit NO
BGP Border Gateway Protocol Implicit NO
IS-IS Intermediate System-to-Intermediate System Implicit NO
CR-LDP Constraint-based Routing LDP Explicit YES
RSVP-TE Resource Reservation Protocol – Traffic Engineering Explicit YES
OSPF-TE Open Shortest Path First – Traffic Engineering Explicit YES
16
MPLS – Überblick über das Label Distribution Protocol
Label Distribution Protocol (LDP)
Aufbau eines LSP
Ti me
10.1.x.x 10.2.x.x
HELLO
HELLO
TCP Connectionopen to 10.2.x.x
TCP connect
Initialization
Initialization
Label Request
Label Mapping
1.DiscoveryMessages
2.SessionMessages
3.AdvertisementMessages
+4.Notification
Messages
17
MPLS – Charakteristiken des Label Distribution Protokolls
Label Distribution Protocol: Hauptmerkmale
LSR Neighbor DiscoveryDer 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 TransportUm einen zuverlässigen Transport sicherzustellen, werden LDP Messages über TCP geschickt.
Extensible MessagesDas LDP ist so designt, dass es einfach erweiterbar ist. Codierung der Messages als eine Sammlung von TLV (type, length, value) Objekten
LDP MessagesDie am meisten benutzten Messages sind:
INITIALIZATION KEEP ALIVE LABEL MAPPING, LABEL WITHDRAWAL, LABEL RELEASE, LABEL REQUEST, LABEL REQUEST ABORT
18
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 NetzwerkesOptimierung 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.
?
19
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) TLVsTeilt 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
Berechnung derexpliziten Route ander Netzwerkgrenze
Jeder LSR muss der Route folgen
Ermöglicht durch die Mitgabe einer Liste von Knoten in einer LABEL REQUEST Message
Ermöglicht Routingauf der Basis von Quality of Service
Explicit Route mit CR-LDP:
20
MPLS - Fazit
Zusammenfassung: MPLS bietet viele Chancen:
MPLS wird momentan stark von der IETF vorangetriebenMPLS ermöglicht den Providern die Einführung von Quality of ServiceTraffic Engineering ermöglicht eine bessere Auslastung der NetzeEinfache Unterstützung von Virtual Private Networks (VPN)Integration von ATM und IPLässt sich relativ einfach in bestehende Netze integrieren
MPLS birgt aber auch Risiken:MPLS ist im Bereich der Signalisierung noch nicht fertig spezifiziertInteroperabilität zwischen verschiedenen Herstellern kann momentan nicht garantiert werdenAnhebung 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).
21
MPLS – Literaturverzeichnis
Literaturverzeichnis Wichtige Request for Comments (z.B. unter www.rfc-editor.org):
RFC 3031: MPLS ArchitectureRFC 3032: MPLS Label Stack EncodingRFC 3034: Use of Label Switching on Frame Relay Network SpecificationsRFC 3035: MPLS using LDP and ATM VC Switching RFC 3036: LDP SpecificationRFC 3037: LDP ApplicabilityRFC 3038: VCID Notification over ATM Link for LDPRFC 2547: BGP/MPLS VPNsRFC 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