Navigation überspringen

Routing

Routing - Wie finden die Datenpakete zum Ziel?

Die Datenpakete, die durch das Internet geschickt werden, haben alle eine Absender-IP-Adresse und eine Ziel-IP-Adresse. Die Router müssen dafür sorgen, dass die Datenpakete auf den richtigen Wegen zum Ziel gelangen. Diese Wege können sich ständig ändern, weil Leitungen überlastet oder ausgefallen sind. Selbst wenn ein Datenpaket den Weg links gewählt hat, dann muss das nächste Paket nicht den gleichen Weg wählen. Mit anderen Worten: Die Gesamtinformation ist möglicherweise auf völlig verschiedenen Wegen ans Ziel gelangt!

Dafür haben die Router sogenannte Routing-Tabellen (Weiterleitungstabellen), in denen sie Buch darüber führen, welche Zieladressen auf welchen Wegen erreicht werden. Diese Routingtabellen handeln die Router mit Hilfe eines Routingalgorithmus ständig untereinander neu aus.

Die Zustellung eines Datenpakets kann über eine Vielzahl von Routern gehen. Jeder Schritt von einem Router zum nächsten wird als „Hop“ bezeichnet. Man kann diesen Weg der Daten durch das Internet über verschiedene Router mit dem TraceRoute-Befehl auch nachverfolgen.

 

Routing-Tabellen

Die Routing-Tabelle eines Routers ist eine Liste mit IP-Bereichen, die der Router für jedes Datenpaket von oben nach unten durchgeht. Sobald er ein passenden IP-Bereich in der Liste gefunden hat, schaut er nach, ob er das Paket direkt zustellen kann oder an welchen Router er es weiterschicken muss.

Schaller. Routingtabelle in Filius (CC BY-NC-SA)

Ein Datenpaket mit Zieladresse 192.168.0.17 würde der Router als passend zum IP-Bereich der 2. Zeile identifizieren und über seine Schnittstelle (=Netzwerkkarte) 192.168.0.10 weiterschicken. Er erkennt an daran, dass das nächste Gateway die gleiche Adresse ist, dass das Paket in sein lokales Netzwerk geht und nicht an einen anderen Router weitergereicht werden muss.

Ein Datenpaket mit Zieladresse 10.210.34.23 würde er über seine Netzwerkkarte 10.200.1.1 an den Router 10.200.1.2 weitergeben, der sich um die weitere Zustellung kümmert.

Die Zeile 0.0.0.0 / 0.0.0.0 dient dazu, dass alle Datenpakete, die zu keinem anderen IP-Bereich gepasst haben, an den Router 192.168.0.1 weitergegeben werden (Standardgateway). 

Erklärvideo auf Youtube von Tom Niclas Schreiber
Aufgrund der DSGVO ist es leider nicht zulässig, das Video hier direkt anzuzeigen. Sie werden durch den Link auf Youtube weitergeleitet. Dort werden über Cookies personenbezogene Daten erfasst.
Tom Niclas Schreiber. Routing, Routingprotokolle und Routingtabellen

Trace Route

Mit diesem Tool bekommt man Informationen über die Netzwerkverbindung zwischen der lokalen Station und der entfernten Station. Mit Trace Route wird eine Routenverfolgung vorgenommen und sichtbar gemacht.

Trace Route steht auf der Kommandozeile/Konsole als Befehl traceroute unter Unix/Linux und tracert unter Windows zu Verfügung. Die entfernte Station kann unter der IP-Adresse oder dem Domain-Namen angesprochen werden.

geotraceroute.com. Visuelles Traceroute





tracert nic1.belwue.de

liefert z.B.:

Routenverfolgung zu nic1.belwue.de [129.143.2.9] über maximal 30 Abschnitte:

1  63 ms 46 ms 63 ms 217.5.98.84
2  46 ms 63 ms 47 ms 217.237.154.110
3  63 ms 62 ms 63 ms ulm-ea1.ULM.DE.net.DTAG.DE [62.154.58.154]
4  62 ms 63 ms 47 ms ulm-eb1.ULM.DE.net.DTAG.DE [62.154.58.106]
5  63 ms 62 ms 63 ms Ulm2.BelWue.de [129.143.87.17]
6  62 ms 47 ms 62 ms Ulm1.BelWue.de [129.143.87.37]
7  63 ms 62 ms 63 ms Stuttgart1.BelWue.DE [129.143.1.17]
8  62 ms 63 ms 62 ms Stuttgart5.BelWue.DE [129.143.98.38]
9  62 ms 63 ms 62 ms nic1.belwue.de [129.143.2.9]

