Technische Universität Ilmenau Fakultät für
Transcription
Technische Universität Ilmenau Fakultät für
Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik MPLS-Praktikumsanleitung Einführung in das Multiprotocol Label Switching (MPLS) Stand: Juli 2011 Fachgebiet Kommunikationsnetze Fakultät für Elektrotechnik und Informationstechnik Praktikumsbetreuer: M. Sc. Sebastian Schellenberg E-Mail: [email protected] Raum: Z 1088 Telefon: 03677/69-4137 Inhaltsverzeichnis i Inhaltsverzeichnis 1 Motivation 1 2 Theoretische Grundlagen - Multiprotocol Label 2.1 Label . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Labelcodierung . . . . . . . . . . . . 2.1.2 Labelbindung . . . . . . . . . . . . . 2.1.3 Forwarding Equivalence Class . . . . 2.1.4 Label Switched Path . . . . . . . . . 2.1.5 Next Hop Label Forwarding Entry . 2.1.6 Incoming Label Map . . . . . . . . . 2.1.7 Penultimate Hop Popping . . . . . . 2.1.8 Weitere Funktionen . . . . . . . . . . 2.2 Label Distribution Protocol . . . . . . . . . 2.3 MPLS Traffic Engineering . . . . . . . . . . 2.4 MPLS Virtual Private Networks . . . . . . . 2.5 MPLS in ATM-Netzen . . . . . . . . . . . . 2.6 Quality-of-Service im MPLS-Netz . . . . . . 3 Praktikumsaufgaben 3.1 Vorbereitungsfragen . . . . 3.1.1 Allgemeine Fragen 3.1.2 MPLS-Label . . . . 3.1.3 MPLS-Funktionen 3.2 Versuchsdurchführung . . 3.2.1 Netzstruktur . . . 3.2.2 MPLS (allgemein) 3.2.3 Quality-of-Service / 3.2.4 MPLS-VPN . . . . 3.3 Nachbereitungsfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traffic . . . . . . . . Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 5 5 6 6 7 7 8 8 10 11 12 13 13 . . . . . . . . . . 15 16 16 17 18 19 19 24 29 36 42 MPLS-Praktikumsanleitung Inhaltsverzeichnis Abkürzungsverzeichnis ii 43 MPLS-Praktikumsanleitung 1 Motivation 1 1 Motivation MPLS wurde zur schnellen und einfachen Weiterleitung von Datenpaketen in den Kernnetzen der Provider entwickelt. Bisher erfolgte die Weiterleitungsentscheidung für jedes einzelne Paket in jedem Router anhand der Zieladresse im Kopf der Datenpakete, welche mit den Einträgen in der Routingtabelle des jeweiligen Routers verglichen und entsprechend weitergeleitet wurden. Bedingt durch die Größe der Routingtabellen und der Wiederholung des Nachschlagens für jedes einzelne Paket, ist dieser Prozess sehr zeitaufwendig. Bei MPLS wird die Weiterleitungsentscheidung anhand eines 20 Bit langen Labels am Anfang eines Paketes getroffen. Das Paket muss nur am Eingang zum MPLS-Netz einmal näher auf seine Eigenschaften, wie Zieladresse o.Ä., untersucht und entsprechend gelabelt werden. Die nachfolgenden Router betrachten dann nur das Label des Paketes und leiten es entsprechend vorher definierter Regeln weiter. Der Umfang der Label ist im Vergleich zu den IP-Adressen gering, sodass der Vorgang weniger komplex ist. Zusätzlich bietet MPLS weitere Funktionalitäten, wie Virtual Private Networks (VPN) und Traffic Engineering. Die Funktion des Traffic Engineering ermöglicht die gezielte Wegewahl im Netz, wodurch es den Providern möglich ist, spezielle Pfade für besonders breitbandige oder auch latenzsensitive Dienste anbieten zu können und somit eine gewisse Dienstgüte für diese Pakete zu realisieren. MPLS-VPNs werden eingesetzt, um Geschäftstellen einer Firma mit Hilfe von virtuellen Pfaden im Backbone der Service Provider zu verbinden und somit die Nutzung teurer dedizierter Standleitungen unnötig zu machen. MPLS kann als Verbindung der flexiblen, paketvermittelten Übertragungstechnik durch IP und der traditionellen, leitungsvermittelten Übertragung angesehen werden. Die Vorteile, die eine Leitungsvermittlung mit sich bringt, werden somit in das IPNetz eingebaut. Demgegenüber stehen folgende Nachteile, wie festgeschriebene Wege und die feste Zuordnung von Paketen zu einer Klasse, die im kompletten Gegensatz zum Internet Protocol stehen. MPLS bietet aber die benötigte Flexibilität, da z.B. Pfade dynamisch angepasst werden können. MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 2 2 Theoretische Grundlagen Multiprotocol Label Switching Die MPLS Architektur wird im RFC 3031 beschrieben. Hinzu kommen verschiedene RFCs, in denen bestimmte Funktionen und Bestandteile, wie das Label Distribution Protocol (LDP) näher beschrieben werden. Eine Auswahl wichtiger Protokolle zeigt die nachfolgende Tabelle 2.1. Die komplette Liste der Internet-Drafts und Standards rund um MPLS ist auf der Webseite1 der MPLS Working Group der Internet Engineering Task Force (IETF) zu finden. Titel Requirements for Traffic Engineering Over MPLS Multiprotocol Label Switching Architecture MPLS Label Stack Encoding Use of Label Switching on Frame Relay Networks Specification MPLS using LDP and ATM VC Switching LDP Specification Carrying Label Information in BGP-4 RFC Jahr RFC 2702 09-1999 RFC 3031 01-2001 RFC 3032 01-2001 RFC 3034 01-2001 RFC 3035 01-2001 RFC 3036 01-2001 RFC 3107 05-2001 Tabelle 2.1: Auswahl wichtiger Protokolle rund um MPLS Im Netzwerk wird für jedes einzelne Paket in jedem Router eine seperate Weiterleitungsentscheidung getroffen. Dies geschieht durch die Auswertung der Headerinformationen, wie der Zieladresse oder anderer Parameter. Da der Header noch mehr Informationen enthält, die für die Weiterleitungsentscheidung nicht relevant sind, müssen die benötigten Informationen einzeln extrahiert und betrachtet werden. Die Weiterleitung kann in zwei Bereiche unterteilt werden. Zum einen müssen die Pakete einer Weiterleitungsklasse (Forwarding Equivalence Class, FEC) zugeordnet werden. Zum anderen muss für die FEC der entsprechende nächste Hop gefunden werden. Bei MPLS wird die Weiterleitungsentscheidung anhand eines fest definierten Labels getroffen. Betritt ein 1 http://datatracker.ietf.org/wg/mpls/ MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 3 Paket ein MPLS-Netz, so wird es am Eingangsrouter, dem sogenannten Ingress-Router, näher untersucht und anhand der gewonnenen Informationen aus dem Paketheader zu einer FEC zugeordnet. Dies wird in der nachfolgenden Abbildung 2.1 dargestellt. Es zeigt den Vergleich zwischen dem IP-Weiterleitungsmechanismus, dem Longest-PrefixMatch-Verfahren, und der MPLS-Weiterleitung. Weiterleitungstabelle nächster Hop + Port Paketklassifizierung eingehende Ports IP Header ausgehende Ports Queuing und Scheduling Switchingtabelle nächster Hop + Port ausgehende Ports Queuing und Scheduling eingehende Ports Daten MPLS Label IP Forwarding Daten MPLS Forwarding Abbildung 2.1: Vergleich IP- und MPLS-Forwarding 2.1 Label Das MPLS-Label ist ein 20 Bit langer Identifier, der zwischen den Sicherungsschichtheader (z.B. Ethernet) und den Vermittlungsschichtheader (z.B. IP) eines Paketes gesetzt wird und für die Weiterleitung innerhalb eines MPLS-Netzes genutzt wird. Der Aufbau des Labels ist in Abbildung 2.2 zu sehen. Das Label ordnet ein gelabeltes Paket einer Forwarding Equivalence Class zu, welche in der Regel durch die IP-Zieladresse des entsprechenden Paketes repräsentiert wird. Das Label ist jedoch keine Kodierung der IP-Zieladresse, sondern steht für sich selbst. Die Label haben dabei nur eine lokale Bedeutung, das heißt, dass sie nicht global eindeutig sein müssen bzw. für eine FEC immer das gleiche Label verwendet wird. 0 ... Label 19 20 ... 22 23 24 ... 31 S TTL Exp Abbildung 2.2: Aufbau eines MPLS-Labels Nachfolgend ist die Bedeutung der einzelnen Felder aufgelistet: • Label : lokal eindeutiger Identifier, Länge: 20 Bit • Exp: Experimental Bits, Länge: 3 Bit MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 4 • S : Bottom of Stack - dient zur Kennzeichnung, ob noch weitere Label im Stack folgen, Länge 1 Bit • TTL: Time-to-Live - definiert die Lebensdauer eines MPLS-Paketes, Länge: 8 Bit Es ist zu beachten, dass die Werte für ein Label zwischen 0 und 15 (Wertebereich: 0 bis 220 − 1) reserviert sind und nicht in einem produktiven Netzwerk zu verwenden sind. Die nachfolgende Tabelle 2.2 gibt Aufschluss über ihre Bedeutung. Labelwert Bedeutung Beschreibung 0 IPv4 Explicit NULL Label Zeigt an, dass es das letzte Label auf dem Stapel ist und vom Router entfernt werden soll. Anschließend erfolgt die Weiterleitung anhand des IPv4Headers. 1 Router Alert Label Dieses Label kann nicht am Ende des Labelstacks auftreten, sondern nur, wenn sich danach noch weitere Label auf dem Stack befinden. Ist es das oberste Label, so wird das Paket an ein lokales Softwaremodul zur Weiterverarbeitung geschickt. Die MPLSWeiterleitungsentscheidung wird anhand des nachfolgenden Labels bestimmt, jedoch wird das Router Alert Label wieder als Top-Label gesetzt. 2 IPv6 Explicit NULL Label Zeigt an, dass es das letzte Label auf dem Stapel ist und vom Router entfernt werden soll. Anschließend erfolgt die Weiterleitung anhand des IPv6Headers. 3 Implicit NULL Label Dieser Wert wird nicht als Label verwendet, ist der Vollständigkeit halber aber reserviert. 4-15 reserviert Reserviert für zukünftige Verwendung. Tabelle 2.2: Reservierte MPLS-Label und ihre Bedeutung Wie bereits angedeutet, können sich auch mehrere Label auf dem sog. Label-Stack befinden. Das ermöglicht es geschachtelte LSPs aufzubauen, die es erlauben Pakete und ihre Wege durch das Netz genauer zu differenzieren. Dadurch wird es auch erst möglich, Virtual Private Networks (VPNs) zu realisieren, indem das MPLS-Label als MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 5 Kapselung für das zu übertragende Datenpaket genutzt wird und die Zuordnung zu bestimmten Kundennetzen erlaubt. Die Label auf dem Label-Stack werden nach dem last-in, first-out Prinzip (LIFO) abgearbeitet. Das oberste Label bestimmt dabei, wie das Paket zu bearbeiten ist. 2.1.1 Labelcodierung MPLS kann auf unterschiedlichen Schicht-2-Protokollen aufsetzen. Das MPLS-Label kann dabei auf verschiedene Weisen codiert werden. Im Frame-Modus, wie er z.B. bei Ethernet verwendet wird, wird der Labelwert als eigener Header vorangestellt (siehe Kapitel 2.1). Im Gegensatz dazu steht der Zell-Modus, der beim Asynchronous Transfer Mode (ATM) Verwendung findet (siehe Kapitel 2.5), bei dem das MPLS-Label in nicht benötigten Feldern des Schicht-2-Headers codiert wird, da ATM mit festen Paketgrößen von 53 Byte, hier Zellen genannt, arbeitet und es daher nicht möglich ist einen weiteren Header hinzuzufügen. Im MPLS-Netz werden in diesem Fall die Headerfelder für den Virtual Path Identifier (VPI) und den Virtual Channel Identifier (VCI) als Platz für das Label verwendet. 2.1.2 Labelbindung Die Labelbindung, also die Zuordnung zwischen Zieladresse und dem zu verwendenden MPLS-Label, wird in einem MPLS-Netz von den Ausgangsroutern, die als EgressRouter bezeichnet werden, her aufgebaut. Die Egress-Router bilden den Übergang zwischen MPLS-Netz und IP-Netz. Dabei ist es möglich, dass sie für jedes IP-Subnetz, welches sie erreichen, ein MPLS-Label einrichten und diese Information an ihren vorhergehenden MPLS-Knoten weiterleiten. Den Eintrittspunkt in ein MPLS-Netzwerk stellen die Ingress-Router dar. Sie haben die Aufgabe, eingehende Pakete entsprechend ihrer Zieladresse oder anderer Kriterien ein Label zuzuweisen und sie in das MPLSNetz weiterzuleiten. Anhand von Abbildung 2.3 werden weitere Begrifflichkeiten im Zusammenhang mit MPLS erklärt. Leitet ein Router, z.B. Core-1, ein gelabeltes Paket an den nächsten MPLS-Router, z.B. Core-3, weiter, so wird der Router Core-1 als Upstream-Router bezeichnet und der empfangende Router Core-3 wird als Downstream-Router bezeichnet. Allgemein werden MPLS-fähige Router als Label Switch Router (LSR) bezeichnet. Die Zuordnung eines Labels zu einer FEC geschieht immer ausgehend von einem Downstream-Router, welcher dann seine Upstream-Router über die Bindung informiert. Es wird gesagt, dass die Label downstream-assigned sind und sich die Labelbindung MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 6 Core-2 Core-1 Egress Ingress MPLS-Kernnetz Core-4 Core-3 Abbildung 2.3: MPLS-Beispielnetz vom Downstream-Router in Richtung Upstream-Router ausbreitet. Der Labelaustausch wird dabei von speziellen Protokollen (siehe Abschnitt 2.2) realisiert. 2.1.3 Forwarding Equivalence Class Erreicht ein IP-Paket den Ingress-Router eines MPLS-Netzes, wird ihm ein Label zugeordnet, welches in der Regel anhand der Zieladresse bzw. eines Subnetzbereiches bestimmt wird. Der Weg des gelabelten Paketes durch das MPLS-Netz ist danach vorgegeben. Das Label repräsentiert dabei eine Forwarding Equivalence Class (FEC), die die Eigenschaften und die Weiterleitungsentscheidungen für das entsprechende Paket darstellt. 2.1.4 Label Switched Path Als Label Switched Path (LSP) bezeichnet man den kompletten Weg eines gelabelten Paketes vom Ingress-Router bis zum Egress-Router durch das MPLS-Netz. Der LSP wird durch die Zuordnung des Paketes zu einer FEC bestimmt. In der nachfolgenden Abbildung 2.4 bilden die Router R1 bis R4 den LSP mit den einzelnen, lokalen Labelwerten L1 bis L3. IP IP R1 R2 IP L1 R3 IP L2 R4 IP L3 Abbildung 2.4: Label Switched Path MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 7 Es kann beim Aufbau eines LSP zwischen zwei verschiedenen Varianten unterschieden werden. Das ist zum einen der Independent LSP Control Modus, bei dem jeder LSR bei Erkennen einer neuen FEC eine unabhängige Entscheidung für die Labelauswahl für diese FEC trifft. Diese Bindung verbreitet er dann an seine Nachbarknoten. Dieses Verfahren ist vergleichbar mit der Weiterleitungsentscheidung in IP-Netzen, da jeder Knoten unabhängig die Entscheidung zur Handhabung eines Paketes trifft. Als zweites gibt es den Ordered LSP Control Modus, bei dem der LSR nur eine Bindung zwischen Label und FEC erstellt, wenn er der Egress-Router für diese FEC ist, oder der LSR bereits eine Labelbindung von einem anderen LSR für diese FEC erhalten hat. Um den Weg für eine bestimmte Verkehrsklasse durch das Netz festzuschreiben und die gewünschten Parameter zu sichern, ist die Nutzung des Ordered LSP Control Modus Pflicht, da es ansonsten bei der Nutzung des Independent LSP Control Modus möglich ist, dass sich einzelne LSR in den Pfad einbinden, bevor dieser komplett aufgebaut ist und somit eine Sicherstellung der benötigten Ressourcen nicht gegeben ist. Beide Modi können in einem Netz parallel zur Anwendung kommen. Jedoch ist das Verhalten des Gesamtnetzes vorrangig die des Independent LSP Control Modus, solange nicht alle LSR den Ordered LSP Control Modus benutzen. Welcher Modus verwendet wird, hat keinen Einfluss auf die Wahl eines Label Distribution Protocols (vgl. Abschnitt 2.2). 2.1.5 Next Hop Label Forwarding Entry Das Next Hop Label Forwarding Entry (NHLFE) wird bei der Weiterleitung von gelabelten Paketen verwendet und entspricht der Label Forwarding Information Base (LFIB) auf den Routern. Es beinhaltet die folgenden Informationen: 1. Nächster Hop des Pakets 2. Labeloperation (Ersetzen, Entfernen, Hinzufügen) 2.1.6 Incoming Label Map Die Incoming Label Map (ILM) dient zur Abbildung der eingehenden, gelabelten Pakete auf die NHLFEs. Es ist möglich, dass einem Paket mehrere NHLFEs durch die ILM zugeordnet werden. Ist dies der Fall, wird ein Eintrag zufällig ausgewählt. Mehrere Einträge können dabei dem Lastenausgleich dienen. MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 8 Treffen ungelabelte Pakete auf einem Router ein, wird die FEC-to-NHLFE Map (FTN) verwendet, um ihnen ein Label entsprechend der FEC zuzuordnen und dann weiterzuleiten. Es ist ebenfalls möglich, mehrere NHLFEs anzugeben, von denen aber nur jeweils einer für die Weiterleitung ausgewählt wird. Durch die zusätzlichen Einträge ist es möglich eine Art Lastenausgleich zu realisieren. 2.1.7 Penultimate Hop Popping Ein Label hat die Aufgabe, ein Paket zu kennzeichnen und somit dessen Weg durch das MPLS-Netz zu bestimmen. Ausgehend von Abbildung 2.4 wird das Verfahren Penultimate Hop Popping (PHP) beschrieben, bei dem der Router R3 das Paket ohne Label an den Router R4 weiterleiten kann. Router R3 erkennt anhand des Labels L2, an welches Ziel das Paket gerichtet ist und über welches Interface es rausgeschickt werden muss. Zusätzlich weiß R3, dass er der vorletzte Router auf dem Weg zum Ziel ist, somit hat das Anhängen eines weiteren Labels keinen Sinn für die Weiterleitung. Router R4 empfängt das Paket ohne Label und da es der letzte Router auf dem LSP ist, trifft es die Weiterleitungsentscheidung anhand des IP-Headers. Würde Router R3 auf dem letzten Link ein Label L3 an das Paket anfügen, hätte Router R4 die Aufgabe das Label zu betrachten und stellt dabei fest, dass es für das Paket der Egress-Router ist und R4 somit das Label zu entfernen hat, da es für die weiteren Betrachtungen keine Rolle spielt. Anschließend wird der IP-Header für die Weiterleitungsentscheidung betrachtet. Mit dem PHP-Verfahren fällt der Schritt des Labelentfernens weg, da dies schon der vorletzte Router (engl. penultimate hop), hier R3, erledigt hat. Als Vergleich kann die nachfolgende Abbildung 2.5 herangezogen werden. IP IP R1 R2 IP L1 R3 IP L2 R4 IP Abbildung 2.5: Penultimate Hop Popping 2.1.8 Weitere Funktionen MPLS bietet weitere Möglichkeiten, den Verkehr im Netzwerk zu steuern und zu beeinflussen. Dabei spielt das Label eine zentrale Rolle, welche durch weitere Funktionen MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 9 in den LSR ergänzt werden kann. Die nachfolgenden Punkte stellen eine Auswahl zusätzlicher Funktionen dar und können für den Betrieb eines MPLS-Netzes von großer Bedeutung sein. Time-to-Live Das Time-to-Live-Feld (TTL) wird wie beim klassichen IP-Paket für verschiedene Aufgaben verwendet. Es hat die Aufgabe, die Lebensdauer eines Paketes zu begrenzen, da jeder Router, den das Paket durchläuft, das TTL-Feld um 1 dekrementiert. Dadurch wird erreicht, dass Pakete, die in einer eventuell auftretenden Schleife in der Weiterleitungskette gefangen sind, nach einer gewissen Zeit verworfen werden. Dieser Mechanismus wird auch für die Bereitstellung anderer Funktionen genutzt, so verwendet der Traceroute-Befehl genau diese Funktion, um den Weg eines Paketes durch das Netz nachzuvollziehen. Erreicht ein IP-Paket einen MPLS IngressRouter, so fügt dieser das entsprechende Label für die Weiterleitung im MPLS-Netz an und setzt ein Wert in das eigene TTL-Feld ein. Dadurch ist das MPLS-Netz bei einem Traceroute unsichtbar. Es besteht jedoch die Möglichkeit, den Wert des IP-TTL-Feldes in das MPLS-TTL-Feld zu übernehmen, um es auf dem Weg durch das Netz dekrementieren zu können. Wenn das Paket das MPLS-Netz am Egress-Router verlässt, wird der aktuelle Wert wieder in das IP-TTL-Feld zurückgeschrieben. Dies hat den Vorteil, dass der komplette Pfad des Paketes nachvollziehbar ist. Diese Funktion muss allerdings in den MPLS-Routern aktiviert werden. Unsolicited Downstream vs. Downstream-on-Demand Es gibt zwei Varianten, wie die LSRs die Labelbindung zu einer FEC erhalten können. Es ist möglich, dass sie die Bindung explizit von ihrem Nachbarrouter anfordern. Dieses Verfahren wird als Downstream-on-Demand Labelaustausch bezeichnet. Zum anderen können die LSR eine Labelbindung an ihre Nachbarn senden, ohne das diese sie explizit angefordert haben. Dieses Verfahren bezeichnet man als Unsolicited Downstream Labelaustausch. Beide Verfahren können gleichzeitig in einem Netz verwendet werden, jedoch müssen sich ein Upstream-LSR und der zugehörige Downstream-LSR auf ein Verfahren zum Labelaustausch einigen. Aggregation Im Allgemeinen erstellen die LSR für jedes Adresspräfix, welches bei ihnen anliegt und geroutet wird, eine FEC. Dies kann unter Umständen zu einer Vielzahl von Labeln und FECs führen, die in einem MPLS-Netz verbreitet werden. Angenommen ein Egress-Router erreicht mehrere unterschiedliche Subnetze auf IP-Ebene und verbreitet für jedes Subnetz ein eigenes Label, dann werden die Pakete für die unter- MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 10 schiedlichen Subnetze zwar durch die Label separiert, sie enden jedoch alle auf dem selben Router. Von daher gibt es die Möglichkeit, verschiedene Label zusammen zu fassen, die das gleiche Ziel haben. Dadurch kann die Zahl der Label in einem Netz und somit auch der Verwaltungsaufwand gesenkt werden. 2.2 Label Distribution Protocol Das Label Distribution Protocol (LDP) dient zum Austausch der Bedeutung der Labelwerte zwischen den einzelnen Label Switch Routern (LSR). Es gibt verschiedene Protokolle, die dafür verwendet werden. So wurden bestehende Protokolle, wie das Border Gateway Protocol (BGP), zur Übertragung der Labelinformationen erweitert oder im Fall von LDP neu spezifiziert. Beim LDP werden die zwei LSRs, die untereinander ihre Labelinformationen austauschen, als LDP Peers bezeichnet. Sie bauen dazu eine LDP Session auf, welche eine bidirektionale Kommunikation zwischen den Peers erlaubt. Um eine zuverlässige Übertragung der Daten zu gewährleisten, wird das Transmission Control Protocol (TCP) für die Übertragung der Session-, Advertisement-, und Notification-Nachrichten verwendet. Einzig die Discovery-Nachrichten werden mit dem User Datagram Protocol (UDP) übertragen, da die LSR ihre entsprechenden Peers noch nicht kennen und direkt adressieren können. Die einzelnen Nachrichten haben folgende Aufgaben: • Discovery-Nachrichten: Bekanntmachung und Aufrechterhaltung der Präsenz eines LSR im Netzwerk • Session-Nachrichten: Aufbau, Aufrechterhaltung und Beendigung von Sessions zwischen LDP Peers • Advertisement-Nachrichten: Erzeugung, Änderung und Löschen von Label zu FECs Zuordnungen • Notification-Nachrichten: Signalisierung von Fehlerinformationen Während der Discovery-Phase senden die LSR periodisch LDP Link Hello-Nachrichten über ihr Interface, welche als UDP Pakete an die Multicastadresse aller Router in dem entsprechenden Subnetz gerichtet sind. Als Zielport dient bei TCP und UDP jeweils der Port 646. Die LDP Session wird durch regelmäßige Übertragung von Nachrichten bzw. durch KeepAlive-Nachrichten aufrechterhalten, da sonst ein Timer abläuft MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 11 und die Verbindung schließt. Die gelernten Label und die Zuordnung zu den AdressPräfixen speichern die LSR in der Label Information Base (LIB). Das LDP-Protokoll bietet einen eigenen Mechanismus zur Schleifenerkennung, um beim Aufbau der LSPs Schleifen zu verhindern. Dafür wird ein Pfadvektor und die Anzahl der durchlaufenen Knoten in den Label Request- bzw. Label Mapping-Nachrichten gespeichert. In dem Pfadvektor werden alle Router mit ihren Identifiern (ID) aufgelistet, die das jeweilige Paket durchlaufen hat. Dabei hängt jeder Router seine ID an, wenn er das Paket weiterleitet. Empfängt ein Router ein Paket, in dessen Pfadvektor bereits die eigene ID eingetragen ist, erkennt der Router eine Schleifenbildung. Zusätzlich kann die Länge des Pfadvektors begrenzt werden, sodass nur eine bestimmte Anzahl an Routern gelistet werden kann. Ist die maximale Länge erreicht, behandelt der Router das Paket als habe es eine Schleife durchlaufen. 2.3 MPLS Traffic Engineering Die Funktion des MPLS Traffic Engineerings erlaubt eine gezielte Planung von Wegen und Kapazitäten in einem MPLS-Netzwerk. Bisher waren solche Funktionen nur auf Schicht-2 mit ATM oder Frame Relay möglich. MPLS führt diese Möglichkeiten auf Schicht-3 ein, sodass nicht wie bisher zusätzliche Overlay-Netzwerke auf die bestehende Infrastruktur aufgebaut werden müssen. MPLS Traffic Engineering baut auf eine lauffähige MPLS-Installation auf und benötigt daher auf allen Routern jeweils ein aktiviertes Routingprotokoll (z.B. IS-IS), das IP Cisco Express Forwarding (CEF) sowie MPLS ansich. Zur Realisierung werden auf den Routern Tunnelinterfaces angelegt, deren Betriebsart als Traffic Engineering definiert wird. Die Tunnel sind dabei immer unidirektional, d.h. sie verlaufen in der Regel nur von den Ingress-Routern zu den Egress-Routern und bilden somit ein virtuell vollvermaschtes Netz. Dabei können die Pfade, die die Pakete durch den Tunnel wählen, dynamisch durch die entsprechenden zugrunde liegenden Routingprotokolle generiert werden oder durch die Definition explizieter Pfade manuell bestimmt werden. Somit ist es möglich, Wege und somit auch Kapazitäten im Netzwerk zu planen und entsprechend zu dimensionieren. Zur Unterscheidung der Datenpakete kann das Differentiated Services- (DS) bzw. das Traffic Class- (TC) Feld benutzt werden und es können für verschiedene Verkehrsklassen gezielt Wege geplant werden. MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 12 2.4 MPLS Virtual Private Networks MPLS ermöglicht es, Virtual Private Networks (VPNs) aufzubauen. Dies kann z.B. für die Verbindung verschiedener Standorte einer Firma über das MPLS Kernnetz des Providers genutzt werden. Die Spezifikation erfolgt im RFC4364. Beim Aufbau eines MPLS-VPNs werden drei Kategorien von Routern unterschieden: • Costumer-Edge (CE) Router: Kundenrouter, die die Verbindung zum Provider herstellen. • Provider-Edge (PE) Router: Verbindungsrouter auf der Providerseite zu den Kundenroutern. • Provider Router: Router im Kernnetz des Providers. Die Provider -Router bilden des Kernnetz und sind nur für die Weiterleitung der mit einem MPLS-Label versehenen Pakete zuständig. Sie benötigen keine Informationen über die VPNs, da die Kapselung der Pakete für unterschiedliche VPNs durch verschiedene MPLS-Label realisiert wird und die Weiterleitung dieser Pakete durch das reguläre MPLS-Forwarding geschieht. Für diese Kapselung sorgen die Provider-Edge-Router, die die Pakete von den Costumer-Edge-Routern entgegennehmen und zur Gegenstelle des Kunden weiterleiten. Zum Austausch der Informationen über die Gegenstellen, wird auf den PE-Routern das BGP-Protokoll verwendet. Dies ist unabhängig von dem verwendeten Routingprotokoll im Kernnetz des Providers und dient allein dem Austausch der VPN-Informationen. Dadurch ist es möglich, dass die Kernnetzrouter keine Informationen über das VPN haben, was den Konfigurationsaufwand für das VPN gering hält. Ein weiterer Vorteil ist, dass die CE-Router über keine MPLS-Funktionalität verfügen müssen, da die Umsetzung von IP auf MPLS durch die PE-Router erledigt wird. Die CE-Router liefern die Routinginformationen für das interne Kundennetz per BGP an die PE-Router. Zur Identifikation und Unterscheidung verschiedener VPNs auf einem PE-Router dient der sog. Route Distinguisher (RD). Nachteilig an dem MPLS-VPN ist, dass die Kapselung der Pakete ausschließlich durch das MPLS-Label erfolgt und sie somit nicht verschlüsselt bzw. in irgend einer Form gesichert übertragen werden. Im Allgemeinen wird mit einem VPN die gesicherte Übertragung von Daten verbunden, was hier nicht gegeben ist und somit durch weitere Mechanismen ergänzt werden sollte. MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 13 2.5 MPLS in ATM-Netzen Die Verwendung von MPLS in ATM-Netzen ist bereits in der Architekturbeschreibung gegeben, sowie durch ein spezielles RFC genauer definiert. Bei ATM wird zur Codierung des Labels der Zell-Modus verwendet, bei dem die MPLS-Label in dem Virtual Path Identifier (VPI) bzw. dem Virtual Channel Identifier (VCI) Feld codiert werden. Dabei können drei verschiedene Formen verwendet werden: • Switched Virtual Circuit (SVC) Encoding: Verwendet das VPI/VCI-Feld für die Codierung des Top-Labels. Jeder LSP ist somit als eigener ATM SVC realisiert. • Switched Virtual Path (SVP) Encoding: Verwendet das VPI-Feld zur Codierung des Top-Labels, im VCI-Feld kann ein weiteres Label codiert werden. • Switched Virtual Path (SVP) Multipoint Encoding: Verwendet ebenfalls das VPIFeld zur Codierung des Top-Labels, jedoch nur einen Teil des VCI-Feldes für ein eventuell zweites Label auf dem Stack. Der noch freie Teil des VCI-Feldes wird zur Identifizierung des LSP-Ingress-Knoten benutzt. Dadurch ist es möglich, Multipoint-to-Point Verbindungen aufzubauen. Werden mehr als zwei Label in einem ATM-Netz benötigt, müssen die jeweiligen ATM Encodings mit dem generischen Encoding kombiniert werden. Dies sorgt jedoch für zusätzlichen Overhead bei der Übertragung. 2.6 Quality-of-Service im MPLS-Netz Das MPLS-Protokoll alleine stellt noch keine Dienstgütefunktionen zur Verfügung. Es bietet jedoch eine solide Grundlage, um auf den geplanten MPLS-Pfaden im Netz eine Dienstgüte zu realisieren, da die Grundlage für MPLS die Separierung unterschiedlicher Verkehrsströme ist. Es gibt verschiedene Verfahren, Dienstgüte in einem Netzwerk zu realisieren, nachfolgend wird das Differentiated Services-Verfahren (DiffServ ) vorgestellt, welches als Erweiterung zu MPLS vorgesehen ist. Zur Realisierung des DiffServ -Verfahrens wird im IP-Header das Type of ServiceFeld (TOS) bei IPv4 bzw. das Traffic Class-Feld (TC) bei IPv6 benutzt. Allgemein werden die Felder als Differentiated Services-Feld (DS) bezeichnet. Die Anordnung und Größe der jeweiligen Felder sind in der nachfolgenden Abbildung 2.6 dargestellt. Da MPLS eine Kapselung der IP-Pakete vornimmt, ist die direkte Auswertung des DS -Feldes nicht möglich. MPLS unterstützt das DiffServ -Verfahren, indem die drei MPLS-Praktikumsanleitung 2 Theoretische Grundlagen - Multiprotocol Label Switching 14 Abbildung 2.6: Vergleich zwischen IPv4- und IPv6-Header freien Bits im MPLS-Header (Exp), welche für die experimentelle Nutzung gedacht waren (siehe Abschnitt 2.1), zur Codierung der DiffServ -Klassen verwendet werden. Die Festlegung zur Nutzung dieses Feldes erfolgte im RFC5462, der die Umbenennung des EXP -Feldes im MPLS-Header in Traffic Class-Feld (TC) beschreibt. Die Umsetzung des DS -Feldes vom IP-Paket auf das TC -Feld im MPLS-Header übernimmt dabei der Ingress-Router. MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 15 3 Praktikumsaufgaben Es werden vier Module bereit gestellt, von denen zwei der Grundlagenvermittlung dienen und die anderen zwei spezielle Funktionen der MPLS-Technologie behandeln, von denen jedoch nur eine während des Praktikums zu bearbeiten ist. Die Auswahl des zu bearbeitenden Moduls kann dabei nach den eigenen Interessen gewählt werden. Das verbleibende Modul kann, wenn noch genügend Zeit zur Verfügung steht, natürlich ebenfalls bearbeitet werden. Die nachfolgende Tabelle 3.1 listet die Module auf. Modulname Bearbeitung Grundlagen Netzstruktur obligatorisch MPLS (allgemein) obligatorisch Vertiefung QoS / Traffic Engineering fakultativ MPLS-VPN fakultativ Tabelle 3.1: Übersicht Praktikumsmodule MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 16 3.1 Vorbereitungsfragen 3.1.1 Allgemeine Fragen (1) Zu welcher Klasse von Routingprotokollen gehört MPLS, auf welcher Schicht im ISO/OSI-Modell befindet es sich? • • (2) Wie werden bei MPLS die einzelnen Router in der nachfolgenden Abbildung bezeichnet? Router-2 Router-3 Router-6 Router-1 MPLS-Netzwerk Router-4 Router-5 Paketrichtung Abbildung 3.1: MPLS-Netzwerk • Router-1: • Router-2: • Router-3: • Router-4: • Router-5: • Router-6: MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 17 (3) Welche Funktion haben die Router? • Ingress: • LSR: • Egress: 3.1.2 MPLS-Label (4) Wie ist der MPLS-Header aufgebaut und welche Werte kann er annehmen? • • • • Wertebereich: (5) Welche reservierten Labelwerte gibt es? • • • • • (6) Welche Richtung gehen die Label beim Aufbau eines Label Switched Path (LSP) während des Labelaustausches und welche zwei Verfahren gibt es beim Aufbau des LSP? • Richtung: • Verfahren: MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 18 3.1.3 MPLS-Funktionen (7) Erklären Sie kurz die Funktionsweise und die Ziele von Penultimate Hop Popping (PHP). (8) Erklären Sie kurz die Funktionsweise von MPLS-VPN. Welchen Unterschied zu anderen VPN-Varianten gibt es? MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 19 3.2 Versuchsdurchführung 3.2.1 Netzstruktur (1) Verschaffen Sie sich, anhand des nachfolgenden Netzbildes, einen Überblick über das Praktikumsnetz. Unter welcher IP-Adresse erreichen Sie die Kernnetzrouter R1, R2 und R3? • R1: • R2: • R3: (2) Überprüfen Sie die Erreichbarkeit der Kernnetzrouter von Ihrer Workstation aus. Nutzen Sie dazu den Befehl: ping <IP-Adresse> (3) Sind alle Router erreichbar? • (4) Loggen Sie sich auf Router R1 ein. Öffnen Sie dazu eine Telnetverbindung zu Router R1, indem Sie auf die entsprechende Schaltfläche der GUI klicken: telnet <IP-Adresse R1> Trying <IP-Adresse R1> ... Open User Access Verification Password: r1> Passwort: vtp Loggen Sie sich mit dem Benutzer student“ ein: ” r1>login Username: student r1# MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 20 (5) Überprüfen Sie auf Router R1 die Interfacekonfiguration. Nutzen Sie dazu den Befehl: show interfaces summary Tragen Sie die Ergebnisse in die nachfolgende Tabelle 3.2 ein. Interfacename Status Tabelle 3.2: Interfaces auf Router R1 (6) Was fällt Ihnen anhand der Ausgabe bei Interface FastEthernet 1/0 auf? • (7) Lassen Sie sich die Konfiguration der FastEthernet-Schnittstellen anzeigen. Nutzen Sie den Befehl: show interfaces | section FastEthernet Tragen Sie die IP-Adressen und Subnetzmasken der Interfaces in die nachfolgende Tabelle 3.3 ein. Interfacename IP-Adresse Subnetzmaske Status Tabelle 3.3: Adressen der FastEthernet-Schnittstellen auf Router R1 (8) Was fällt Ihnen anhand der IP-Adresse auf dem Interface FastEthernet 1/0 auf? Vergleichen Sie die Angabe mit der Vorgabe im Netzbild. • MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 21 (9) Konfigurieren Sie die richtige IP-Adresse auf dem Interface FastEthernet1/0. Zur Konfiguration wechseln Sie in den globalen Konfigurationsmodus mit dem Befehl: configure terminal Dort können Sie zur Interfacekonfiguration wechseln: interface FastEthernet1/0 Konfigurieren Sie die IP-Adresse mit: ip address <adresse> <netzmaske> Die Angaben entnehmen Sie bitte aus dem Netzbild. (Hinweis: /30 bedeutet in anderer Schreibweise 255.255.255.252) Aktivieren Sie anschließend das Interface: (Hinweis: bei Cisco wird mit einem vorangestellten no“ vor dem Befehl dieser deaktiviert oder auf den default Wert zurück” gestellt) no shutdown Anschließend verlassen Sie die beiden Konfigurationsmodi (Interface und global) jeweils mit: exit (10) Überprüfen Sie den Erfolg der Konfiguration, indem Sie sich die Konfiguration für das Interface FastEthernet1/0 anzeigen lassen show interfaces | section FastEthernet1/0 Überprüfen Sie nun die Erreichbarkeit von Router R3 von Ihrer Workstation aus. ping <IP-Adresse R3> MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 22 (11) Lassen Sie sich die Routingtabelle (FIB) auf Router R1 und R2 anzeigen. Öffnen Sie dazu eine Telnetverbindung zu Router R2, indem Sie auf die entsprechende Schaltfläche der GUI klicken: telnet <IP-Adresse R2> Trying <IP-Adresse R2> ... Open User Access Verification Password: r2> Passwort: vtp Loggen Sie sich mit dem Benutzer student“ ein: ” r2>login Username: student r2# Anzeigen der Routingtabelle: show ip route isis Tragen Sie die Ergebnisse in die nachfolgenden Tabellen 3.4 und 3.5 ein. Ziel Next Hop Interface Tabelle 3.4: ISIS-Routen auf Router R1 Ziel Next Hop Interface Tabelle 3.5: ISIS-Routen auf Router R2 MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 23 R1 R2 R3 Workstation Abbildung 3.2: Weiterleitung im IP-Netz (12) Zeichnen Sie den Weg des Ping-Paketes zu R3 und die Interfaces in die Abbildung 3.2 ein. (13) Überprüfen Sie die Informationen mit Hilfe des Traceroute-Befehls von Ihrer Workstation aus. traceroute <IP-Adresse R3> Tragen Sie die Ergebnisse in die nachfolgende Tabelle 3.6 ein. Hop-Count Zwischenknoten Zeit Tabelle 3.6: Traceroute zu Router R3 MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 24 3.2.2 MPLS (allgemein) (1) Lassen Sie sich auf allen Routern anzeigen, für welche Interfaces MPLS aktiviert wurde. (Hinweis: Öffnen Sie dazu die noch fehlende Telnetverbindung zu Router R3 mit den bekannten Schritten.) Zum Anzeigen der MPLS-Interfaces nutzen Sie den Befehl: show mpls interfaces Tragen Sie die Ergebnisse in die nachfolgenden Tabellen 3.7, 3.8 und 3.9 ein. Interface IP Tunnel Operational Tabelle 3.7: MPLS Interfaces auf R1 Interface IP Tunnel Operational Tabelle 3.8: MPLS Interfaces auf R2 Interface IP Tunnel Operational Tabelle 3.9: MPLS Interfaces auf R3 (Hinweis: Das Interface FastEthernet 2/0 auf R2 und das Interface FastEthernet 3/0 auf R3 werden für diese Aufgabe nicht benötigt.) Sind für eine Datenübertragung von R2 zu R3 alle benötigten Interfaces aktiviert? • (2) Welchen Wert können die MPLS-Label auf den Routern annehmen? Lassen Sie sich dazu den eingestellten Labelbereich anzeigen: show mpls label range MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 25 • Bereich: Wozu dient die Ober- bzw. Untergrenze? • • (3) Lassen Sie sich die LFIB auf Router R1 und R2 anzeigen. Was wird prinzipiell angezeigt? Nutzen Sie zum Anzeigen der LFIB folgenden Befehl: (Hinweis: Tag ist gleichbedeutend mit Label.) show mpls forwarding-table Sie werden feststellen, dass die LFIB auf Router R1 noch leer ist. Aktivieren Sie MPLS auf R1 und lassen Sie sich anschließend die LFIB erneut anzeigen. Um MPLS zu aktivieren, wechseln Sie in den globalen Konfigurationsmodus: configure terminal mpls ip exit Tragen Sie die Ergebnisse von Router R1 und R2 in die nachfolgenden Tabellen 3.10 und 3.11 ein. (Hinweis: Aktivieren Sie zuerst das MPLS auf R1, da ansonsten auf R2 noch keine Outgoing Tags“ angezeigt werden.) ” Local tag Outgoing tag Prefix Outgoing interface Next Hop Tabelle 3.10: LFIB von Router R1 Local tag Outgoing tag Prefix Outgoing interface Next Hop Tabelle 3.11: LFIB von Router R2 MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 26 Hinweis: Die Labelwerte sind nicht fest konfiguriert, sie können sie bei mehrmaligem Aufruf bzw. Konfiguration ändern! Was bedeutet der ausgehende Labelwert 0“? ” • Starten Sie einen Ping von Ihrer Workstation aus zu Router R3. Welche Label werden dabei verwendet? Tragen Sie die Ergebnisse in die nachfolgende Abbildung 3.3 ein. ping <IP-Adresse R3> R1 Label Ziel-IP Label Label Ziel-IP Ziel-IP R2 R3 Label Ziel-IP Workstation Abbildung 3.3: MPLS-Weiterleitung Ping Workstation-R3 (4) Untersuchen Sie die maximale Paketgröße bei der Übertragung im Netzwerk. Nutzen Sie dazu den Tracepath-Befehl von ihrer Workstation aus. Starten Sie zuerst einen Tracepath zu R2: tracepath <IP-Adresse R2> Wieviele Hops werden benötigt? • MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 27 Welche Paketgröße (MTU) wird unterstützt? • Starten Sie nun einen Tracepath zu R1: tracepath <IP-Adresse R1> Wieviele Hops werden benötigt? (Hinweis: Führen Sie den Befehl zweimal aus, da beim ersten Mal Router R2 noch doppelt angezeigt wird.) • Welche Paketgröße (MTU) wird unterstützt? Erklären Sie die Abweichung. • • (5) Untersuchen Sie die Funktion des TTL-Feldes. Starten Sie dazu einen Tracepath zu Router R3: tracepath <IP-Adresse R3> Wieviele Hops werden angezeigt? (Hinweis: Wiederholen Sie den Befehl, wenn R2 in der Liste doppelt angezeigt wird.) • Wird Router R1 auf dem Weg angezeigt? • Warum ist das so? • • Wechseln Sie auf Router R2 in den globalen Konfigurationsmodus. configure terminal MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 28 Aktivieren Sie die Übernahme des IP-TTL-Feldes in den MPLS-Header. Dies wird durch folgenden Befehl realisiert: mpls ip propagate-ttl Verlassen Sie den globalen Konfigurationsmodus wieder. exit Starten Sie erneut einen Tracepath zu R3 von ihrer Workstation aus. tracepath <IP-Adresse R3> Wieviele Hops werden jetzt angezeigt, ist Router R1 nun sichtbar, warum? • • MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 29 3.2.3 Quality-of-Service / Traffic Engineering (1) Schalten Sie einen zusätzlichen Pfad im Netzwerk, indem Sie das fehlende Interface auf Router R2 aktivieren. Wechseln Sie dazu auf Router R2 in den Interfacekonfigurationsmodus für das Interface FastEthernet2/0. configure terminal interface FastEthernet2/0 no shutdown (2) Welchen Weg nehmen jetzt die Pakete von Ihrer Workstation zu Router R3? Führen Sie dazu einen Tracepath von ihre Workstation zu Router R3 aus. Was stellen Sie fest? • Lassen Sie sich die aktualisierte Routingtabelle auf Router R2 anzeigen. show ip route isis Tragen Sie die Ergebnisse in die nachfolgende Tabelle 3.12 ein und vergleichen Sie die Einträge mit denen aus Tabelle 3.5. Ziel Next Hop Interface Tabelle 3.12: Neue ISIS-Routen auf Router R2 Zeichnen Sie den neuen Weg der Pakete von R2 zu R3 in die Abbildung 3.4 ein. (3) Welchen Durchsatz ermöglicht der Link zwischen Router R2 und R3? Überprüfen Sie dies, indem Sie einen Floodping von ihrer Workstation zu Router R3 ausführen. (Hinweis: Zum Ausführen eines Floodpings werden normalerweise rootRechte auf dem Linuxsystem benötigt. Zur einfacheren Handhabung wurde der Befehl jedoch für den normalen Benutzer per sudo freigeschaltet.) MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 30 R1 R2 R3 Workstation Abbildung 3.4: Wegewahl Workstation - R3 sudo ping -f -w 10 <IP-Adresse R3> Der Parameter f“ steht für Floodping, bei dem die Pingpakete ohne Unterbrechung ” gesendet werden. Beim normalen Ping wird nur ein Paket pro Sekunde gesendet, sodass damit keine Aussage über die Qualität einer Verbindung möglich ist. Der Parameter w“ gibt die Zeit an, wielange der Ping ausgeführt werden soll. In diesem Fall sind ” es zehn Sekunden. Dadurch ist es möglich, vergleichbare Ergebnisse zu generieren, da eine Messung stets zehn Sekunden lang läuft. • Berechnen Sie anhand der durch den Ping-Befehl ermittelten Parameter Übertragungszeit t, Paketanzahl n, Paketgröße s und der Verlustrate x die erzielte Übertragungsrate b. Beachten Sie, dass zusätzlich zur angezeigten Paketgröße noch 14 Byte für den MAC-Header hinzukommen. • Übertragungszeit t: • Paketanzahl n: • Paketgröße s: • Verlustrate x: MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 31 Verwenden Sie dazu folgende Formel: b = (Hinweis: Beachten Sie die Verlustrate!) n t ·s • Übertragungsrate b = (4) Überprüfen Sie, ob alle Grundlagen für das Aktivieren des Traffic Engineerings gegeben sind. Dazu muss auf allen Routern MPLS, das IP Cisco Express Forwarding (CEF) sowie ein Routingprotokoll (z.B. IS-IS) aktiviert sein. Überprüfen Sie dies, indem Sie auf allen Routern folgenden Befehl ausführen: show mpls traffic-eng tunnels summary Das Ergebnis sollte wie folgt aussehen: Signalling Summary: LSP Tunnels Process: RSVP Process: Forwarding: [...] running running enabled Sind diese drei Punkte auf den Routern R1, R2 und R3 entsprechend konfiguriert? Tragen Sie das Ergebnis in die Tabelle 3.13 ein. LSP Tunnels Process RSVP Process Forwarding R1 R2 R3 Tabelle 3.13: Vorraussetzung für Traffic Engineering Die Bedeutung der Einträge sind in Tabelle 3.14 nachzulesen. (5) Konfigurieren Sie nun einen TE-Tunnel von Router R2 zu Router R3. Wechseln Sie dazu in den globalen Konfigurationsmodus auf Router R2. configure terminal Es ist bereits ein Tunnelinterface vorbereitet. Wechseln Sie in die Interfacekonfiguration für das entsprechende Tunnelinterface. MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 32 LSP Tunnels Process Zeigt an, ob MPLS aktiviert ist oder nicht. RSVP Process Zeigt an, ob das Resource Reservation Protocol (RSVP) aktiviert ist oder nicht. Dies geschieht automatisch beim Aktivieren von MPLS Traffic Engineering. Forwarding Zeigt an, ob das Cisco Express Forwarding (CEF) auf dem Router aktiviert ist. Tabelle 3.14: Bedeutung der Einträge für das Traffic Engineering interface Tunnel0 Es muss noch die Zieladresse für den Tunnel festgelegt werden. Verwenden Sie dazu folgende Befehle: tunnel destination <IP-Adresse R3> Sie können auch noch eine Beschreibung für das Interface hinzufügen: description <Text> Hinweis: Alle anderen benötigten Parameter sind schon vorkonfiguriert, da eine Konfiguration mit eingeschränkten Benutzerrechten nicht möglich ist. Die vordefinierten Parameter und ihre Bedeutung finden Sie in der Tabelle 3.15. Befehl ip unnumbered Loopback 0 tunnel mode mpls traffic-eng tunnel mpls traffic-eng bandwidth 1000 tunnel mpls traffic-eng path-option 10 explicit name Pfad1 tunnel mpls traffic-eng autoroute announce Bedeutung Weist dem Tunnelinterface eine IP-Adresse zu. Setzt den Tunnelmodus auf MPLS Traffic Engineering Legt die Bandbreite für den MPLS-TE Tunnel fest Weist einen explizit definierten Pfad mit dem Namen Pfad1“ dem Tunnel zu. Alternativ ” ist es möglich, einen dynamischen Pfad zu konfigurieren. Sorgt dafür, dass der Tunnel dem verwendeten Routingprotokoll bekannt gemacht wird und in die Pfadberechnung mit einfließt. Tabelle 3.15: Erklärung zur MPLS-TE Tunnelkonfiguration Der explizite Pfad mit dem Namen Pfad1“ ist dabei bereits wie folgt konfiguriert: ” MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 33 ip explicit-path name Pfad1 enable next-address 10.0.2.1 next-address 10.0.3.2 Verlassen Sie nun die Interfacekonfiguration und den globalen Konfigurationsmodus jeweils mit: exit (6) Überprüfen Sie die Tunnelkonfiguration. Wird der Tunnel in der Routingtabelle von Router R2 angezeigt? show ip route Tragen Sie die Ergebnisse in die nachfolgende Tabelle 3.16 ein. Ziel Next Hop Interface Tabelle 3.16: Routen und Tunnel auf Router R2 Details zu dem eingerichteten Tunnel können Sie sich mit folgendem Befehl anzeigen lassen: show mpls traffic-eng tunnels Wie ist der Status des Tunnels? • Admin: • Oper: • Path: • Signalling: MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 34 (7) Welchen Weg gehen die Pakete durch den Tunnel? Lassen Sie sich dazu die Eigenschaften des Tunnels anzeigen. Dort wird auch der Pfad angezeigt, über den der Tunnel verläuft. show mpls traffic-eng tunnels | section RSVP Unter dem Punkt explicit Route“ finden Sie die Pfadangabe. Notieren Sie sich die ” Ergebnisse. • Vergleichen Sie den Tunnelpfad mit den vorher ermittelten Werten der Routingtabelle 3.12. Was stellen Sie fest? • • Zeichnen Sie den Pfad in die nachfolgende Abbildung 3.5 ein und vergleichen Sie ihn mit dem gerouteten Weg aus Abbildung 3.4. R1 R2 R3 Workstation Abbildung 3.5: MPLS TE Tunnel zwischen R2 und R3 Überprüfen Sie ihre Beobachtung, indem Sie einen Tracepath von ihrer Workstation zu Router R3 ausführen. tracepath <IP-Adresse R3> MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 35 (8) Welchen Durchsatz ermöglicht der neu konfigurierte Tunnel im Vergleich zum gerouteten Weg? Überprüfen Sie dies, indem Sie erneut einen Floodping auf Router R3 ausführen. Die Datenpakete werden jetzt allerdings durch den zuvor konfigurierten Tunnel geschickt. sudo ping -f -w 10 <IP-Adresse R3> Was stellen Sie fest? • • Hinweis: Wenn Sie nachfolgend das Modul MPLS-VPN bearbeiten wollen, deaktivieren Sie bitte vorher das Tunnelinterface und die direkte Verbindung zwischen Router R2 und R3 wieder. configure terminal no interface Tunnel 0 interface FastEthernet 2/0 shutdown exit exit MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 36 3.2.4 MPLS-VPN (1) Lassen Sie sich die virtuellen Routinginstanzen auf R2 und R3 anzeigen. Hinweis: Die VPNs sind auf den Routern R2 und R3 vorkonfiguriert, da eine Bearbeitung mit eingeschränkten Rechten auf den Routern nicht möglich ist. Zum Anzeigen der angelegten virtuellen Routinginstanzen benutzen Sie folgenden Befehl: show ip vrf Welche wurden angelegt und wie lautet der Route Distinguisher (RD)? VRF Default RD Interface Tabelle 3.17: Virtuelle Routinginstanzen Welche Aufgabe hat der RD? • (2) Lassen Sie sich die eingerichteten VPNs auf Router R1 anzeigen. show ip vrf Was stellen Sie fest? Erklären Sie ihre Beobachtungen. • • (3) Über welche Interfaces und Adressen erreichen Sie die Kundennetze auf Router R2 und R3? Lassen Sie sich dazu auf den Routern R2 und R3 die VPN-Interfaces anzeigen: show ip vrf interfaces Tragen Sie die Ergebnisse in das Netzbild 3.7 ein. MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 37 (4) Lassen Sie sich auf allen Routern die BGP-Routen anzeigen. Info: Im Kernnetz wird das Routingprotokoll IS-IS verwendet. Darüber haben Sie sich bereits im Aufgabenabschnitt 3.2.1 informiert. Für den Austausch der VPNInformationen wird zwischen den PE-Routern (R2 und R3) das BGP-Protokoll gesprochen. Zum Anzeigen der BGP-Routen verwenden Sie folgenden Befehl: show bgp all Welche Router stehen in einer Nachbarschaftsbeziehung, welche nicht? • • Tragen Sie die Routinginformationen für die einzelnen Kundennetze ( Kunde-A“ und ” Kunde-B“) in die nachfolgenden Tabellen 3.18 und 3.19 ein. ” Network Next Hop Kundennetz Tabelle 3.18: BGP-Routen auf Router R2 (5) Welche Adressbereiche werden in den Kundennetzen verwendet? Lassen Sie sich dazu die Routingtabellen auf R2 und R3 anzeigen. (Hinweis: Den VRF-Namen entnehmen Sie bitte aus der vorherigen Aufgabe, achten Sie auf Großund Kleinschreibung.) MPLS-Praktikumsanleitung 3 Praktikumsaufgaben Network 38 Next Hop Kundennetz Tabelle 3.19: BGP-Routen auf Router R3 show ip route vrf <VRF-Name> Tragen Sie die Ergebnisse in das Netzbild 3.7 ein. Welche Adressen sind doppelt vergeben? Wie ist das möglich? • • (6) Überprüfen Sie die Trennung der verschiedenen Kundennetze Überprüfen Sie dazu stichpunktartig die Erreichbarkeit der IP-Adressen aus einem Kundennetz, indem Sie sich dazu von Router R2 aus auf dem Router CE1 einloggen. telnet 10.10.0.2 /vrf Kunde-A Trying 10.10.0.2 ... Open User Access Verification Password: ce1> Passwort: vtp Loggen Sie sich mit dem Benutzer student“ ein: ” MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 39 ce1>login Username: student ce1# Welche Adressen sind erreichbar und welche nicht? Tragen Sie ihre Ergebnisse in die nachfolgende Tabelle ein. erreichbar nicht erreichbar Tabelle 3.20: Erreichbarkeit aus dem Kundennetz Kehren Sie wieder auf Router R2 zurück: logout (7) Welche Label werden für die Trennung der beiden VPNs verwendet? Lassen Sie sich dazu die vergebenen Label für das VPN von Kunde-A“ auf Router R2 ” und R3 anzeigen. show mpls forwarding-table vrf <VRF-Name> Tragen Sie die Ergebnisse in die nachfolgenden Tabellen 3.21 und 3.22 ein. Local tag Outgoing tag Prefix Outgoing interface Next Hop Tabelle 3.21: LFIB von Router R2 für VPN Kunde-A“ ” Führen Sie einen Traceroute von Router CE1 nach CE3 aus und tragen Sie die verwendeten Label und Adressen in die nachfolgende Abbildung 3.6 ein. Loggen Sie sich dazu wieder auf den Router CE1 ein (User: student“, Passwort: vtp“). ” ” telnet 10.10.0.2 /vrf Kunde-A [...] traceroute <IP-Adresse CE3> MPLS-Praktikumsanleitung 3 Praktikumsaufgaben Local tag Outgoing tag 40 Prefix Outgoing interface Next Hop Tabelle 3.22: LFIB von Router R3 für VPN Kunde-A“ ” R1 Label Label Ziel-IP Label Label Ziel-IP R2 Label R3 Label Ziel-IP Label CE1 Label Ziel-IP CE3 Abbildung 3.6: MPLS-VPN-Weiterleitung von CE1 nach CE3 Wird Router R1 angezeigt? (Hinweis: * * *“ steht für ein Timeout von R1.) ” • Deaktivieren Sie auf Router R2 die TTL-Wert-Verbreitung. Wechseln Sie dazu in den globalen Konfigurationsmodus auf R2. configure terminal no mpls ip propagate-ttl exit Loggen Sie sich wieder auf CE1 ein (User: student“, Passwort: vtp“) und wieder” ” holen Sie den Traceroute zu Router CE3. telnet 10.10.0.2 /vrf Kunde-A [...] traceroute <IP-Adresse CE3> Wird Router R1 noch angezeigt? Begründen Sie dies. • MPLS-Praktikumsanleitung Lo0 Lo1 Eth0 CE1 ser0.100 10.10.0.2 ser1/0.100 Lo0 10.0.0.2 /32 Workstation eth0 10.1.0.11 Lo0 Eth0 ser1/1.100 FastEth 2/0 10.0.5.1 FastEth 0/0 10.1.0.1 R2 FastEth 3/0 10.0.2.2 CE2 ser0.100 10.20.0.2 ser1/0.100 FastEth 3/0 10.0.5.2 Lo0 Eth0 CE3 ser0.100 10.30.0.2 Lo0 10.0.0.1 /32 R1 FastEth 1/0 FastEth 0/0 10.0.3.1 10.0.2.1 Lo0 10.0.0.3 /32 Lo0 Lo1 Eth0 CE4 ser0.100 10.40.0.2 ser1/1.100 R3 FastEth 0/0 10.0.3.2 3 Praktikumsaufgaben 41 Abbildung 3.7: Praktikumsnetzwerk MPLS-Praktikumsanleitung 3 Praktikumsaufgaben 42 3.3 Nachbereitungsfragen (1) Welche Routingprotokolle wurden im Zusammenhang mit MPLS verwendet und für welchen Zweck? • • (2) Wie kann man einen bestimmten Pfad für einen TE-Tunnel festlegen? (Hinweis: Nur zu beantworten, wenn das entsprechende Aufgabenmodul bearbeitet wurde.) • • (3) Auf welchen Routern muss das MPLS-VPN konfiguriert werden, damit das VPN funktioniert? (Hinweis: Nur zu beantworten, wenn das entsprechende Aufgabenmodul bearbeitet wurde.) • • (4) Mit welchem Befehl ist es möglich, sich den Pfad vom Sender zum Empfänger in einem Netzwerk anzeigen zu lassen? • (5) Wozu dient der globale Konfigurationsmodus“ auf den Cisco Routern? ” • MPLS-Praktikumsanleitung Abkürzungsverzeichnis 43 Abkürzungsverzeichnis ATM . . . . . . . . . . . . . . . BGP . . . . . . . . . . . . . . . CEF . . . . . . . . . . . . . . . FEC . . . . . . . . . . . . . . . FTN . . . . . . . . . . . . . . . ILM . . . . . . . . . . . . . . . . IS-IS . . . . . . . . . . . . . . . LDP . . . . . . . . . . . . . . . LFIB . . . . . . . . . . . . . . . LIB . . . . . . . . . . . . . . . . LIFO . . . . . . . . . . . . . . . LSP . . . . . . . . . . . . . . . . LSR . . . . . . . . . . . . . . . . MTU . . . . . . . . . . . . . . . NHLFE . . . . . . . . . . . . PHP . . . . . . . . . . . . . . . RSVP . . . . . . . . . . . . . . RTT . . . . . . . . . . . . . . . SVC . . . . . . . . . . . . . . . SVP . . . . . . . . . . . . . . . TC . . . . . . . . . . . . . . . . . TCP . . . . . . . . . . . . . . . TOS . . . . . . . . . . . . . . . TTL . . . . . . . . . . . . . . . UDP . . . . . . . . . . . . . . . VC . . . . . . . . . . . . . . . . . VCI . . . . . . . . . . . . . . . . VPI . . . . . . . . . . . . . . . . VRF . . . . . . . . . . . . . . . Asynchronous Transfer Mode Border Gateway Protocol Cisco Express Forwarding Forwarding Equivalence Class FEC-to-NHLFE Map Incoming Label Map Intermediate System to Intermediate System Protocol Label Distribution Protocol Label Forwarding Information Base Label Information Base last-in, first-out Label Switched Path Label Switch Router Maximum Transmission Unit Next Hop Label Forwarding Entry Penultimate Hop Popping Resource Reservation Protocol Round Trip Time Switched Virtual Circuit Switched Virtual Path Traffic Class Transmission Control Protocol Type of Service Time-to-Live User Datagram Protocol Virtual Circuit Virtual Channel Identifier Virtual Path Identifier Virtual Routing and Forwarding Instanz MPLS-Praktikumsanleitung