MPLS / VPLS mit RouterOS 3.x



Ähnliche Dokumente
8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Netzwerke 3 Praktikum

Technical Note ewon über DSL & VPN mit einander verbinden

Grundlagen der Rechnernetze. Internetworking

Guide DynDNS und Portforwarding

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

ICMP Internet Control Message Protocol. Michael Ziegler

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Anbindung des eibport an das Internet

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Chapter 9 Troubleshooting. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

Konfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite Copyright Stefan Dahler Oktober 2008 Version 1.

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Urlaubsregel in David

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Einführung in die. Netzwerktecknik

WLAN Konfiguration. Michael Bukreus Seite 1

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Modul 13: DHCP (Dynamic Host Configuration Protocol)

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

Abgesetzte Nebenstelle TECHNIK-TIPPS VON per VPN

Hilfestellung. ALL500VDSL2 Rev.B & ALL02400N. Zugriff aus dem Internet / Portweiterleitung / Fernwartung. Router. Endgeräte. lokales.

Dynamisches VPN mit FW V3.64

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Um IPSec zu konfigurieren, müssen Sie im Folgenden Menü Einstellungen vornehmen:

Anleitung Grundsetup C3 Mail & SMS Gateway V

How to install freesshd

Adressen im Internet (Wdh.)

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Konfigurationsanleitung Astimax (SIP) an RT1202 (ISDN) Graphical User Interface (GUI) Seite - 1 -

Virtual Private Network

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

und -netzen Vermittlung mit IP Idee Virtuelle Verbindung Datagramm-basiert

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Kommunikations-Parameter

Registrierung eines VPN-Zuganges ins Hamnet

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Dynamisches VPN mit FW V3.64

Primzahlen und RSA-Verschlüsselung

Netzwerk- Konfiguration. für Anfänger

Voice over IP (VoIP) PING e.v. Weiterbildung Blitzvortrag. Dennis Heitmann

Benutzerhandbuch MedHQ-App

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung

Kommunikations-Management

Konfiguration des Fernzugriffes auf Eyseo-IP-Netzwerkkameras mittels dynamischer IP-Adresse

Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen

das Spanning Tree-Protokoll

Internet Protokolle für Multimedia - Anwendungen

Root-Server für anspruchsvolle Lösungen

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

EasyWk DAS Schwimmwettkampfprogramm

Chapter 7 Distanzvektorprotokolle. CCNA 2 version 3.0 Wolfgang Riggert, FH Flensburg auf der Grundlage von

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Konfigurationsanleitung Quality of Service (QoS) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.1.

ANYWHERE Zugriff von externen Arbeitsplätzen

Routing Information Protocol (RIP) Version 1 Gateway of last resort

Windows Server 2012 RC2 konfigurieren

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Thema: VLAN. Virtual Local Area Network

Wo geht s lang: Routing. Erstellt von Simon Wegbünder.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

IPv6. Übersicht. Präsentation von Mark Eichmann Klasse WI04f 22. November 2005

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Professionelle Seminare im Bereich MS-Office

Kurzanleitung zum Einrichten des fmail Outlook Addin

Lizenzen auschecken. Was ist zu tun?

Einführung in. Logische Schaltungen

Netzwerkeinstellungen unter Mac OS X

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Thema IPv6. Geschichte von IPv6

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

ALL7007 VPN-Tunnel Musterkonfiguration zwischen zwei ALL7007 über dynamische IP-Adressen mit PPPoE

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Kurzanleitung So geht s

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Scharl 2010 Dokument ist Urheberrechtlich geschützt. Port Forwarding via PuTTY und SSH. Was ist Port forwarding?

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Fax einrichten auf Windows XP-PC

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -

VRRP. Bild zeigt die Adressangaben in einem IP-Paket bei dessen Übermittlung über die Grenze eines IP-Subnetzes hinweg.

Stefan Dahler. 2. Wireless LAN Client zum Access Point mit WPA-TKIP. 2.1 Einleitung

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

HowTo: Einrichtung & Management von APs mittels des DWC-1000

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Datensicherung. Beschreibung der Datensicherung

OP-LOG

Transkript:

MPLS / VPLS mit RouterOS 3.x Eine Einführung in die Thematik menschen.computer.netzwerke Bottenbacher Str. 78 57223 Kreuztal Tel: +49.2732.55856-0 Fax: +49.2732.55856-111 www.meconet.de info@meconet.de

Inhaltsverzeichnis Einleitung Geschichte und Idee hinter MPLS Hintergrund-Informationen Das Konzept von MPLS Wie funktioniert das mit den Labels? Vorraussetzungen Label-Distribution Label-Stacking Penultimate hop popping Der MPLS-Header MPLS und IP-Pakete MPLS-Label-Stack MPLS und die TTL MPLS-Label-Werte MPLS und ICMP Folie 2

Inhaltsverzeichnis Das Label Distribution Protocol LDP Discipline LDP Control Mode Label Retention Loop Detection VPLS - Virtual Private LAN Service Hintergrund-Informationen Einsatzzweck VPLS als Trägernetz für PPPoE bei (W)ISPs Folie 3

