**Dies ist eine alte Version des Dokuments!**
Routing
Routing beschreibt die Weiterleitung von IP-Paketen in der Vermittlungsschicht des Internet.
Das Internet ist hierarchisch aufgebaut. Das heisst, dass ein lokales Netz (Subnetz) erst mal für sich funktioniert, aber dass mehrere Subnetze über Router miteinander verbunden sind1).
Die Vermittlungsschicht bietet ja den Ende-zu-Ende-Transport von Paketen. Bei der Weiterleitung bleiben die Quell- und Ziel-Adressen eines Pakets also immer die gleichen, so wie auch die Postadresse eines Pakets während des Transports nicht verändert wird (Ausnahme: NAT).
Jedes Gerät im Internet unterhält eine Routing-Tabelle, die definiert, was mit einem Paket mit einer bestimmten Ziel-Adresse geschehen soll:
Ziel-Adresse | Handlung |
---|---|
Gehört dem Gerät selbst | Paket empfangen |
Im gleichen Subnetz wie das Gerät | Paket direkt an das Zielgerät senden |
Alles andere | An den Router (auch Gateway) senden zur Weiterleitung |
Die Adresse des Routers wird den Endgeräten normalerweise zusammen mit der IP-Adresse, der Subnetz-Grösse und dem DNS-Server mitgeteilt, wenn sie sich mit dem Netzwerk verbinden.
Die Routing-Tabelle verwendet IP-Adressen, um die Routing-Information zu beschreiben. Oft wird statt der Ziel-Adresse ein Präfix angegeben, also die ersten Bits, die zwischen der Ziel-Adresse und dem Tabelleneintrag übereinstimmen müssen.
IP-Präfix | Router | Handlung |
---|---|---|
1.1.3.2 | localhost (ich selbst) | Paket empfangen (eigene Adresse) |
1.1.3.* | – | Direkt versenden, Ziel im gleichen Subnetz 1.1.3 |
* | 1.1.3.1 | Alles andere: An den Router (auch Gateway) 1.1.3.1 senden zur Weiterleitung |
Die Routing-Tabelle lässt sich mit den Befehlen netstat -rn
(Mac, Linux) oder route print
(Windows) anzeigen.
Router
Router sind die Knoten, die das Internet zusammenhalten. Ein Router ist nicht nur Teil eines einzigen, sondern mindestens von zwei Subnetzen. Er kann Pakete zwischen den zwei Netzen vermitteln.
Die Routing-Tabelle eines Routers ist dementsprechend etwas aufwändiger. Sie listet für jeden bekannten IP-Bereich auf, wer der next hop ist, also der Router, der ein Stück näher an der Destination ist:
IP-Präfix | Router | Handlung |
---|---|---|
1.1.3.1 | localhost (ich selbst, Netzwerkkarte 1) | Paket empfangen (eigene Adresse) |
3.3.3.3 | localhost (auch ich selbst, Netzwerkkarte 2) | Paket empfangen (eigene Adresse) |
1.1.3.* | – | Direkt versenden über Netzwerkkarte 1, Ziel im gleichen Subnetz 1.1.3 |
3.3.3.* | – | Direkt versenden über Netzwerkkarte 2, Ziel im gleichen Subnetz 3.3.3 |
1.1.1.* | 3.3.3.2 | Weiterleiten über 3.3.3.2 |
1.1.8.* | 3.3.3.8 | Weiterleiten über 3.3.3.8 |
1.1.6.* | 3.3.3.4 | Weiterleiten über 3.3.3.4 |
* | 3.3.3.1 | Alles andere: An den Router (auch Gateway) 3.3.3.1 senden zur Weiterleitung |
Um die richtige Handlung herauszufinden, kann es nötig sein, mehrmals in der Tabelle nachzuschlagen. Beispielsweise erhält der obige Router ein Paket für 1.1.4.5.
- zuerst bestimmt Zeile 5, dass es an 3.3.3.4 weitergeleitet werden muss.
- als zweites bestimmt Zeile 4 dass das Paket über die Netzwerkkarte 2 direkt versandt werden soll.
Auf die gleiche Weise sind alle Subnetze des Internets über Router miteinander verbunden.