Rechnernetze
Home Nach oben Dijkstras Algorithmus

Feste Wegetabellen

Bei diesem Verfahren werden vor der Inbetriebnahme eines Netzes die optimalen Wege in festen Wegetabellen abgelegt. Dazu muss die Topologie sowie eine Gewichtung der Verbindungsleitungen gegeben sein; außerdem sollte die mittlere zu erwartende Belastung bekannt sein, um zu verhindern, dass einzelne Leitungen überlastet werden. Als Optimalitätskriterien können hier die Länge des Verbindungsweges oder die Kosten der Nutzung der Verbindungsleitung einfließen.

Die grundlegende Idee zur Berechnung des optimalen Weges besteht darin, einen Graphen des Netzes zu erstellen, in welchem die Knoten die IMPs, und die Kanten zwischen den Knoten die Leitungen repräsentieren. Zur Berechnung der Wegetabellen wird dann nach einem der genannten Bewertungskriterium der optimale Weg zwischen jeder Quelle und jeder Senke bestimmt.

BEISPIELTOPOLOGIE.WMF (4556 Byte)

Zur Demonstration dieses Verfahrens wird für das im Bild dargestellte Netz mit 8 Knoten beispielhaft die Erstellung einer Wegetabelle vorgeführt.

Sei Dqs(w) die Zielfunktion bei der Wahl des Wegs w zwischen den Knoten q und s. Für alle möglichen Wegen w zwischen einer Quelle q und einer Senke s gibt es einen oder mehrere optimale Wege, so dass für deren Bewertungskriterium gilt

Mit Hilfe dieser Wege kann dann ein Quelle-Senken-Baum definiert werden, der alle optimalen Wege von einer festen Quelle zu allen anderen Senken beschreibt.

Als Bewertungskriterium für den optimalen Weg soll in diesem Beispiel die Distanz zwischen zwei Knoten verwendet werden, wobei die Distanz benachbarter Knoten im Netz den Wert 1 erhalten soll. Damit erhalten wir für den Quellknoten 5 die folgenden optimalen Wege W5iopt.

Unter dem Quelle-Senken-Baum für einen Quellknoten q verstehen wir den Baum, der nur noch optimale Wege für q umfasst. Für unser Beispiel erhalten wir als Quelle-Senken-Baum für den Quellknoten 5

QUELLE-SENKEN-BAUM.WMF (4524 Byte)

Aus dem Quelle-Senken-Baum lässt sich unmittelbar erkennen, dass jeder Teilweg eines optimalen Weges gleichfalls ein optimaler Weg ist. Führt ein optimaler Weg Wijopt über zwei Knoten r und s: {r,s}⊂Wijopt, so ist der optimale Weg zwischen r und s der Teilweg von Wijopt,der von r nach s führt.

Aus dieser Überlegung ergibt sich, dass der weitere Weg eines Pakets unabhängig von seinem Ursprung ist. Ein Paket in Knoten r, welches nach Knoten j soll, wird zwischen r und j über den gleichen Pfad weitergereicht wie ein Paket, welches von i nach j soll (und über r geführt werden muss). Daher braucht jeder Knoten für die Wegfindung nur das Ziel eines Pakets zu kennen, nicht jedoch die Quelle. Das vereinfacht die Speicherung der Routinginformation, sowie die Auswahl der Ausgangsleitung. Systeme, deren Verhalten nicht von der Vorgeschichte abhängt, werden auch als Markov-Systeme bezeichnet. Im folgenden soll die Wegetabelle für das oben gezeigte Netz angegeben werden, indem für jeden Knoten (wie zuvor für den Knoten 5) ein Quelle-Senken-Baum angegeben wird. Die Tabelle der opimalen Wege besitzt folgende Einträge:

s/q

1

2

3

4

5

6

7

8

1

- 2,1 3,2,1 4,5,2,1 5,2,1 6,8,2,1 7,8,2,1 8,2,1

2

1,2 - 3,2 4,5,2 5,2 6,8,2 7,8,2 8,2

3

1,2,3 2,3 - 4,3 5,2,3 6,8,2,3 7,8,2,3 8,2,3

4

1,2,3,4 2,3,4 3,4 - 5,4 6,5,4 7,6,5,4 8,2,3,4

5

1,2,5 2,5 3,2,5 4,5 - 6,5 7,6,5 8,6,5

6

1,2,8,6 2,5,6 3,4,5,6 4,5,6 5,6 - 7,6 8,6

7

1,2,8,7 2,8,7 3,2,8,7 4,5,6,7 5,6,7 6,7 - 8,7

8

1,2,8 2,8 3,2,8 4,5,6,8 5,6,8 6,8 7,8 -

