Einführung in MPLS, eine Präsentation von Uwe Seiler

Werbung
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
2
MPLS - Einführung
Was ist MPLS überhaupt?
Packet Forwarding
Cell/Ciruit Switching
ATM
IP
Frame Relay
Flexibility of Hopby-Hop Routing
MPLS
„Best of both worlds“
Quality of Service +
Traffic Engineering
Bei MPLS handelt es sich um ein verbindungsorientiertes
Switching auf der Basis von IP-Routing und zusätzlichen
Kontrollprotokollen.
3
MPLS - Unterstützte Protokolle und Technologien

Welche Protokolle und Technologien werden unterstützt?
IPv6
IPv4
IPX
Apple
Talk
MPLS
Layer 3: Network Layer Protocols
Layer 2,5: MPLS
Point-topoint
Frame
Relay
ATM
FDDI
Ethernet
Layer 2: Link Layer Protocols
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
4
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
5
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.
Ingress Router
Datenfluss
MPLS Core Network
Label Switch Router (LSR)
Tauscht Labels mit den
benachbarten LSR aus
Führt Forwarding im Kern
des MPLS-Netzwerkes
aus.
Routing
Switching
Egress Router
6
MPLS vs. Routing
Ist Hop-by-Hop Routing etwa veraltet?
Traditionelle IP Router haben zeitintensive Aufgaben:
Alle Informationen stecken im Paket:
IP-Paket
Header
Router
Daten
Routing Table
Auslesen der Zieladresse
Durchführung eines Longest Prefix Matchings
zur Bestimmung des Next Hops
Umgang mit Headern variabler Länge
000111… Port 1, gw 10.2.3.1
001010… Port 4, gw 62.1.7.5
011101… Port 7, gw 10.1.1.1
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)
MPLS soll Layer3-Routing nicht
ersetzen!
7
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.
8
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 1
Label 2
Label n
Label Bits
(20 Bits)
Label Bits
(20 Bits)
Experimental
(3Bits)
Experimental
(3Bits)
Stack
(1 Bit)
Stack
(1 Bit)
TTL
(8 Bit)
TTL
(8 Bit)
Label Bits
(20 Bits)
Experimental Stack
(3Bits)
(1 Bit)
TTL
(8 Bit)
9
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.
Destination = 10.x.x.x Lokale Information
Bandwidth = 1000 KBit/s des LERs
Priorisation = High
FEC 1
IP
Packet
IP
Packet
FEC 2
IP
Packet
IP
Packet
IP
Packet
IP
Packet
Signalling
Label Edge Router (LER)
Lokale Speicherung
und Verknüpfung mit
dem Wert des Labels
Label Switch Router (LSR)
Classify traffic at the edge
Assign packets to a given FEC
10
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
11
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)
MPLS Router
NHLFE
Next Hop
100
234
300
LSR B
LSR D
LSR C
Label
Outbound Outbound
Operation
Label
Port
Push
23
3
Pop
Replace
50
1
FEC-to-NHLFE Map (FTN)
FEC
NHLFE
A
100
B
234
C
300
Incoming Label Map (ILM)
Label
NHLFE
23
100
44
234
50
300
Verwendung eines
einzigen
Algorithmus!
(Herkömmliches
Routing: 3)
12
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.
13
MPLS – Möglichkeiten der Labelverteilung

Labelverteilung
Downstream Label Allocation (Standard):
Datenfluss
D: 123
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:
Datenfluss
D: 123
Upstream (A)
Datenfluss
D: 123
Downstream (B)
14
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:
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
15
MPLS – Überblick über das Label Distribution Protocol
Label Distribution Protocol (LDP)
Aufbau eines LSP
10.1.x.x
Time

10.2.x.x
1.Discovery
Messages
HELLO
HELLO
TCP Connection
open to 10.2.x.x
2.Session
Messages
TCP connect
Initialization
Initialization
Label Request
3.Advertisement
Messages
Label Mapping
+
4.Notification
Messages
16
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
17
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.
18
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
19
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).
20
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


21
Herunterladen