Login

Routing verstehen: Wie Pakete ihren Weg durch Netze finden

Mario ·

Ein Rechner in der Filiale mit der Adresse 192.168.30.15 schickt ein Paket an den Server 192.168.10.140 im Hauptsitz. Dazwischen liegen mindestens zwei Router und ein VPN-Tunnel. Wer legt fest, welchen Weg das Paket nimmt? Keiner der beteiligten Router kennt die ganze Strecke. Jeder entscheidet nur für sich: Wohin schicke ich das Paket als Nächstes?

Diese Entscheidung heißt Routing. Sie ist das, was ein Netz aus vielen Teilnetzen zu einem Ganzen macht. In den Beiträgen zu Subnetting und VLAN hast du Netze aufgeteilt. Jetzt lernst du, wie sie sich wieder verbinden.

Die Grundidee: Hop für Hop

Ein Router ist wie ein Verteilzentrum der Post. Dort kommt ein Paket an, ein Mitarbeiter liest die Zieladresse und legt es auf den Wagen in die richtige Richtung. Er kennt den Empfänger nicht persönlich und weiß auch nicht, über welche Stationen das Paket später läuft. Er kennt nur die nächste Station.

Genauso funktioniert ein Router. Er liest die Ziel-IP-Adresse im Paket, schlägt sie in seiner Routing-Tabelle nach und schickt das Paket an den nächsten Router auf dem Weg, den Next Hop. Jeder Schritt von Router zu Router heißt Hop. Dabei wird die TTL im IP-Header bei jedem Router um 1 verringert, wie im Beitrag TCP/IP-Modell erklärt beschrieben.

Man unterscheidet zwei Aufgaben, die oft vermischt werden:

  • Forwarding: Das Weiterleiten eines einzelnen Pakets anhand der Tabelle. Das passiert millionenfach und sehr schnell.
  • Routing: Das Aufbauen und Pflegen der Tabelle selbst, von Hand oder durch Protokolle.

Die Routing-Tabelle

Jede Zeile der Tabelle sagt: „Pakete für dieses Netz schicke ich dorthin.“ Sie enthält meist diese Angaben:

  • Zielnetz mit Präfix, zum Beispiel 192.168.30.0/24,
  • Next Hop, also die Adresse des nächsten Routers (oder „direkt“, wenn das Netz am Router selbst hängt),
  • Schnittstelle, über die das Paket hinausgeht,
  • Herkunft und eine Metrik, die bei mehreren Möglichkeiten die bessere Route auswählt.

Als Beispiel der Router am Hauptsitz der Firma:

Zielnetz Next Hop Schnittstelle Herkunft
192.168.10.0/26direktVLAN 10Direkt verbunden
192.168.10.64/26direktVLAN 20Direkt verbunden
192.168.10.128/26direktVLAN 30Direkt verbunden
192.168.10.192/26direktVLAN 40Direkt verbunden
192.168.30.0/24 (Filiale)10.255.0.2 (VPN-Gegenstelle)Tunnel 0Statisch
0.0.0.0/0198.51.100.1 (Provider)WANStatisch (Standardroute)

Die ersten vier Zeilen entstehen von selbst: Sobald eine Schnittstelle eine IP-Adresse bekommt, kennt der Router das angeschlossene Netz. Die letzten beiden hat der Administrator eingetragen. Die Zeile 0.0.0.0/0 ist die Standardroute, wie im Beitrag CIDR erklärt beschrieben: „Alles, wofür es keinen besseren Eintrag gibt, geht hierhin.“

Auch dein eigener PC hat eine Routing-Tabelle, nur eine sehr kurze: Das eigene Netz erreicht er direkt, für alles andere nimmt er das Standardgateway. Du siehst sie mit route print (Windows) oder ip route (Linux), wie im Beitrag Switch, Router, Access Point und Firewall gezeigt.

Jeder Router entscheidet für sich, an welchen Next Hop er das Paket weitergibt.

Wie der Router die richtige Zeile findet: Longest Prefix Match

Mehrere Zeilen können auf dasselbe Ziel passen. Die Standardroute passt auf alles, ein konkretes Netz passt nur auf seine Adressen. Der Router wählt dann immer den Eintrag mit dem längsten Präfix, also den genauesten. Das heißt Longest Prefix Match.

Der Router prüft jede Zeile mit der UND-Verknüpfung aus dem Beitrag Netzmaske verstehen: Ziel-IP UND Maske der Zeile ergibt die Netzadresse? Dann passt der Eintrag. Von allen passenden Einträgen gewinnt der mit der größten Präfixlänge.