Einleitung Was ist MPLS und was bedeutet das? MPLS steht für Multi Protokoll Label Switching und ist eine Technik die Ihre Wahl der Wegfindung anhand von Labels und nicht anhand von IP- Adressen und Routen trifft. Dies ist einfacher und somit schneller zu bewerkstelligen als das komplette Auswerten teils umfangreicher Routing-Tabellen nach dem Longest-Prefix-Match-Verfahren. MPLS verknüpft die Vorteile der verbindungslosen (Hop by Hop) und verbindungsorientieren (Pfad basiert) Datenübermittlung, indem das Label Switching dafür sorgt, dass alle beteiligten Netzknoten zunächst die notwendigen Pfade signalisieren (aufbauen) über die dann später die Pakete zum jeweiligen Empfänger anhand der Labels weitergeleitet werden, so dass nicht mehr wie beim klassischen IP-Routing jeder Router bei jedem Paket eine komplette Wahl der Wegfindung treffen muss (Hop by Hop). Folie 4

Einleitung Geschichte und Idee MPLS ist seit Ende der 1990er Jahre auf dem Markt verfügbar. Ein weiteres Konzept sieht vor, dass die notwendigen Pfade anhand von mannigfaltigen Parametern definiert werden können. Unter der Verwendung aller zur Verfügung stehenden Techniken bietet MPLS die volle Kontrolle durch den Netzwerkadministrator unter welchen Umständen welche Pfade welche Wege durch das Netzwerk nehmen sollen. Also losgelöst vom klassischen Konzept des IP-Routings anhand der Ziel-Adresse. Folie 5

Einleitung Geschichte und Idee MPLS bietet somit die Möglichkeit des verbindungsorientierten Verfahrens wie z. B. auch ATM. Die notwendigen Pfade werden vor der Paketweiterleitung einmalig aufgebaut (signalisiert) und stehen dann für den gesamten Datenfluss zur Verfügung, ohne dass jeder beteiligte Router für jedes Datenpaket aufwendig seine Routingtabelle bemühen muss. So werden alle beteiligten, MPLS-fähigen Zwischenstationen (LSR = Label-Switched-Router) deutlich entlastet, da jede Forwarding- Entscheidung nur noch anhand der vorgeschalteten Labels erfolgen muss und das Auflösen der teilweise sehr komplexen Routingtabellen nach dem Longest-Prefix-Match nunmehr komplett entfällt. Folie 6

