Routing Router þ Router sind der Schicht 3 (Vermittlungsschicht) des OSI-Modells zuzuordnen und verbinden lokale Subnetze zu einem Netzwerk Dies wird empfohlen bei: unterschiedlichen Medien und Zugriffsverfahren, zu viele angeschlossene Rechner, verschiedene Standorte. Netzwerke zu Internetzwerken. þ Routing bedeutet Wegsuche und Transport von Paketen zwischen einem Quellsystem und einem Zielsystem, wobei sich Quelle und Ziel in unterschiedlichen Netzwerken befinden können. © Prof. Dr.-Ing. Georges Awad 1 Endsystem DTE . . . Routing-Algorithmen Endsystem DTE End-zu-End-Beziehung DCE DCE 3 . . . 3 Paket 2 2 2 2 Rahmen 1 1 1 1 Bit ein ÜbertragungsAbschnitt © Prof. Dr.-Ing. Georges Awad 2 Routing þ Routing kann erfolgen: durch Rechner, die Zugriff auf mehr als ein Netz haben (multihomed hosts), oder durch spezielle (dedizierte) Router bzw. Gateways. þ Router benötigen Routinginformationen. Diese können statisch oder dynamisch in Tabellen bereitgestellt werden. þ Brouter: Unter diesem Kunstwort (Bridge und Router) verbirgt sich ein Kopplungselement, das Datenpakete durch ein Netzwerk routet soweit möglich; sobald aber ein nicht-routbares Datenpaket auf dieses Element trifft, wird dieses protokoll-transparent weitergeleitet (Brücke). © Prof. Dr.-Ing. Georges Awad 3 Routing þ Im Gegensatz zu Brücken interpretiert ein Router nur die Pakete, die direkt an ihn adressiert sind, defaultmäßig erfolgt kein Pakettransport. Nur wenn das Zielnetz bekannt ist, wird ein Paket entsprechend weitergeleitet. Broacasts werden nicht weitergeleitet. þ Routing als Funktion oder Dienst läßt sich in zwei Prozeßklassen unterteilen: y Routing im Endsystem und y Routing im Router. In der Regel sind bei der Realisierung des Routings immer beide Prozesse beteiligt. © Prof. Dr.-Ing. Georges Awad 4 Routinging þ Im Endsystem residiert ein "routbares Protokoll" (Ebene 3 Protokoll), das den Dienst der Vermittlungsschicht zur Verfügung stellt. þ In allen beteiligten Routern ist zusätzlich ein Routing-Protokoll (oder Router-Router-Protokoll) implementiert, das die Wegwahl und Wegoptimierung über verschiedene Router leistet. Es benutzt zum Pakettransport das routbare Protokoll. Das Routing-Protokoll dient dem Aufbau von Routing-Tabellen. þ Routbare-Protokolle und Routing-Protokolle sind also stets aufeinander abgestimmt. © Prof. Dr.-Ing. Georges Awad 5 Router Routbare Protokolle Routing-Protokolle Routing Endsystem (Schicht 3) OSI-Welt CLNP (Connectionless Network Protocol) ES-IS ISO 8473 (End System to Intermediate IS-IS System) (Intermediate System to Intermediate System) TCP/IP-Welt IP (Internet Protocol) RIP (Routing Information Protocol) OSPF (Open Shortest Path First) Andere IPX XNS-IDP (Inter Packet eXchange) NOVELL Netware (Xerox Network SystemsInternet Datagram Protocol) Apollo Domain Datagram HELLO EGP (Exterior Gateway Protocol) BGP (Border Gateway Protocol) Apple Talk DDP BANYAN VINES-IP © Prof. Dr.-Ing. Georges Awad 6 Routing WAN Netz 2 LAN in Frankfurt LAN in Berlin Netz 1 Netz 4 2 1 R1 3 Netzadresse 1 Stationsadresse "Hier" R2 Netz 3 Port 1 Netzadresse 4 Stationsadresse "Dort" WAN R3 Port 2 R1 Port 3 Routingtabelle von R1 Aller Verkehr nach Netz 1 via Port 1 Aller Verkehr nach Netz 2 via Port 2 Aller Verkehr nach Netz 3 via Port 3 Aller Verkehr nach Netz 4 zu R2 via Port 2 (Optimierungskriterium: z.B. Kosten) oder zu R3 via Port 3 (Optimierungskriterium: z.B. Geschwindigkeit) © Prof. Dr.-Ing. Georges Awad 7 Routing Generelle Forderungen an Routing Protokollen: • • • • Ein Router soll verschiedene Arten von Kosten (Metrik) für die Routenwahl unterstützen, wie Entfernung, Kosten, Durchsatz, Verzögerung oder Sicherheit einer Verbindung. Wenn es mehrere Routen zur Auswahl stehen, sollen diese Routen gleichmäßig benutzt werden können, um die Last auf verschiedene Routen zu verteilen (Load Balancing). Routenänderungen sollen möglichst schnell an alle betroffenen Router bekannt gegeben werden. Netzlast, die durch die Kommunikation zwischen den Routern entsteht, möglichst gering halten. Diese Forderungen werden von den Routing Protokollen auf unterschiedliche Weise erfüllt. © Prof. Dr.-Ing. Georges Awad 8 Routing Wichtige Routing Protokolle: Routing Information Protokoll (RIP), Open Shortest Path First (OSPF) und Border Gateway Protocol (BGP). RIP wurde hauptsächlich in den Anfängen des Internets benutzt. Heute wird neben OSPF ein weiteres Protokoll eingesetzt (IS-IS), das ähnliche Funktionen wie OSPF aufweist. Es ist nicht möglich, dass alle Router im Internet ihre Informationen miteinander austauschen – es würde viel zu lange dauern alle Routenänderungen bei der großen Menge der Router zu verteilen. Es werden daher Regionen definiert, die getrennt voneinander administriert werden und innnerhalb derer die Routen optimiert werden. Zwischen diesen Regionen, die autonome Systeme (AS) genannt werden, wird die Kommunikation mit speziell dafür entwickelten Routing-Protokollen durchgeführt; hier kommt heute hauptsächlich das Border Gateway Protocol (BGP) zum Einsatz. © Prof. Dr.-Ing. Georges Awad 9 Routing Statisches und Dynamisches Routing Statisches Routing • kann keine Knoten- oder Leitungsausfälle behandeln, • kann keine neuen Leitungen oder Geräte berücksichtigen, • kann die Kosten einer Strecke nur einmalig festgelegen. Dynamisches Routing • bestimmt automatisch den besten Weg - den kürzesten Pfad - aus mehreren Alternativen, • kann sich an veränderte Bedingungen - wie neue oder ausgefallene Strecken anpassen, • kann häufig die Last auf mehrere Routen verteilen, • erreicht Kostenersparnis durch weniger Administrationsaufwand. © Prof. Dr.-Ing. Georges Awad 10 Routing-Algorithmen A E G DTE1 DTE2 B H D C F Teilstrecke Knoten © Prof. Dr.-Ing. Georges Awad 11 Routing-Algorithmen A E G DTE1 DTE2 B H D C F Teilstrecke Knoten Ziel 1.Wahl über 2.Wahl über 3.Wahl über A A(0,59) C(0,20) G(0,20) C C(0,73) A(0,21) G(0,05) . . . . . . . . A(0,25) C(0,05) . . H . © Prof. Dr.-Ing. Georges Awad G(0,69) . 12 Routing-Algorithmen Routing-Algorithmen nicht adaptive Algorithmen adaptive Algorithmen Wegewahl unabhängig vom aktuellen Netzgeschehen zentralisierte Zustand im Gesamtnetz wird berücksichtigt © Prof. Dr.-Ing. Georges Awad Wegewahl abhängig vom aktuellen Netzgeschehen isolierte Zustand im lokalen System wird berücksichtigt verteilte Mischung aus isolierten und zentralisierten Verfahren 13 Die Vermittlungsschicht (Network Layer) Die Hauptaufgabe der Vermittlungsschicht ist Pakete vom Ursprung zum Ziel, über beliebige, untereinander verbundene Datenleitungen und Netze zu bringen, und ist damit die unterste Schicht, die sich mit der Ende-zu-Ende-Übertragung befaßt. Zur Bewältigung dieser Aufgabe muß die Vermittlungsschicht über den inneren Aufbau der einzelnen Netze Bescheid wissen und geeignete Pfade durch das oder die Subnets wählen. Mit dieser Wahl, die sehr sorgfältig durchgeführt werden muß, um zu vermeiden, daß einige Verbindungen überlastet werden, während andere ungenutzt bleiben, wollen wir uns im nächsten Kapitel beschäftigen. Leitwegbestimmung (Routing) Routing ist eine Ansammlung von Algorithmen, die verwendet wird, um bei Punkt-zu-PunktNetzwerken, bei denen zwischen je zwei angeschlossenen Systemen eine Vielzahl von potentiellen Wegen existieren können, den "optimalen" Weg zu bestimmen, entlang dem Nachrichten zwischen Sender und Empfänger ausgetauscht werden. Bei einem BroadcastNetzwerk z.B. einem Ring- oder Bus-LAN, wo nur ein einziger Pfad für die gesamte Kommunikation zur Verfügung steht, ist kein Routing erforderlich. Da der "optimale" Weg recht unterschiedliche Eigenschaften aufweisen kann (z.B. bezüglich Übertragungsdauer, Kommunikationskosten, Überlastungswahrscheinlichkeit, Störanfälligkeit, etc.) wurden zu diesem Zweck eine Vielzahl von Algorithmen vorgeschlagen, die in der Regel heuristisch arbeiten, also nicht unbedingt optimale Ergebnisse liefern. Diese Algorithmen können in zwei Hauptgruppen aufgeteilt werden: adaptive und nichtadaptive Routing-Algorithmen, von denen wir einige ausgesuchte Verfahren hier kurz darstellen wollen. Hinweis: Routing-Algorithmen sind grundsätzlich auf Datagramm-Subnets und Subnets mit virtuellen Verbindungen anwendbar, wobei die Wegewahl-Entscheidung bei den DatagrammSubnets für jedes einzelne Paket und den Subnets mit virtuellen Verbindungen für die gesamte Verbindung erfolgt. Nichtadaptive Algorithmen (static routing) gründen ihre Wegewahl-Entscheidung unabhängig vom aktuellen Netzgeschehen. Jeder Netzknoten besitzt eine Tabelle aller potentiellen Ziele mit gewichteten Wegen. Die Wege werden unter Berücksichtigung der Gewichtungen ausgewählt. Diese Tabelle wird nicht dynamisch angepaßt, so daß Überlastungen und Ausfälle nicht berücksichtigt werden können. So führt z.B. der Ausfall eines Abschnitts bei dieser Art der © Prof. Dr. Georges Awad Wegewahl dazu, daß alle Systeme nicht mehr erreicht werden können, deren Route über den defekten Abschnitt läuft. Lassen Sie uns anhand eines sehr vereinfachten Beispiels diese Methode erläutern: Beispiel: Betrachten Sie das Subnet von Abbildung 1. Wir wollen in unserem Beispiel den schnellsten Weg zwischen DTE1 und DTE2 festlegen (optimaler Weg ‘ kürzeste Übertragungsdauer). Dazu lassen wir ein Testpaket alle möglichen Wege zwischen beiden DTEs laufen und tragen die erhaltenen Übertragungszeiten in die verschiedenen Tabellen der Knoten ein. Jeder Knoten hat seine eigene Tabelle. A E G DTE1 DTE2 B H D C F Teilstrecke Knoten Abbildung 1: Ein Beispiel-Subnet Abbildung 2 zeigt einen Ausschnitt aus der Tabelle in Knoten B. Wenn B ein Paket mit dem Ziel H empfängt, wird die Zeile mit der Beschriftung H benutzt. Wir entnehmen der Tabelle, daß die schnellste Strecke von B nach H über G, die zweitschnellste über A und die drittschnellste über C geht. Um jedoch zu vermeiden, daß die einzelnen Kommunikationsleitungen stark belastet werden, was zur Senkung der gesamten Netzleistung führen kann, wird der Datenverkehr auf mehrere Pfade verteilt. Dies wird durch die Gewichtung der verschiedenen Wahlmöglichkeiten erreicht. In unserem Beispiel hat G die Wichtung 0,69, A 0,25 und C 0,05. Nun erzeugt B eine Zufallsziffer zwischen 0,00 und 0,99 und entscheidet entsprechend des Ergebnisses über welche Strecke das Paket weitergeleitet wird. In unserem Beispiel: von 0,00 bis 0,69 über G, zwischen 0,70 und 0,94 über A und zwischen 0,95 und 0,99 über C. © Prof. Dr. Georges Awad Ziel 1.Wahl über 2.Wahl über 3.Wahl über A A(0,59) C(0,20) G(0,20) C C(0,73) A(0,21) G(0,05) . . . . . . . . A(0,25) C(0,05) . . H . G(0,69) . Abbildung 2: Routingtabelle für Knoten B Sie haben sicher festgestellt, daß das von uns für einen optimalen Weg gewählte Kriterium (Übertragungsdauer) nicht immer gewährleistet werden kann. Vor allem nicht, wenn die oben ausgearbeiteten Tabellen einmalig festgelegt, und vor dem Hochfahren des Netzes in die Knoten geladen werden. Denn die Übertragungsdauer eines Pakets ist nicht nur von der geographischen Länge einer Strecke abhängig, sondern z.B. auch von der Verkehrsdichte (Stau), der Störanfälligkeit oder der Bandbreite des Übertragungsmediums. Dafür sind andere RoutingAlgorithmen notwendig, die das aktuelle Geschehen auf einer Strecke bzw. im gesamten Netz beobachten und die Tabellen in den Knoten entsprechend mit den neuesten Informationen versorgen. Diese nennt man adaptive Routing-Algorithmen. Adaptive Algorithmen treffen ihre Wegewahl-Entscheidung in Abhängigkeit vom aktuellen Netzgeschehen, d.h. abhängig von der Änderungen des momentanen Datenverkehrs und der Topologie (eine veränderte Topologie kann z.B. durch den Ausfall von Verbindungsleitungen und Netzknoten verursacht werden). Es gibt drei unterschiedliche Familien von adaptiven Algorithmen, die unterschiedliche Informationen verarbeiten. Die globalen Algorithmen (auch zentralisierte Algorithmen genannt) benutzen Informationen, die aus dem ganzen Subnet zusammengetragen wurden und versuchen so, optimale Entscheidungen zu fällen. Die lokalen Algorithmen (isolierte Algorithmen) laufen separat auf jedem Netzknoten und nutzen lediglich dort vorhandene Informationen, z.B. Länge der Warteschlagen. Die dritte Klasse von Algorithmen benutzt eine Mischung globaler und lokaler Informationen. Diese werden verteilte Algorithmen genannt. © Prof. Dr. Georges Awad Routing-Algorithmen nicht adaptive Algorithmen adaptive Algorithmen Wegewahl unabhängig vom aktuellen Netzgeschehen Wegewahl abhängig vom aktuellen Netzgeschehen zentralisierte Zustand im Gesamtnetz wird berücksichtigt isolierte Zustand im lokalen System wird berücksichtigt verteilte Mischung aus isolierten und zentralisierten Verfahren Abbildung 3: Routing-Algorithmen Zentralisierte Algorithmen Jeder Knoten sendet seinen aktuellen Zustand (Belastungen, bekannte Ausfälle) periodisch an eine Zentrale. Die Zentrale erteilt daraus eine geeignete Wegewahl-strategie und übermittelt diese allen beteiligten Knoten. Allerdings kosten diese Übertragungen Zeit und Übermittlungskapazität. Außerdem erhalten die Knoten, die sich in der unmittelbaren Nähe dieser Zentrale befinden, die neuberechneten Leitwege früher als die Knoten, die weiter entfernt sind, was zu unterschiedlichen Wegewahl-Entscheidungen führen kann. Das ernstere Problem, das wir bereits auch bei anderen zentralgesteuerten Systemen kennen, ist der Ausfall der Zentrale, das hier auch zu Problemen im ganzen Subnet führen kann. Isolierte Algorithmen Jeder Knoten versucht, selbst Informationen zu sammeln, um eine "optimale" Entscheidung treffen zu können. Es gibt hier mehrere Ansätze, z.B.: y Hot Potato: Ein Paket wird immer in die kürzeste der potentiellen Ausgabewarteschlagen eingereiht, in der Hoffnung, daß auf diesem Weg noch keine Überlastungssituation vorliegt. y Backward Learning: Jedes Paket enthält die Angabe seiner Quelle und die Anzahl der inzwischen zurückgelegten Teilstrecken. Durch die "Befragung" eines Pakets über seine © Prof. Dr. Georges Awad zurückgelegte Strecke, lassen sich u.U. Informationen über mögliche (bessere?) Wege gewinnen. So kann man z.B. erkennen, ob ein Knoten nach einem Ausfall wieder aktiv ist. y Flooding: Bei dieser Wegewahlstrategie wird ein Punkt-zu-Punkt-Netz wie ein Broadcast-Netz verwendet, indem das zu sendende Paket auf allen Ausgabekanälen weitergesendet wird. Obwohl dieses Verfahren, das eine extreme Form der isolierten RoutingAlgorithmen darstellt und eher zu den statischen Verfahren zählt, sehr verschwenderisch mit Netz-Betriebsmitteln umgeht, ist es recht einfach und sicher und daher brauchbar für die Übermittlung von allgemeinen und sehr wichtigen Informationen (z.B. für die Wegewahlinformationen von der Zentrale an alle anderen Knoten bei den zentralisierten Algorithmen). In unserem Beispiel-Subnet von Abbildung 1 bedeutet Fluten, daß ein Paket, das bei B ankommt mit dem Zielknoten A, nach A, C und G gesendet wird. Um nun zu verhindern, daß Schleifen entstehen (d.h. daß das Paket einmal bei G angekommen wieder nach E, F und H geflutet wird und irgendwann wieder bei B landet, von wo aus dieses Paket eigentlich gestartet ist), oder daß ein Paket für immer im Netz herrumschwirrt, können folgende Maßnahmen getroffen werden: Zeitbeschränkungen: Ein Paket hat eine Lebensdauer von t Sekunden. Ò Teilstreckenzähler (Hop couter): Ein Paket hat nur eine Lebensdauer von n Teilstrecken. Danach wird es verworfen. 8 Paketbezeichner: Mit Hilfe von Paketbezeichnern können Pakete erkannt werden, die diesen Knoten schon einmal durchlaufen haben (wichtig für Schleifen).Die Güte dieser Maßnahmen hängt entscheidend von der Wahl von 't' bzw. 'n' ab. Werden sie zu groß gewählt, werden viele Pakete unnötig versendet. Wählt man sie dagegen zu klein, werden einige Stationen diese Pakete möglicherweise gar nicht empfangen. Verteilte Algorithmen Zwischen je zwei Nachbarknoten werden von Zeit zu Zeit explizit Informationen über beste Wege, Ausfälle, etc. ausgetauscht, was natürlich auch Übermittlungskapazität kostet. Die oben vorgestellten Verfahren zur Wegewahl sind bis zu einem gewissen Grade akademisch. In realen Netzen benutzt man sehr häufig Mischformen. Wie Sie bestimmt gemerkt haben, könnte man das Routing-Problem mit der Verkehrsproblematik in einer Großstadt vergleichen, wenn man die Fahrzeuge als Pakete betrachtet. Überlegen Sie sich ein Algorithmus, mit dessen Hilfe Sie, unter Berücksichtigung verschiedener Kriterien wie Entfernungen, Staus etc, zügig zu einem Ziel vorankommen, ohne in endlose Diskussionen über die völlige Abschaffung von Autos in Großstädten zu verfallen. © Prof. Dr. Georges Awad