Ein Beispiel mit vier Einträgen:

Zielnetz Next Hop
10.0.0.0/8Router A
10.1.0.0/16Router B
10.1.2.0/24Router C
0.0.0.0/0Router D
Ziel-IP Passende Einträge Gewinner
10.1.2.77/8, /16, /24, /0/24 → Router C
10.1.77.1/8, /16, /0/16 → Router B
10.200.1.1/8, /0/8 → Router A
8.8.8.8/0/0 → Router D

Die Reihenfolge der Zeilen in der Tabelle spielt dabei keine Rolle. Es zählt allein die Genauigkeit des Treffers. Findet der Router überhaupt keinen passenden Eintrag, verwirft er das Paket und schickt in der Regel eine ICMP-Fehlermeldung „Ziel nicht erreichbar“ zurück.

Der genaueste passende Eintrag gewinnt: Longest Prefix Match.

Woher kommen die Einträge?

Es gibt drei Quellen für die Zeilen der Tabelle:

  1. Direkt verbundene Netze entstehen automatisch, sobald eine Schnittstelle konfiguriert und aktiv ist.
  2. Statische Routen trägt der Administrator von Hand ein.
  3. Dynamische Routen lernt der Router von anderen Routern über ein Routing-Protokoll.

Statisches Routing

Bei statischen Routen schreibst du ausdrücklich: „Das Netz X erreichst du über Router Y.“ Das ist einfach, übersichtlich und braucht keinen Zusatzverkehr. Der Nachteil: Ändert sich etwas im Netz oder fällt ein Weg aus, merkt der Router das nicht. Alle Einträge müssen von Hand angepasst werden. Statische Routen eignen sich deshalb für kleine Netze, Außenstellen mit nur einer Verbindung und für die Standardroute zum Provider.

Auf einem Cisco-Router (als Beispiel für die Syntax) sehen die beiden Routen der Zentrale so aus:

ip route 192.168.30.0 255.255.255.0 10.255.0.2
ip route 0.0.0.0 0.0.0.0 198.51.100.1

Die erste Zeile heißt: Das Netz 192.168.30.0 mit der Maske 255.255.255.0 erreichst du über 10.255.0.2. Die zweite ist die Standardroute zum Provider. Unter Linux funktioniert dasselbe mit dem Befehl ip und CIDR-Schreibweise:

sudo ip route add 192.168.30.0/24 via 10.255.0.2

Unter Windows lautet der Befehl mit der Option -p für eine dauerhafte Route:

route -p add 192.168.30.0 mask 255.255.255.0 10.255.0.2

Wichtig ist: Der Next Hop muss in einem Netz liegen, das der Router direkt erreicht. Eine Route über einen Router, der selbst nicht erreichbar ist, funktioniert nicht.

Dynamisches Routing

In größeren Netzen tauschen Router mit Nachbarn Informationen über ihre Netze aus. Jeder lernt so, welche Netze es gibt und wie er sie erreicht. Fällt eine Strecke aus, berechnen die Router den Weg neu und nehmen eine Ausweichroute. Das nimmt dem Administrator viel Arbeit ab, kostet aber Rechenleistung, etwas Verkehr und mehr Planung.

Die wichtigsten Protokolle:

Protokoll Typ Entscheidet nach Einsatz
RIP Distanzvektor Zahl der Hops, höchstens 15 Sehr kleine Netze, heute selten
OSPF Link State Kosten, meist aus der Bandbreite berechnet Unternehmensnetze
BGP Pfadvektor Richtlinien und Pfadlänge Zwischen Providern, im Internet

Dahinter stecken zwei Grundideen. Beim Distanzvektor-Verfahren erzählen sich Nachbarn nur, welche Netze sie mit welcher Entfernung kennen. Beim Link-State-Verfahren kennt jeder Router das gesamte Netz als Landkarte und berechnet daraus selbst den kürzesten Weg. OSPF gehört zur zweiten Art und skaliert in größeren Netzen besser.

Man unterscheidet außerdem Protokolle innerhalb eines Netzes (RIP, OSPF) und solche zwischen unabhängigen Netzen. Ein solches unabhängig verwaltetes Netz heißt autonomes System. Das Internet besteht aus zehntausenden davon, etwa die Netze von Providern, Hochschulen und großen Firmen. Zwischen ihnen tauscht BGP die Routen aus.

Wer gewinnt, wenn mehrere Quellen dasselbe Ziel kennen?