Einleitung Hintergrund-Informationen Hintergrundinformationen zu MPLS und weiteren benötigten Protokollen finden Sie u. a. hier: RFC 3031, Multiprotocol Label Switching Architecture RFC 3032, MPLS Label Stack Encoding RFC 3036, LDP Specification (Label Distribution Protocol) RFC 3209, RSVP-TE (Resource Reservation Protocol for LSPs) RFC 3212, CR-LDP Extensions (Constraint-Based LSP Setup using LDP) Weitere, empfehlenswerte Literatur zum Thema Wikipedia (http://de.wikipedia.org/wiki/mpls) Buch: MPLS Fundamentals by Luc De Ghein Buch: IP Switching and Routing Essentials by Stephen A. Thomas Folie 7

Einleitung Das Konzept Das zentrale Konzept hinter MPLS ist somit Pakete anhand ihrer Labels verbindungsorientiert durch das Netzwerk zu transportieren. Router die MPLS verstehen werden Label Switched Router (LSR) genannt. Label Datagram Label Datagram Datagram Datagram LSR B LSR A LSR C Folie 8

Einleitung Das Konzept Ein großer Unterschied zwischen IP-Adressen und Labels ist der, dass IP-Adressen weltweit eindeutig sind, MPLS-Labels haben hingegen nur eine lokale Bedeutung auf einem Link zwischen zwei LSRs. Auf anderen Links zwischen anderen LSRs können die selben Labels verwendet werden, ohne dass es zu Überschneidungen kommt. Label: 56 Datagram Label: 17 Datagram Datagram Datagram LSR B LSR A LSR C Folie 9

Einleitung Das Konzept Auch wenn das Label auf seinem Weg durch das Netzwerk immer wieder seinen Wert ändert, so ist dennoch der gesamte Pfad durch das erste Label vorgegeben, welches der LSR an der Eintrittsstelle des Paketes in das MPLS-Netzwerk vergeben hat. Dieser gesamte Pfad wird label switched path (LSP) genannt. Jeder beteiligte LSR in einem LSP verfügt über eine Tabelle, in der er die notwendigen Informationen zu incoming und outgoing Interface und Label findet. Er muss also lediglich in dieser das incomming Interface und Label nachsehen und bekommt dann den Wert für das outgoing Label, welches er nun in das Labelfeld einträgt. Dieser Label-Lookup ist wesentlich weniger aufwändig als ein entsprechender Lookup in der IP- Routingtabelle. Folie 10

Einleitung Das Konzept Die MPLS Forwarding Tabelle auf LSR A 4 L in-label=19 out-labels=56 interface=ether2 nexthop=10.0.1.130 destination=10.0.4.1/32 Die MPLS Forwarding Tabelle auf LSR B 3 L in-label=56 out-labels=17 interface=ether2 nexthop=10.0.1.6 destination=10.0.4.1/32 Die MPLS Forwarding Tabelle auf LSR C 1 L in-label=17 interface=ether3 nexthop=10.0.2.10 destination=10.0.4.1/32 Folie 11

Einleitung Das Konzept Eines der wichtigsten Dinge, welches MPLS dem Netzwerkadministrator liefert, ist die Möglichkeit in den Paket-Forwardingmechanismus aktiv einzugreifen. Während beim klassischen IP-Routing die Forwarding- Entscheidung i.d.r. strikt von der Zieladresse abhängt, stehen im MPLS mannigfaltige Manipulationsmöglichkeiten zur Verfügung. Der Ingress Router (Eintrittsrouter) kann seine Forwarding- Entscheidung z. B. anhand von dem Applikationsprotokoll, der Quelle, dem Link über den er es bekommt, QoS Vorgaben, SLAs, Netzwerkzuständen, VPN-Vorgaben und vielen anderen Dingen abhängig machen. Folie 12

Wie funktioniert das mit den Labels? Vorraussetzungen Ein funktionierender IP-Layer, damit das Label Distribution Protocol (LDP) funktioniert. LDP distributiert Labels für aktive IGP-Routen (Interior Gateway Protocol) dies sind z. B. RIP & OSPF, aber auch für statisch eingetragene Routen sowie automatisch generierte Routen durch die Interface- Konfiguration. Nicht zwingend, aber doch sehr hilfreich, ist die Loopback-Adresse für jeden LSR. Da in den meisten Netzwerken wohl OSPF zum Einsatz kommt und es sich hierbei um ein Link-State-Protokoll handelt, ist es dringend anzuraten ein Loopback-Interface zu konfigurieren, welches niemals den Status down haben kann und dieses für LDP zu verwenden. Unter RouterOS kann ein solches Interface einfach durch das Hinzufügen einer Bridge realisiert werden. Diese Bridge bekommt kein physikalisches Interface zugeordnet, wohl aber eine eindeutige IP, z. B. 10.0.0.1/32. Folie 13

Wie funktioniert das mit den Labels? Label-Distribution Dadurch das ein MPLS-Label keine globale Gültigkeit und Einzigartigkeit besitzt, sondern nur für einen Link zwischen zwei LSRs gilt, müssen die beteiligten LSRs hier für Eindeutigkeit sorgen. Dies wird über Upstream- und Downstream-Knoten realisiert. Upstream LSR Downstream LSR Der Downstream-Router für den einen Hop wird der Upstream-Router für den nächsten Hop. Das wichtigste Prinzip ist hierbei, dass ausschließlich der Downstream- Router für das Label Mapping (die Vergabe der Werte für ein Label) zuständig ist. Folie 14

Wie funktioniert das mit den Labels? Label-Distribution Warum der Downstream-Router die Werte der Labels bestimmt - damit diese eindeutig sind - wird in der folgenden Skizze klar: Upstream LSR Upstream LSR Downstream LSR Wenn hier der Downstream-Router auf der rechten Seite die Upstream- Router die Labels vergeben lassen würde, so könnten beide den gleichen Wert verwenden. Folie 15

Wie funktioniert das mit den Labels? Label-Distribution Auch wenn der Downstream-Router die Werte der Labels bestimmt, kann der Trigger ein neues Label zu erstellen von beiden kommen. Wenn der Downstream-Router entscheidet, einen neuen Wert für ein Label zu generieren, so kann er dies einfach tun und dem Upstream-Router mitteilen. 1 Hier ist das neue Label Upstream LSR 2 Downstream LSR Dieses Verfahren wird als downstream unsolicited label distribution (downstream unaufgefordert) bezeichnet. Folie 16

Wie funktioniert das mit den Labels? Label-Distribution Wenn der Upstream-Router entscheidet, einen neuen Wert für ein Label zu generieren, so kann er dies nicht selbst tun, sondern muss den Downstream-Router expliziet dazu auffordern. 1 Label-Anforderung 2 neues Label Upstream LSR 3 Downstream LSR Dieses Verfahren wird als downstream on demand label distribution (downstream auf Anfrage) bezeichnet und wird von RouterOS Stand heute nicht unterstützt. Folie 17

Wie funktioniert das mit den Labels? Label-Stacking Unter Label-Stacking versteht man die Funktion, einem Paket mehrere MPLS-Labels zu geben. So kann MPLS auch durch ein fremdes Transitnetz funktionieren, ohne das dieses AS mit seinen internen Routern über irgendwelche MPLS-Informationen der externen Netze verfügen muss. In einem derartigen Szenario muss lediglich der Egress Router (Austrittsrouter) zwei MPLS-Lookups durchführen. Zunächst wertet er das äußere Label aus, was für das eigene AS intern gültig ist. Hierbei stellt er fest, dass das Label entfernt werden soll, da dieser LSP hier zu Ende ist. Dadurch wird das nächste Label sichtbar und der Router führt einen erneuten Lookup für dieses Label durch, um festzustellen wohin er dieses Paket forwarden muss. Folie 18

Wie funktioniert das mit den Labels? Label-Stacking Autonomes System LSR C LSR A LSR B LSR D Label Label Label Label Label Label Datagram Datagram Datagram Datagram Das verdoppeln der MPLS Operationen verringert aber den Datendurchsatz der Systeme, dafür hält MPLS eine Optimierung bereit. Folie 19

Wie funktioniert das mit den Labels? Penultimate Hop Popping Penultimate hop popping bedeutet das Entfernen des Labels auf dem vorletzten Hop. Für das letzte Beispiel bedeutet dies: Autonomes System LSR C LSR A LSR B LSR D Label Label Label Label Label Datagram Datagram Datagram Datagram Folie 20

Wie funktioniert das mit den Labels? Penultimate hop popping LSR B führt seinen MPLS Lookup auf das äußere Label durch und weiß somit, dass das Paket zu LSR D weitergeleitet werden muss. Des Weiteren ist LSR B bekannt, dass LSR D der letzte Router in diesem LSP ist, also entfernt Router B das Label als vorletzter Hop um Router D zu entlasten. Bei Router D kommt nun direkt das Paket mit dem Label für das externe Netz an und er muss selbst nur einen MPLS Lookup durchführen um das Paket korrekt weiterzuleiten. Die Thematik des penultimate hop popping wird später noch des Öfteren sehr relevant. Folie 21

Der MPLS-Header MPLS und IP-Pakete MPLS fügt einen einfachen 4-Byte Header zu einem Paket hinzu. Anwendung z. B. HTTP, BGP, LDP, Transport TCP UDP Vermittlung IP n. a. MPLS Sicherung ATM Ethernet FR Dies geschieht unmittelbar vor dem IP-Header. Folie 22

MPLS-Header MPLS und IP-Pakete Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL Standard IP-Header 20 Bytes ohne optionale Parameter Version IP-HL TOS Total Length of Packet Fragment Identifier Flags Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Optional Field (vielfaches von 4 Byte, max. 40 Bytes) Payload Folie 23

MPLS-Header Der MPLS-Label-Stack Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL Der MPLS-Label-Stack ist ein 4 Byte langer (Mini-)Header mit folgenden Parametern Label 20 Bit EXP (Experimental Bits) 3 Bit S (Bottom of Stack) 1 Bit TTL 8 Bit Aufgrund seiner einfachen Struktur und Kürze wird dieser auch Shim- Header (kurzer, zwischengeschobener Header) genannt und ist sehr einfach und schnell von einem System zu verarbeiten. Folie 24

MPLS-Header Der MPLS-Label-Stack Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL Label 20 Bit Das MPLS-Label bestimmt über welchen LSP im Netzwerk das Paket durch das MPLS-Netz geleitet werden soll. Folie 25

MPLS-Header Der MPLS-Label-Stack Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL EXP (Experimental Bits) 3 Bit Die Experimental Bit sind eigentlich für spätere Erweiterungen vorgesehen und werden derzeit z. B. für die Übermittlung von QoS- Informationen verwendet. So stehen 8 Klassen zur Verfügung. Folie 26

MPLS-Header Der MPLS-Label-Stack Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL S (Bottom of Stack) 1 Bit Das S-Bit definiert, ob es sich bei diesem Label-Stack um einen verschachtelten Header handelt, also ob noch weitere MPLS-Header folgen. Das Ende des MPLS-Headers wird mit 1 gekennzeichnet. MPLS Label Exp 0 MPLS TTL MPLS Label Exp 0 MPLS TTL MPLS Label Exp 1 MPLS TTL Die Auswertung erfolgt von links nach rechts (also vom zuletzt hinzugefügten Label zum inneren, dem zuerst hinzugefügten Label), direkt nach dem MPLS-Label-Stack folgt der IP-Header. Folie 27

MPLS-Header Der MPLS-Label-Stack Im Detail: Bits 0..4.8..12 16...20.24.28.31 MPLS Label Exp S MPLS TTL TTL 8 Bit Analog zum TTL-Feld im IP-Header. Maximal 255 MPLS-Router kann ein Paket durchlaufen. Folie 28

MPLS-Header MPLS und die TTL Ein LSR greift nicht in den IP-Header ein, somit kann er auch den darin enthaltenen TTL-Wert nicht ändern. Aus diesem Grund verfügt der MPLS-Header über ein eigenes TTL-Feld. Der Ingress Router setzt diesen Wert bei Eintreffen des Paketes auf den Wert des TTL-Feldes aus dem IP-Header -1. Jeder LSR verringert den TTL-Wert im MPLS-Header auch jeweils um den Wert 1. Wenn TTL=0 erreicht wird, soll ein LSR das Label entfernen und eine ICMP Time Exceeded Message zum Absender des Pakets retournieren. Wenn das Paket den Egress Router erreicht, setzt dieser den TTL-Wert des IP-Headers auf den Wert des TTL-Feldes des MPLS-Headers -1. Somit ist auch nach dem gesamten LSP wieder ein korrekter TTL-Wert im IP-Header des Pakets gegeben. Folie 29

MPLS-Header Reservierte MPLS-Label-Werte Folgende Werte für MPLS-Labels sind reserviert 0 IPV4 explicit null label Wenn dieses Label auftritt, soll sofort der Label-Stack entfernt werden und das Paket als normales IP-Paket behandelt werden. 1 Router alert label Dieses Label zeigt dem LSR, dass das Paket eventuell eine spezielle Behandlung benötigt. Der LSR nimmt das Label aus dem Stack und forwarded anhand des nächsten Labels. Hierbei setzt er wieder das router alert label. 2 IPV6 explicit null label wie 0, nur für IPV6. 3 Implicit null label Dieses Label erscheint nie in einem Paket, aber das LDP kann diesen Wert verwenden um zu signalisieren, dass der Label-Stack aufgelöst werden soll anstelle ein weiteres Label hinzuzufügen. 4-15 Reserviert für zukünftige Erweiterungen Folie 30

MPLS und ICMP Das Internet Control Message Protocol ist ein nützliches Protokoll aus der IP-Suite vornehmlich für die Fehlerdiagnose. Da MPLS das Standardverhalten von IP maßgeblich beeinflussen kann und das nicht nur für IP-Routing und Forwarding gilt sondern auch z. B. für ICMP, werden Mechanismen benötigt die ICMP auch in MPLS-Umgebungen nutzbar machen. Datagram Hops: 2 TTL: 1 Datagram Hops: 2? LSR B LSR A LSR C Folie 31

MPLS und ICMP In dem vorherigen Beispiel wird das Problem klar. In den meisten Fällen kann der LSR das Label einfach entfernen und auf klassischen Weg die ICMP-Antwort an den Absender zurückschicken. Was aber, wenn das MPLS z. B. zwei private Netze per VPN über das Internet verbindet? Wie soll dann der LSR B die Antwort an den Absender in dem privaten LAN retournieren? Die Lösung klingt zunächst etwas kurios, ist aber sehr logisch. Der LSR B sendet einen ICMP-Error weiter über den LSP und hängt an diesen den Original Label-Stack an. I. d. R. setzt er hierbei die TTL noch auf 255, damit dieses Paket auf jeden Fall sein Ziel erreicht. So ist sichergestellt, dass das Paket einen Punkt erreicht, der die Antwort (hier die ICMP-Error-Message von LSR B) wieder an den Original-Absender retournieren kann. Folie 32

MPLS und ICMP Datagram Hops: 2 TTL: 1 Datagram Hops: 2 TTL: 255 ICMP Error LSR B LSR A LSR C ICMP Error ICMP Error Folie 33

MPLS und ICMP Der Traceroute-Befehl ist in RFC 4950 (ICMP Extensions for Multiprotocol Label Switching) um einige Extensions erweitert worden. So kann ein Traceroute z. B. die Labels der einzelnen Teilstücke des LSP zurückliefern. [admin@rt-0] > tool traceroute 10.0.4.1 ADDRESS STATUS 1 0.0.0.0 timeout timeout timeout 2 10.0.1.6 1ms 1ms 1ms mpls-label=17 3 10.0.4.1 1ms 1ms 1ms [admin@rt-0] > tool traceroute 10.0.4.1 src-address=10.0.0.1 ADDRESS STATUS 1 10.0.1.130 1ms 1ms 1ms mpls-label=56 2 10.0.1.6 1ms 1ms 1ms mpls-label=17 3 10.0.4.1 1ms 1ms 1ms Aber was ist hier los? Warum liefern die beiden Traceroutes vom selben Absender zum selben Ziel unterschiedliche Ausgaben? Warum ist beim ersten Traceroute ein Timeout beim ersten Hop? Folie 34

MPLS und ICMP Hier wird die Kombination aus penultimate hop popping und dem ICMP- Handling in MPLS-Netzen sichtbar. Der Grund dafür, warum der erste Traceroute keine Antwort vom nächsten Hop bekommt ist eine Kombination aus beiden. LSR A verwendet die IP-Adresse 10.0.1.129 als Absender-IP für den Trace. [admin@rt-0] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY-STATE GATEWAY DISTANCE INTERFACE 5 ADC 10.0.1.128/25 10.0.1.129 0 ether2 11 ADo 10.0.4.1/32 reachable 10.0.1.130 110 ether2 Der LSR B verwirft das Paket und sendet seine ICMP-Error-Message hier ein Time Exceeded über den LSP weiter. Das Paket wird somit weiter über den gesamten Pfad geswitched, in Richtung des Ziels. Folie 35

MPLS und ICMP Der LSR D schickt dann die empfangene ICMP-Error-Message über den LSP zur Quelle 10.0.1.129 zurück. Da der LSR C aber der vorletzte Hop für das Zielnetz 10.0.1.128/25 ist LSR B ist mit der 10.0.1.130/25 hier direkt konnektiert entfernt er das Label und schickt das Paket ungelabelt an LSR B. 11 L in-label=77 interface=ether1 nexthop=10.0.1.5 destination=10.0.1.128/25 LSR C hat keine Angabe für ein Out-Label für das Ziel 10.0.1.128/25. Somit kommt nun die ICMP Error Message von LSR B wieder bei LSR B an. LSR B empfängt also ein Paket von seiner eigenen Source und verwirft dieses. Nachfolgende ICMP-Antworten verfügen über andere Source-Adressen und werden somit zu LSR A geleitet. Folie 36

MPLS und ICMP 10.0.1.129/25 10.0.1.5/30 10.0.2.9/30 LSR A 10.0.0.1 LSR B 10.0.1.1 LSR C 10.0.2.1 LSR D 10.0.4.1 10.0.1.130/25 10.0.1.6/30 10.0.2.10/30 LSR C ist der vorletzte Hop für das Ziel in 10.0.1.128/25, da LSR B direkt mit diesem Netz verbunden ist! Folie 37

MPLS und ICMP Bei dem zweiten Traceroute Befehl mit der Source-IP 10.0.01 sieht es erwartungsgemäß anders aus. Auf LSR A Auf LSR B [admin@rt-0] > tool traceroute 10.0.4.1 src-address=10.0.0.1 ADDRESS STATUS 1 10.0.1.130 1ms 1ms 1ms mpls-label=56 2 10.0.1.6 1ms 1ms 1ms mpls-label=17 3 10.0.4.1 1ms 1ms 1ms 4 L in-label=19 out-labels=56 interface=ether2 nexthop=10.0.1.130 destination=10.0.4.1/32 3 L in-label=56 out-labels=17 interface=ether2 nexthop=10.0.1.6 destination=10.0.4.1/32 LSR C ist der penultimate hop und entfernt das Label 1 L in-label=17 interface=ether3 nexthop=10.0.2.10 destination=10.0.4.1/32 Folie 38

LDP - Label Distribution Protocol MPLS stellt hervorragende Erweiterungen in IP-Netzen zur Verfügung, aber nur dann, wenn alle beteiligten LSRs auch über einen Mechanismus verfügen, der es ihnen ermöglicht, die hierfür notwendigen Labels auszutauschen. Hierfür können die Router z. B. BGP verwenden, für OSPF sind entsprechende Erweiterungen in der Entwicklung. Eins der wohl derzeit am Häufigsten verwendeten Protokolle hierfür ist sicherlich das Label Distribution Protocol, kurz LDP. LDP ähnelt einer Kombination aus BGP und OSPF. Wie auch bei OSPF verwendet LDP sogenannte Neighbors um sich gegenseitig zu finden und ähnlich zu BGP verwenden die Neighbors TCP-Verbindungen um einen stabilen Kommunikationspfad untereinander zu etablieren. Folie 39

LDP - Label Distribution Protocol Bevor zwei LSRs untereinander Label-Informationen austauschen können, müssen sich diese zunächst finden. Dies wird in der ersten Phase des LDP über das Neighbor Greeting analog zu OSPF über ein Hello-Paket realisiert, welches jeder LSR als Multicast über alle seine LDP-Interfaces versendet. Da LDP das IP-Protokoll als Transportmedium verwendet, müssen die LSRs nicht zwingend direkt miteinander verbunden sein, diese benötigen lediglich eine IP-Route zum Ziel um sich zu finden. LSR A IP LSR B LSR C Folie 40

LDP - Label Distribution Protocol Wie weiter oben schon aufgeführt, vergeben die Downstream-Router die Werte für die Labels. Teil eines LDP Hello-Pakets ist der LDP- Identifier. Teil dieses Identifiers ist die eindeutige Router-ID des Downstream LSRs. Hier ist es also empfehlenswert z. B. die IP-Adresse des Localloop-Interfaces als Router-ID zu verwenden, so dass diese garantiert einmalig ist. Der LDP Identifier verwendet 2 Bytes um zwischen unterschiedlichen Label-Space zu unterscheiden. Verwendet der LSR nur einen Label- Space sind beide Bytes 0. Zusätzlich beinhaltet der LDP Identifier noch die IP-Adresse des Absenders, damit die Empfänger den Absender für die nächste Phase erreichen können. Wenn diese IP-Adresse nicht mitgeschickt wird, verwendet der LSR die Source-Adresse des empfangenen Hello-Pakets für die Antwort darauf. Folie 41

LDP - Label Distribution Protocol Die zweite Phase des LDPs ist das session establishment. Wenn zwei LSRs ihre Hello-Pakete erfolgreich ausgetauscht haben, sind diese nun bereit die Session aufzubauen. Hierbei baut der LSR mit der numerisch höheren IP-Adresse die TCP-Verbindung auf, der andere wartet passiv. In der LDP initialization message sendet der LSR diverse Informationen über dies Session, inkl. LDP-Version, Distributions-Methoden, Timer und falls im Einsatz ATM- oder FR-Parameter. Der Peer-LSR antwortet hierauf mit seiner eigenen Initialisierung oder einer Fehlermeldung welche Parameter er ablehnt oder akzeptiert. Wenn dem initialisierende LSR die Antwort des LSR-Peers nicht gefällt, so kann dieser neue Informationen in einer erneuten initialization message anbieten. Um eine Endlosschleife in Proposal & Response zu verhindern, wartet der aktive LSR zunächst 15 Sek. bevor er seine Proposals neu versendet, danach verdoppelt sich die Wartezeit jedes Mal bis das diese 2 Minuten beträgt. Danach stoppt dieser Vorgang. Folie 42

LDP - Label Distribution Protocol LDP Discipline Wenn nun die Session erfolgreich etabliert ist, kann die eigentliche Label-Distribution zwischen den LSRs beginnen. Hier gibt es unterschiedliche Verfahren (Disziplinen). downstream unsolicited mode (unaufgefordert) Der Downstream-Router generiert ein neues Label und sendet dieses an den Upstream-Router. downstream on demand (auf Anfrage) Der Upstream-Router fordert den Downstream-Router auf, ein neues Label zu vergeben (noch nicht in RouterOS implementiert). Folie 43

LDP - Label Distribution Protocol LDP Discipline downstream unsolicited mode 1 Hier ist das neue Label Upstream LSR 2 Downstream LSR Folie 44

LDP - Label Distribution Protocol LDP Discipline downstream on demand 1 Label-Anforderung 2 neues Label Upstream LSR 3 Downstream LSR Folie 45

LDP - Label Distribution Protocol LDP Control Mode Als Erweiterung zu den beiden vorgenannten Arten Labels zu generieren, stehen dem LDP zwei unterschiedliche Methoden als label distribution control zur Verfügung independent control (unabhängig) Hierbei generiert jeder LSR automatisch unaufgefordert neue Labels, wenn sich die IP- Routing-Informationen ändern. Dies passiert z. B. durch das Hinzufügen eines weiteren Links auf einem LSR. ordered control (geordnet) Hierbei wird eine Koordination durch den gesamten LSP benötigt. Dieser Modus bewirkt im Zusammenspiel mit dem unsolicited mode, dass nur der egress router Pfad- Ankündigungen generieren kann. Die Label-Ankündigung wandert somit immer vom Downstream-Router zum nächsten Upstream-Router, bis sie den ingress router erreicht (noch nicht in RouterOS implementiert). Folie 46

LDP - Label Distribution Protocol LDP Control Mode independent control im unsolicited mode 1 2 Hier ist das neue Label OSPF Link State Update Router Upstream LSR 3 Downstream LSR Folie 47

LDP - Label Distribution Protocol LDP Control Mode independent control im on demand mode 1 Label-Anforderung 4 Label-Anforderung 2 Hier ist das neue Label 5 Hier ist das neue Label Upstream LSR 3 6 Downstream Downstream LSR LSR Upstream LSR Folie 48

LDP - Label Distribution Protocol LDP Control Mode ordered control im unsolicited mode 3 Hier ist das neue Label 2 Hier ist das neue Label 1 Hier ist das neue Label ingress LSR LSR LSR egress LSR Folie 49

LDP - Label Distribution Protocol LDP Control Mode ordered control im on demand mode 1 Label- Anforderung 2 Label- Anforderung 3 Label- Anforderung ingress LSR Hier ist das neue Label LSR Hier ist das neue Label LSR Hier ist das neue Label 6 5 4 egress LSR Folie 50

LDP - Label Distribution Protocol Label Retention (Label-Aufrechterhaltung) Es stehen im LDP zwei unterschiedliche Strategien bereit, wie ein LSR sich Label-Informationen merken kann. liberal label retention Hierbei merkt sich der LSR jedes Label-Mapping, auch wenn für dieses kein korrespondierenden next hop in der IP-Forwarding-Tabelle enthalten ist. conservative label rentention Hier behält der LSR das Label-Mapping nur dann, wenn für dieses ein korrespondierender next hop in der IP-Forwarding-Tabelle enthalten ist (noch nicht in RouterOS implementiert). Folie 51

LDP Label Distribution Protocol Liberal Label Retention 1 LSR C LSR B 2 LSR A 4 3 LSR D LSR E 1 Label-Request an LSR C 2 Label-Mapping vom Downstream-Router LSR C 3 Label-Request an LSR D 2 Label-Mapping vom Downstream-Router LSR D Folie 52

LDP Label Distribution Protocol Liberal Label Retention LSR C LSR B 5 LSR A LSR E LSR D 5 Der lokale Ethernet-Link von Router C fällt aus Da der LSP zwischen LSR B und LSR D schon aufgebaut ist (LSR B hat sich das Label gemerkt), muss nun nichts weiter erfolgen und die Pakete können sofort über den neuen Pfad zum Ziel weitergeleitet werden. Folie 53

LDP Label Distribution Protocol Conservative Label Rentention LSR C LSR B 2 1 LSR A 3 LSR D LSR E 1 2 3 Der lokale Ethernet-Link von Router C fällt aus LSR B stellt einen Label-Request an den Downstream-Router LSR D LSR D führt das Label-Mapping aus Folie 54

LDP Label Distribution Protocol Conservative Label Rentention LSR B hatte seinen Pfad zum Ziel ursprünglich über LSR C. Durch den Ausfall des lokalen Ethernet-Interfaces zum Zielnetz wird dieser Eintrag in der lokalen IP-Forwarding-Tabelle von LSR B gelöscht, da LSR C nicht mehr der nächste Hop zum Zielnetz ist. LSR B verwirft nun den LSP über LSR C ebenfalls und triggert LSR D für ein neues Label an, da dieser nun der nächste Hop laut IP-Forwarding- Tabelle für das Zielnetz ist. Dies ist somit eine Kombination aus conservative label rentention und der downstream on demand Disziplin. Folie 55

LDP Label Distribution Protocol Loop Detection Wie jedes gute Routing-Protokoll verwendet auch das LDP Schutzmaßnahmen gegen ungewollte Loops im Netzwerk. In der Tat können beim Einsatz von LDP zwei mögliche Arten von Loops auftreten. Neben einem Loop im Pfad selbst, kann in der Phase 2 des LDPs, dem session establishment ein Loop durch Fehlfunktion oder falsche Konfiguration entstehen. Folie 56

LDP Label Distribution Protocol Loop in Phase 2, während des Session Establishment 1 LSR B 2 LSR A 3 LSR C LSR D 1 2 3 LSR A möchte einen Pfad unter der Verwendung von downstream on demand und ordered distribution control aufbauen LSR B sendet diesen Request weiter an LSR C LSR C sendet diesen Label-Request nun aufgrund eines Fehlers im Routing oder der Konfiguration nicht an LSR D sondern zurück an LSR A. Folie 57

LDP Label Distribution Protocol Loop Detection Das LDP verfügt über zwei Mechanismen, Loops zu erkennen, beide stammen aus den verfügbaren Techniken ab, die auch bei den traditionellen IP-Protokollen hierfür zum Einsatz kommen. Ein Verfahren ist das Zählen der Hops und der Vorgabe, wie viele Hops ein derartiges Paket leben soll (TTL). Hierbei fügt der LSR, der entweder ein Label-Request oder ein Label-Mapping initialisiert einfach ein Hop- Zähler-Feld mit in sein Paket ein. Da dieses Paket nachfolgende Pakete erzeugt, wird nunmehr der Hop- Zähler bei jedem Hop um den Wert 1 verringert. Wenn der Wert 0 erreicht wird, sendet der LSR, der dieses entdeckt, eine LDP notification message und der Loop endet hier. Folie 58

LDP Label Distribution Protocol Loop Detection mit Hop-Zähler 1 LSR B 1 2 3 Label-Request, 1 Hop Label-Request, 2 Hops 2 Label-Request, 3 Hops Label-Request, 4 Hops LSR A 3 LSR C Der Administrator hat hier ein Hop-Limit von 4 Hops eingetragen, so dass LSR B einen Fehler entdeckt, wenn das Paket zum zweiten Male bei ihm eintrifft. 4 2 LSR D Folie 59

LDP Label Distribution Protocol Loop Detection Die zweite Möglichkeit ist das path vector Verfahren, wie es auch bei BGP zum Einsatz kommt. Hierbei fügt jeder Router seine LSR ID in das path vector Feld des Pakets ein. Trifft nun das Paket wieder beim Ursprünglichen Absender ein ist der Loop also geschlossen erkennt der Router anhand seiner eigenen LSR ID dies und kann den Loop somit abbrechen. Folie 60

LDP Label Distribution Protocol Loop Detection mit gesetztem Path Vector Feld 1 LSR B 2 LSR A 3 LSR C 1 Label-Request, path vector = LSR A 2 Label-Request, path vector = LSR A, LSR B 2 Label-Request, path vector = LSR A, LSR B, LSR C LSR D Folie 61

LDP Label Distribution Protocol - Summary MPLS bietet diverse Fähigkeiten die Performance in IP-basierenden Netzwerken zu erhöhen. Das label distribution protocol ist speziell dafür ausgelegt auf eine einfache Art und Weise die notwendigen Label- Informationen in einem Netz zu distributieren. Aber über alles folgt der label switched path immer noch dem IP-Pfad im Netzwerk. Eine wirkliche Erweiterung dieser Fähigkeiten hat also bis jetzt noch nicht stattgefunden. Eine der Größten Neuerungen mit MPLS ist jedoch, dass es nicht den vorgegebenen IP-Pfaden folgen muss. Administratoren haben die explizite Möglichkeit in den Datenfluss einzugreifen um die Verteilung und Auslastung im Netz zu optimieren, spezielle Services anzubieten oder Datenströme gezielt durch das Netzwerk zu lenken. LDP ist für solche Funktionen allerdings nicht das richtige Protokoll, es wird zwar an entsprechenden Vorschlägen für derartige LDP- Erweiterungen gearbeitet, aber verfügbar sind diese derzeit noch nicht. Folie 62