Ablaufverfolgung beendet.

Man erhält also Informationen über die Qualität der Leitungen (Antwortzeiten in Millisekunden) und über die IP-Adressen der Router. Da die Router oft auch mit Adressangaben registriert sind, kann auch der Weg auf einer Weltkarte verfolgt werden. Dazu gibt es Tools wie GeoTraceroute.

Um die riesigen Datenmengen zu bewältigen, baut man einige wenige „Daten-Autobahnen“ (Glasfaser). Heute liegen die meisten europäischen Routen im Dreieck zwischen den Internet-Hauptstätten London-Paris-Frankfurt. Dies macht es allerdings leicht möglich, einen großen Teil des Datenverkehrs im Internet durch Überwachung dieser zentralen Knoten zu kontrollieren.

Automatisches Routing (Distanz-Vektor-Verfahren)

Jeder Router kennt zunächst nur die Distanz zu seinen unmittelbaren Nachbarn. Die Distanz kann dabei sein:

  • die Paketverzögerung (ping-Zeit) beim Transport (beim Protokoll Hello)
  • die Anzahl der Hops (beim Protokoll RIP – Routing Information Protocol). Die Anzahl Hops gibt an, wie viele Router sich zwischen Ursprungs- und Zielrechner befinden.

Wir wählen bei unseren weiteren Überlegungen die Verzögerung als Maß für die Distanz. Jeder Router misst nun regelmäßig die Zeit, die ein Paket braucht, um zu seinen Nachbarn und zurück zu gelangen. Diese Zeiten hält er in seiner Routingtabelle fest.

In regelmäßigen Abständen tauschen die Nachbarrouter ihre Routingtabellen aus (im ARPAnet waren es 625ms), in denen steht, in welcher Zeit welches Ziel erreicht werden kann. Aus den erhaltenen Tabellen wird eine neue Routingtabelle mit weiteren Zielen und angepassten Werten für den Zeitbedarf berechnet.

Schaller (CC BY-NC-SA)

Geht man von dem rechts abgebildeten Netzwerk mit vier Routern (A-D) aus, kennt beispielsweise A alle drei anderen Router und weiß, dass er B in 2ms, C in 4ms und D in 5ms erreicht. Von der schnelleren Verbindung zu C über B weiß er nichts. Seine Routingtabelle sieht so aus:

Routingtabelle A Routingtabelle B
nach über Zeit nach über Zeit
B - 2 ms A - 2 ms
C - 4 ms C - 1 ms
D - 5 ms

Nun schickt B seine Routingtabelle an A und A passt seine Routingtabelle an. Da die Verbindung von A nach B 2ms  braucht, und in der Routingtabelle von B ein Zeitbedarf von 1ms nach C steht, dauert die Verbindung von A nach C über B nur 3 ms. A passt seine Tabelle an und merkt sich, dass Pakete nach C über B geschickt werden müssen.

Umgekehrt schickt A seine Tabelle an B. B findet ein neues Ziel D, das bisher noch nicht in seiner Routingtabelle war und trägt dieses nach. Die Routingtabellen sehen dann so aus.

Routingtabelle A Routingtabelle B
nach über Zeit nach über Zeit
B - 2 ms A - 2 ms
C B 3 ms C - 1 ms
D - 5 ms D A 7 ms

Wird dieses Vorgehen mehrfach wiederholt, stellt sich irgendwann ein stabiler Zustand mit den kürzesten Routen ein. 

Das folgende Applet veranschaulicht dieses Verfahren. Klicke auf die Router, um die Router zu initialisieren bzw. die Weiterleitungstabelle eines Routers an seine Nachbarn weiterzugeben.

Interaktive Übung zum Distanzvektorverfahren
Greenfoot-Projekt von Thomas Schaller

Aufgrund der DSGVO ist es leider nicht zulässig, die Übung hier direkt anzuzeigen. Sie werden durch den Link auf scratch.mit.edu weitergeleitet. Dort werden über Cookies personenbezogene Daten erfasst.
Schaller. Distanzvektor-Verfahren (CC BY-NC-SA)

Bemerkung: Der hier dargestellte Routing-Algorithmus kommt nicht damit zurecht, wenn Leitung ausfallen oder sich der Zeitbedarf einer Leitung erhöht. Dafür müsste man für jeden benachbarten Router den Zeitbedarf zu den Zielen dauerhaft speichern und nicht nur die jeweils schnellst Verbindung. Nach jeder Änderung eines Eintrags wird dann zusätzlich die momentan schnellste Verbindung ermittelt.