Lernt ein Router dasselbe Ziel auf mehreren Wegen (zum Beispiel statisch und per OSPF), bewertet er zuerst die Vertrauenswürdigkeit der Quelle. Bei Cisco heißt dieser Wert Administrative Distance, und der niedrigere gewinnt. Übliche Standardwerte:

Quelle Administrative Distance
Direkt verbundenes Netz0
Statische Route1
BGP (extern)20
OSPF110
RIP120

Die Metrik dagegen vergleicht nur Routen desselben Protokolls miteinander. Zwei verschiedene Protokolle haben unterschiedliche Metriken, die sich nicht sinnvoll gegeneinander aufrechnen lassen. Andere Hersteller verwenden ähnliche Konzepte mit eigenen Zahlen.

Praxisbeispiel: Hauptsitz und Filiale

Die Firma hat im Hauptsitz die vier VLAN-Subnetze 192.168.10.0/26 bis 192.168.10.192/26. Die Filiale nutzt 192.168.30.0/24, der VPN-Tunnel verbindet beide Router. Die Router brauchen jeweils Routen zum anderen Standort.

Der Filial-Router muss alle vier Subnetze des Hauptsitzes erreichen. Statt vier Zeilen genügt eine einzige, denn die vier /26-Netze lassen sich zu einem /24 zusammenfassen, wie im CIDR-Beitrag gezeigt:

Zielnetz Next Hop Herkunft
192.168.30.0/24direktDirekt verbunden (Filiale-LAN)
192.168.10.0/2410.255.0.1 (Zentrale, VPN)Statisch (zusammengefasst)
0.0.0.0/0Provider der FilialeStatisch

Jetzt der Weg: Ein Rechner in der Filiale (192.168.30.15) sendet ein Paket an den Server 192.168.10.140.

  1. Der PC erkennt, dass das Ziel nicht im eigenen Netz liegt, und schickt das Paket an sein Standardgateway, den Filial-Router (192.168.30.1).
  2. Der Filial-Router findet den längsten Treffer: 192.168.10.0/24 mit dem Next Hop 10.255.0.1. Das Paket geht durch den VPN-Tunnel.
  3. Der Router der Zentrale sieht das Ziel 192.168.10.140. Es liegt im direkt verbundenen Netz 192.168.10.128/26 (VLAN 30). Er fragt per ARP die MAC-Adresse des Servers ab und stellt das Paket zu.

Dann folgt der Rückweg, und an dieser Stelle passiert in der Praxis am häufigsten ein Fehler: Der Server antwortet an 192.168.30.15. Der Router der Zentrale braucht dafür eine eigene Route zum Netz der Filiale, nämlich die statische Route 192.168.30.0/24 über 10.255.0.2 aus der Tabelle oben. Fehlt sie, geht die Antwort zur Standardroute ins Internet und ist verloren. Das Ergebnis: Ein Ping aus der Filiale scheint hinzugehen, aber es kommt keine Antwort zurück. Routen müssen immer in beide Richtungen stimmen.

Hin- und Rückweg brauchen jeweils eine passende Route, sonst bleibt die Antwort aus.

Den Weg sichtbar machen

Mit tracert unter Windows und traceroute unter Linux kennst du schon ein Werkzeug aus den Beiträgen LAN, WLAN und WAN und TCP/IP. Jetzt verstehst du, was jede Zeile der Ausgabe bedeutet: ein Router, der das Paket weiterreicht. Die Zahl der Zeilen entspricht der Zahl der Hops.

tracert 203.0.113.50

Welche Route dein Linux-Rechner für ein bestimmtes Ziel nimmt, verrät dir dieser Befehl:

ip route get 203.0.113.50

Die Ausgabe zeigt den Next Hop und die Schnittstelle, die der Rechner nutzen würde. Unter Windows zeigt dir route print die komplette Tabelle, und in der PowerShell listet Get-NetRoute die Routen in einer übersichtlicheren Form auf.

Fehlersuche beim Routing

Symptom Mögliche Ursache Prüfung
Ping geht hin, Antwort bleibt aus Rückroute fehlt auf dem Router am Ziel Routing-Tabelle des Zielnetz-Routers prüfen
Kein Zugriff auf ein bestimmtes Netz, Rest funktioniert Route zu diesem Netz fehlt oder falscher Next Hop route print oder ip route get
Kein Zugriff aufs Internet, lokales Netz geht Standardroute oder Standardgateway fehlt Gateway am Host und Default-Route am Router prüfen
Pakete kreisen und verschwinden Routing-Schleife, die TTL stoppt sie tracert: Router wiederholen sich
Route wird nicht genutzt Next Hop nicht erreichbar oder anderer Eintrag gewinnt Next Hop pingen, Präfixlängen vergleichen

