Routing Sebastian Sickert Was ist ein Router? • Ein Router ermöglicht es mehrere Netzwerke mit unterschiedlichen Protokollen und Architekturen zu verbinden. • -> Arbeitet auf der Vermittlungsschicht • Router finden sich häufig an den Außengrenzen eines Netzwerkes, um es mit dem Internet oder einem anderen Netzwerk zu verbinden. • Ein Router besteht aus Software, Hardware und Speicher für die Routing-Tabelle • Über die Routing-Tabelle entscheidet ein Router, welchen Weg ein Datenpaket nimmt. Es handelt sich dabei um ein dynamisches Verfahren, das Ausfälle und Engpässe ohne den Eingriff eines Administrators berücksichtigen kann. Routing Einführung • • 1. 2. Ist die Wegfindung zum Ziel anhand einer oder mehrere Kriterien (metric) die diesen Weg bestimmen. Je mehr Kriterien berücksichtigt werden müssen, desto genauer und gezielter ist der Weg zum Ziel, desto (zeit-)aufwendiger ist die Bestimmung oder Berechnung des Weges. Routing kann mittels dynamischer oder statisches Verfahren realisiert werden. Ermittlung der verfügbaren Routen Auswahl der geeignetsten Route Routing-Tabelle • Enthält alle bekannten Routen durch das Netz • Erstellung Statisch oder Dynamisch Die Routing-Tabelle enthält folgende Angaben: 1. alle bekannten Netzwerkadressen 2. Verbindungsarten in andere Netzwerke 3. Weginformationen zu anderen Routern 4. Verbindungskosten Dijkstra • Der Algorithmus von Dijkstra (nach seinem Erfinder Edsger W. Dijkstra 1959) dient der Berechnung eines kürzesten Pfades zwischen zwei Punkten. • Kantengewichtung der Graphen mit Metriken. Metrik • Ein Router vergleicht alle Tabellen, die er erhält und bestimmt daraus nach dem Algorithmus den optimalen Weg. • Es werden Metriken festgelegt, anhand von: Entfernung, Datendurchsatz, Verfügbarkeit usw. • Diese Spiegeln sich in den Streckenwerten wieder. • Unterschiedliche Routingprotokolle verwenden verschiedene Metriken Skizze Routin-Tabelle Netzstruktur •Graphtenknoten •Graphenkanten Routingtabellen Stuttgart -> Leipzig 1)S->H =52 2)H->N=167 H->W=107 3)W->Sc=48 N->H=135 4)Sc->E=156 H->Hermsdorf=80 5)E->Hermsdorf=70 6)Hermsdorf->L=86 Var(a)=520Km Var(b)=519Km Statisches (nicht adaptives) Routingverhalten • feste Wegvergabe zwischen zwei Endsystemen (durch Admin). • bei absolut stabiler Netzwerkkonfiguration (Unflexibel) • bei extremen Sicherheitsauflagen (sehr sicher) Dynamisches (adaptives) Routing: • Die Routing Tabellen in allen Routern können sich im Verlauf der Zeit ändern. Dafür gibt es entsprechende Protokolle. • Router kann sozusagen die Wegwahl mit Hilfe von Algorithmen neu bestimmen. Vorteile: • Neue Router können bei laufenden Betrieb hinzugefügt werden • Das Netz reagiert selbstständig bei Ausfall von Leitungen und Netzknoten • Die Netzauslastung wird vom Netz selbst geregelt. • Nachteil: • Austausch von Kontrollinformationen zw. Routern (Multicasting • Router senden einander ihre Adresstabellen -> zusätzliche Netzbelastung • ->Dieser sog. Overhead steigt proportional (quadratisch) zur Zahl der Subnetze DVA(Distance Vector Algorithm): • Auch bekannt als Bellman-Ford-Routing oder Ford-Fulkerson-Routing • Wegfindung nach Anzahl der Hubs(Router) • Jede Route wird anhand einiger Kriterien klassifiziert • einfache Struktur, leichte Implementierbarkeit und geringen Speicherbedarf • DVR-Protokolle (siehe RIP) • Versenden (von Teilen) der Routing-Tabelle (Distance Vector Table) an die Nachbar-Router • keine vollständige Topologie-Information in den beteiligten Routern RIP-Verfahren (Routing Information Protocol) • Auf Basis des Distance Vector Algorithmus • Es dient der dynamischen Erstellung der Routing-Tabelle von Routern. • Speichert Netzwerkadresse, abgehende Schnittstellen und Anzahl der Knotenpunkte • Hubeintrag von 16= unendlich (unmöglich) <16 = IGP (Interior Gateway Protocol) verwendet • wird nur in lokalen Netzwerken eingesetzt, wo die Netzwerkstruktur weitestgehend unverändert bleibt. • Routine-Tabellen aller 30Sek an Benachbarte Router ausgetauscht. • =Broad (multi)-cast -> Langer Informationsweg bei Routerausfall. Das prinzipielle Vorgehen eines Distanzvektorprotokolls 1. Erzeuge eine Kostenmatrix, welche Router über welche Nachbarn und zu welchen Kosten erreichbar sind. - Diese Matrix enthält anfangs nur die (bekannten) Kosten zu direkten Nachbarn. 2. Erzeuge eine Aufstellung mit Informationen, welche Router wir zu welchen Kosten am besten erreichen können und schicke sie an alle Nachbarn. 3. Warte auf Aufstellungen dieser Art von anderen Routern, rechne diese dann in die eigene Kostenmatrix ein. 4. Ändern sich dadurch die minimalen Kosten, zu denen wir einen Router erreichen können: fahre mit Schritt 2 fort, sonst mit Schritt 3. LSA- (Link State Algorithmus): • Beispiele: OSPF (Open shortest Path First), IS-IS, OSI, • Hierbei sind Informationen über die Netzwerkhierarchie und über die Entfernungen zu anderen Routern notwendig. Es wird hierarchisch nach Area-Routern(Ebene 1) und Backbone-RouterHierarchie(Ebene 2) unterschieden. -> hoher Speicherbedarf. • Beim Link-Status-Routing (LSR) werden die Änderungen in der Routing-Tabelle per Multicast zwischen den Routern ausgetauscht. In der RoutingTabelle ist deshalb die gesamte Netzstruktur abgebildet LSR (Link State Routing) • 1.Nachbarn finden • 2.Entfernung zu den Nachbarn messen • 3.Gesammelte Informationen in einem Paket zusammenstellen • 4.Paket an alle anderen Router senden • 5.Weg berechnen LSR (Link State Routing) Schritt 1 -Nachbarn finden : • Senden von speziellen HALLO Paketen an alle Ausgangsleitungen des Routers • Nachbarn geben sich zu erkennen und identifizieren sich mit einem global eindeutigen Namen Schritt 2 -Entfernung zu den Nachbarn messen : • Senden von speziellen ECHO Paketen an die Nachbarn • Nachbarn antworten unmittelbar • Entfernung ergibt sich aus der Verzögerung • Evtl. Warteschlangenlänge einbeziehen LSR (Link State Routing) Schritt 3 - Link State Paket erstellen : • Enthalten Identität des Routers, einer Folgenummer, dem Alter, eine Liste mit allen Nachbarn und den entsprechenden Entfernungen • Pakete können periodisch erstellt werden aber auch nur bei bestimmten wichtigen Ereignissen (Ausfall einer Verbindung, …) Schritt 4 – Link State Paket verteilen : • Pakete werden verteilt und von den Routern gesammelt Schritt 5 -Neue Routen berechnen : • Aufbau eines Graphen des Netzes Routing-Tabelle Graphentheorie: • Graphenknoten sind Router • Graphenkanten sind physikalische Links • Länge der Kanten sind Router sind nicht protokolltransparent wie Bridges. • • • • • • • • • • TCP/IP Protokollfamilie RIP (Routing Information Protocol) -> DVA, OSPF (Open Shortest Path First) -> LSA OSI Familie CLNP (Connectionless Network Protocol), ES-IS (End System to System Intermediate) IS-IS (Protocol between Routers) ISRP (Inter Domain Routing Protocol) Übertragungsvereinbarung zwischen großen Subnetzen. Protokollfamilien SNA Netzen • APPN (Advanced Peer To Peer Networking) --> Über Router verbundene Netze müssen den gleichen Protokollstapel (z.B. OSI model) besitzen (auch gleichen globalen Namens- und Adressierungskonventionen unterliegen) Ende oder Zusatz Zusatz Routing-Protokolle für dynamisches Routing • BGP - Border Gateway Protocol • EGP - Exterior Gateway Protocol • IGP - Interior Gateway Protocol • OSPF - Open Shortest Path First • RIP - Routing Information Protocol • DRP - DECnet Routing Protocol • IGRP - Interior Gateway Routing Protocol • EIGRP - Enhanced Interior Gateway Routing Protocol BGP • Das Border Gateway Protocol ist ein Routingprotokoll. Es beschreibt, wie Router untereinander die Verfügbarkeit von Verbindungswegen zwischen den Netzen autonomer Systeme („AS“) propagieren. Autonomes System • Ein Autonomes System (AS) ist eine Ansammlung von IP-Netzen, welche als Einheit verwaltet werden und über ein gemeinsames (oder auch mehrere) internes Routing-Protokoll (IGPs) verbunden sind. Dieses Netz wiederum kann sich aus Teilnetzen zusammensetzen. Ein AS steht unter einer gemeinsamen administrativen Verwaltung, typischerweise von einem Internet Service Provider (ISP), einer internationalen Firma oder einer Universität. Autonome Systeme sind untereinander verbunden und bilden so das Internet. IS-IS • IS-IS (Intermediate System to Intermediate System Protocol) ist ein Link-State Interior Gateway Protocol (ähnlich OSPF), welches durch die ISO-Norm 10589 spezifiziert ist. Ursprünglich wurde IS-IS für die Verwendung mit dem verbindungslosen Protokoll CLNP entworfen, die Unterstützung für den Einsatz mit IP wurde durch Erweiterungen möglich. • IS-IS kennt vier Message Typen: 1. Hello (Intermediate System to Intermediate System Hello): Dient der Funktion Capability Announcement und Neighbor Discovery 2. LSP (Link State PDU (Protocol Data Unit)): Transportiert Netzwerktopologische Informationen sowie IP-, CLNP- und IPv6-Adressen 3. PSNP (Partial Sequence Number PDU): Zum Senden von Acknowledgements (ACK) sowie Anfragen an den Nachbar-Router nach vollständigen Informationen zu einer Route. Der Router weiß, wenn ihm Informationen fehlen durch CSNP-Nachrichten. 4. CSNP (Complete Sequence Number PDU): Eine CSNP enthält eine Zusammenfassung aller LSPs, die in Form der Link State Database (LSDB) auf den Router/IS gespeichert sind. In Broadcast-Netzen wird die CSNP alle 10 Sekunden vom Designated IS (DIS) gesendet. Bei P2P-Links wird diese nur einmal gesendet, sobald der Link aktiv ist. Alle Nachbar-IS erhalten auf diese Weise zusätzlich zu den LSPs Informationen über stattgefundene Änderungen. Des Weiteren ist so sichergestellt, dass alle IS über die gleichen Informationen verfügen. Bemerkt ein Router, dass die Informationen einer empfangenen CSNP von denen in seiner LSDB abweichen, so fragt dieser durch Senden einer PSNP die vollständigen Informationen zum betreffenden Eintrag an. Im Broadcast-Netz sendet ihm der DIS daraufhin per LSP die angeforderten Informationen zu. Bei der P2P-Verbindung antwortet das entsprechende Nachbar-IS. IS-IS Erstaunlicherweise erlebt IS-IS seit Mitte der 90er Jahre eine Renaissance bei amerikanischen und europäischen Netzbetreibern. Der Grund hierfür ist in der sehr minimalistischen und dadurch sehr einfach zu implementierenden Protokollarchitektur zu sehen. Darüberhinaus war die erste IS-IS-Implementierung vom Hersteller Cisco (einem der Pioniere unter den IP-Routerherstellern) wesentlich robuster als z. B. die OSPF-Implementierung, was viele Netzbetreiber bewegt hat, das IS-IS-Protokoll einzusetzen. IGP & EGP • Als Interior Gateway Protocol (IGP) werden Routingprotokolle bezeichnet, die innerhalb von Autonomen Systemen eingesetzt werden. • Im Gegensatz zu Exterior Gateway Protokollen (EGP) zeichnen sie sich durch besondere Fähigkeiten im Umgang mit komplizierten Netzwerktopologien aus. Auch Funktionen zu Traffic Engineering wie z.B. OSPF-TE sind anzutreffen. OSPF- Open Shortest Path First • OSPF ist ein dynamisches Routing-Protokoll innerhalb eines autonomen Systems. Es hat das Routing Information Protocol (RIP) als Standard-Interior Gateway Protocol (IGP) abgelöst, insbesondere bei großen Netzen. OSPF verwendet die Kosten eines Pfades als Metrik und kann bei gleichen Kosten lastverteilt arbeiten. Kosten werden bei OSPF standardmäßig aus der verfügbaren Bandbreite berechnet. Zur Berechnung der Kosten wird folgende Formel verwendet: 10^8/Bandbreite. Die Kosten addieren sich für jedes ausgehende Interface eines OSPF Routers. Im Gegensatz zu RIP ist OSPF ein Link-StateProtokoll. zu RIP • Das Routing Information Protocol (RIP) ist das am weitesten verbreitete IGPProtokoll. Bei RIP schicken alle Router ihre Routingtabellen als Broadcast an ihre Nachbarn. Dabei geben sie die Entfernung zu anderen Netzen oder Routern aus der Sicht der eigenen Tabelle an. Beim RIP ist der entscheidende Parameter für eine Wegwahl der so genannte Hop. Auf Basis der von anderen Komponenten empfangenen Pakete berechnen sie mithilfe einer Metrik die kürzesten Entfernungen zu anderen Netzen beziehungsweise Knoten. Diese Vorgehensweise ist auch als Distance Vector Algorithmus (DVA) bekannt. Außerdem benennen sie den Nachbarrouter, der diese Entfernung bekannt gegeben hat, als Zielrouter zur Weiterleitung. Ändern sich die Parameter, zum Beispiel weil ein Nachbar ausfällt oder eine Verbindung unterbrochen ist, erneuern die Geräte ihre Tabellen selbstständig. Auch Verzögerung oder Bandbreite sind als Metrik-Parameter möglich, jedoch in der Praxis kaum vorzufinden. Das Protokoll gibt es in zwei Versionen: RIP 1 versendet Routinginformationen als Broadcast, RIP 2 unterstützt Multicast-Übertragungen. Zusätzlich zur Benennung dedizierter Ziele lässt sich mit dem Protokoll eine DefaultRoute festlegen. So kann ein Unternehmen RIP dazu verwenden, um auf den DefaultRouten den Verkehr zum Provider zu transportieren. RIP nützt für alle Nachrichtenübertragungen UDP (User Datagram Protocol). ATM u Zeitmultiplexing • Asynchronous Transfer Mode (ATM) ist eine Technik der Datenübertragung, bei der der Datenverkehr in kleine Pakete (auch Zellen oder Slots genannt) mit fester Länge codiert und über asynchrones • Zeitmultiplexing(In Zeitmultiplex-Systemen wird die Bandbreite auf dem Übertragungsmedium zeitlich eingeteilt. In so genannten Kanälen bekommen die Datenströme eine bestimmte Zeit eine bestimmte Bandbreite zur Verfügung) Multiplexer/ Demultiplexer • Bei leitungsgebundener Übertragung werden die Signale aus mehreren Quellen durch einen so genannten Multiplexer gebündelt und gemeinsam über einen statt über mehrere parallele Wege übertragen. Der Demultiplexer entbündelt die Signale dann wieder. Ziel hierbei ist es, die Kosten für die Übertragungsstrecke möglichst niedrig zu halten. Die Funktechnik eignet sich besonders, um mehrere Teilnehmer, die meist auch räumlich verteilt sind, gleichzeitig mit einer zentralen Funkstation verbinden zu können. Beim Richtfunk gibt es ebenfalls Multiplextechniken. Hier wird das Medium Luft gemeinsam für eine Vielzahl von Datenströmen benutzt. Quellen • http://www.wirtschaftslexikon24.net/d/dijkstra -algorithmus/dijkstra-algorithmus.htm • http://de.wikipedia.org/wiki/Algorithmus_von _Ford_und_Fulkerson • Friedrich Tabellenbuch: Informations- und Kommunikationstechnik, Prof. Dr. Antonius Lipsmeier, 10.Aufl. • Tabellenbuch Komputertechnik, Dr.-Ing. Gregor Häberle,