Aufgrund der vorher gezeigten Markov-Eigenschaft muss nur in jedem Knoten i die entsprechende Spalte der Wegfindungstabelle gespeichert werden. Dieser Wegefindungsvektor besitzt den Eintrag für den nächsten Knoten, auf dem das Paket oder Datagramm auf dem Weg zur Senke (Zielknoten) weiterzuleiten ist. Der Wegefindungsvektor für den Knoten 3 besitzt dann folgende Einträge:

q/s 1 2 3 4 5 6 7 8
3 2 2 - 4 2 4 2 2

Bisher gingen wir davon aus, dass der optimale Weg zwischen zwei Knoten unmittelbar bestimmt werden kann. Dieses ist jedoch nicht der Fall, wenn die Anzahl der zu verbindenden Knoten im Rechnernetz sehr groß ist und die Gewichtung der Kanten sehr unterschiedlich. Aus diesem Grund wurden Algorithmen entwickelt, mit denen die optimalen Wege eines Graphen mit einer gegebenen Anzahl von Knoten und festgelegter Bewertung der Kanten effizient ermittelt werden können. Diese Verfahren werden allgemein als 'Shortest Path Algorithms' bezeichnet. Eines der bekanntesten Verfahren ist der Algorithmus von Dijkstra.

Um eine gleichmäßige Auslastung der Verbindungsleitungen zu gewährleisten, kann das Verfahren der festen Wegetabellen so modifiziert werden, dass der Verkehr zwischen einer Quelle und einer Senke nicht nur über einen einzigen Verbindungsweg geführt wird, sondern dass mehrere Alternativen bereitstehen. Diese Technik, die zwischen zwei Knoten mehr als einen Verbindungsweg vorsieht, wird Mehrfach-Leitwegbestimmung (multipath routing, bifurcated routing) genannt. Zur Durchführung des Verfahrens wird die Wegetabelle um zusätzliche Spalten, in denen die alternativen Wege angegeben sind, erweitert. Die Auswahl der einzelnen Alternativen erfolgt dann in der Regel zufallsgesteuert, wodurch zugleich Prioritäten für einzelne Wege festgelegt werden können.

Die Entscheidung über die Weiterleitung des Pakets oder eines Datagramms verläuft folgendermaßen: Im ersten Schritt wird aus der entsprechenden Zeile der Wegetabelle, die durch den Zielknoten bestimmt werden kann, der Vektor für die alternativen Wege gesucht. Danach erfolgt die Berechnung einer Zufallszahl z zwischen 0 und 1, mit der die entsprechende Ausgangsleitung bestimmt werden kann (z.B. Ausgangleitung 1 für 0 = z < 0,3; Ausgangsleitung 2 für 0,3 = z < 0,7 und Ausgangsleitung 3 für 0,7 = z < 1); durch diese Gewichtung der Ausgangsleitungen können die Topologie, die unterschiedliche Leistungsfähigkeit der einzelnen Verbindungsleitungen und andere Netzparameter berücksichtigt werden.

Ein weiterer Vorteil der Mehrfach-Leitwegbestimmung besteht darin, dass unterschiedliche Arten des Datenverkehrs (Terminalsitzungen, Dateitransfer) auf verschiedenen Verbindungsleitungen, die für die jeweils benötigte Verbindungsart besonders geeignet sind, übertragen werden können. In diesem Fall wird die jeweilige Ausgangsleitung dann nicht mittels einer Zufallszahl, sondern aufgrund der Art des Datenverkehrs bestimmt. Darüber hinaus kann die Verfügbarkeit des Netzwerks erhöht werden, da bei Ausfall einer Verbindungsleitung oder eines Knotens auf eine andere Verbindung ausgewichen werden kann. Voraussetzung dafür ist allerdings die Unabhängigkeit der Verbindungswege.

Bei den bisher beschriebenen Methoden werden die Tabellen bzw. Vektoren in den einzelnen Knoten gespeichert. Ein anderes Verfahren sieht vor, die gesamte Information zur Wegewahl zentral in einem Knoten abzulegen, wodurch die aufgeführten Vorteile der festen Wegetabellen erhalten bleiben jedoch einige Nachteile vermieden werden können. Ein wesentlicher Nachteil der festen Wegetabellen – ihre in der Regel recht unflexible Reaktion auf Topologieveränderungen – kann damit deutlich verbessert werden, da die gesamte Information in einem zentralen Knoten gespeichert werden kann und somit bei einer Neuberechnung nach Ausfall eines Knotens keine Inkonsistenzen entstehen, die bei der Verteilung und dem Wechsel zu den neuen Routingtabellen auftreten könnten. Allerdings erhält man den bereits in früher angesprochenen Nachteil, dass vor jeder Übertragung der zentrale Knoten befragt werden muss, wodurch u.U. eine zusätzliche starke Netzbelastung entstehen kann. Darüber hinaus ist bei einem Ausfall des zentralen Knotens die gesamte Routinginformation verloren, so dass im Netz keine Datenübertragung mehr stattfinden kann.