Typische Fehler und Missverständnisse

  • „Der Router kennt den ganzen Weg.“ Er kennt nur den nächsten Schritt. Der Gesamtweg ergibt sich aus der Summe aller Entscheidungen.
  • Nur eine Richtung konfigurieren. Hin- und Rückweg brauchen jeweils eine Route.
  • „Ein Switch routet.“ Ein normaler Switch arbeitet auf Schicht 2 und routet nicht. Ein Layer-3-Switch kann es.
  • Next Hop außerhalb des erreichbaren Netzes. Der Router muss die Adresse des Next Hop direkt erreichen können.
  • Reihenfolge der Tabelle für wichtig halten. Nicht die Position entscheidet, sondern der längste passende Präfix.
  • Metriken verschiedener Protokolle vergleichen. Zwischen Protokollen entscheidet die Administrative Distance.
  • Standardgateway mit Router gleichsetzen. Das Standardgateway ist der Router, den ein Host für Ziele außerhalb seines Netzes nutzt.

Zum Üben

  1. Welche zwei Informationen braucht ein Router, um ein Paket weiterzuleiten?
  2. Gegeben ist die Tabelle: 10.0.0.0/8 via A, 10.1.0.0/16 via B, 10.1.2.0/24 via C, 0.0.0.0/0 via D. Wohin gehen Pakete an 10.1.2.77, 10.1.77.1, 10.200.1.1 und 8.8.8.8?
  3. Schreibe den Cisco-Befehl für eine statische Route zum Netz 172.16.0.0/16 über den Next Hop 192.168.1.2.
  4. Schreibe den entsprechenden Linux-Befehl.
  5. Fasse die Netze 192.168.10.0/26, 192.168.10.64/26, 192.168.10.128/26 und 192.168.10.192/26 zu einer Route zusammen.
  6. Ein Ping aus der Filiale zum Server der Zentrale scheint hinzugehen, aber es kommt keine Antwort. Was ist die wahrscheinlichste Ursache?
  7. Welches Routing-Protokoll nutzt die Hop-Zahl und erlaubt höchstens 15 Hops?
  8. Ein Router kennt dasselbe Ziel per OSPF und per RIP. Welche Route gewinnt, und warum?

Lösungen: (1) Die Ziel-IP-Adresse des Pakets und die Routing-Tabelle. (2) 10.1.2.77 geht an C (/24), 10.1.77.1 an B (/16), 10.200.1.1 an A (/8), 8.8.8.8 an D (Standardroute). (3) ip route 172.16.0.0 255.255.0.0 192.168.1.2. (4) sudo ip route add 172.16.0.0/16 via 192.168.1.2. (5) 192.168.10.0/24. Die vier Netze folgen direkt aufeinander und passen auf eine Blockgrenze. (6) Auf dem Router der Zentrale fehlt die Rückroute zum Filialnetz 192.168.30.0/24. (7) RIP. (8) OSPF, denn seine Administrative Distance (110) ist niedriger als die von RIP (120).

Das solltest du dir merken

  • Ein Router entscheidet pro Paket anhand der Ziel-IP und seiner Routing-Tabelle, wohin er es als Nächstes schickt (Next Hop). Der Weg entsteht Hop für Hop.
  • Die Tabelle enthält Zielnetz, Next Hop, Schnittstelle und Herkunft. 0.0.0.0/0 ist die Standardroute.
  • Bei mehreren passenden Einträgen gewinnt der mit dem längsten Präfix (Longest Prefix Match).
  • Einträge sind direkt verbunden, statisch oder dynamisch gelernt (RIP, OSPF, BGP).
  • Statisches Routing ist einfach, aber unflexibel. Dynamisches Routing passt sich Ausfällen an.
  • Routen müssen in beide Richtungen stimmen. Fehlende Rückrouten sind ein Klassiker.
  • Zwischen Quellen entscheidet die Administrative Distance, innerhalb eines Protokolls die Metrik.

Jetzt geht es vom Kabel zur Luft. Wie funktionieren drahtlose Netze, welche Frequenzen und Kanäle gibt es, und warum ist das WLAN in manchen Ecken langsam? Das klärt der nächste Beitrag: WLAN-Grundlagen.

Weiterlesen