Skip to main content

Routing

Routing dient dazu, den Pfad eines Pakets über ein oder mehrere Netze zu bestimmen.

MAC-und IP-Adressen beim Routing

Das folgende Bild zeigt ein ICMP Paket im Netz des Senders (grün = IP + MAC des Quell-Rechners; blau = MAC/IP-Adresse des Ziel-Rechners; gelb = TTL; schwarz = Prüfsumme; rot = MAC des Gateways im Subnetz):

Bild1.png

Im Subnetz des Ziels sieht das Paket so aus:

Bild2.png

Die Prüfsumme zeigt, dass es sich um dasselbe Paket handelt. Die IP-Adressen haben sich nicht geändert. Geändert haben sich die MAC-Adressen und die TTL (time to live) des Pakets.

Innerhalb eines Subnetzes wird ausschließlich über MAC-Adressen mit anderen Geräten kommuniziert. Zur Auflösung von IP-Adressen in MAC-Adressen wird das Address Resolution Protocol (ARP) verwendet. Befindet sich der Empfänger in einem anderen Subnetz, ändern Router Quell-und Ziel-MAC-Adresse, um das Paket weiterzuleiten.

Die TTL ist eine Zahl, welche von jedem Router, über den das Paket wandert, um 1 reduziert wird. Sie soll verhindern, dass Pakete ziellos im Netzwerk umherwandern. Erreicht sie 0, wird das Paket vom nächsten Router verworfen, den es erreicht. Bei ungünstigen Routen kann es unter Umständen sein, dass Pakete ihr Ziel nicht erreichen können, weil zwischen Sender und Empfänger zu viele Hops (Router) liegen.

Routingtabellen

Anhand ihrer Routingtabellen entscheiden Router und Clients, wohin sie ihre Pakete schicken, damit diese am Ziel ankommen. In der Routingtabelle stehen also folglich alle Ziele und wie diese erreicht werden können.

Ein Client mit Windows/Linux/Mac routet in der Standardeinstellung nicht, d.h. er leitet keine Pakete anhand seiner Routingtabelle weiter, die er erhält, auch wenn er den Weg zum Ziel kennt. Dafür benötigt man eine Routing-Software oder einen Router in Hardware.

2022-08-04 11_25_17-Clipboard.png

Ein Eintrag in einer Routingtabelle besteht aus folgenden Angaben: 

Ziel Adresse des zu erreichenden Empfängers (dies kann die Adresse eines Subnetzes oder eines Hosts sein)
Netzwerkmaske

Subnetzmaske des Ziels

0.0.0.0 (CIDR /0) ist keine Netzmaske

255.255.255.255 (CIDR /32) schließt nur die IP des Ziels ein

Gateway bzw. next hop Adresse, an welche ein Paket für den Empfänger geschickt werden soll
Schnittstelle über welches Interface soll das Paket geschickt werden
Metrik Kann das Ziel über 2 Routen erreicht werden, bestimmt die Metrik, welche Route genommen wird. Die Metrik einer Route kann anhand von verschiedenen Parametern bestimmt werden, z.B. der Anzahl der Hops zum Ziel oder der Geschwindgkeit der Route. Die Route mit der geringeren Metrik wird bevorzugt.

Einsehen und Ändern der Routingtabelle

Unter Windows gibt es den Befehl "route" zum Einsehen und Ändern der Routingtabelle. Dessen grundlegende Syntax sieht folgendermaßen aus:

route [<command> [<destination>] [mask <netmask>] [<gateway>] [metric <metric>] [if <interface>]]

Der Befehl kennt folgende "commands":

print gibt einen (bei Angabe eines Ziels), ansonsten alle Einträge der Routingtabelle aus
add Hinzufügen einer statischen Route (Angabe des Ziels ist notwendig)
delete Löscht eine Route in der Routingtabelle (Angabe des Ziels ist notwendig)
change Ändert einen Eintrag in der Routingtabelle (Angabe des Ziels ist notwendig)

Besondere Ziele

Default-Route

Das Ziel 0.0.0.0/0 in einer Routingtabelle steht für die Default-Route. Ist kein passender Eintrag für ein Paket vorhanden, wird die IP-Adresse des Gateways dieses Eintrags mittels ARP-Protokoll aufgelöst und als Empfänger die ermittelte MAC-Adresse in das Ethernet-Frame eingetragen. Es können mehrere Default-Routen definiert sein, um den Ausfall eines Gateways zu kompensieren.

Loopback

Das Netz 127.0.0.0/8 bzw. 127.0.0.0 mit Subnetzmaske 255.0.0.0, also die IP-Adressen 127.0.0.1 bis 127.255.255.255, ist für Loopback-Traffic reserviert. Dieser verlässt das Interface nicht, sondern wird intern an es zurückgeschickt.

Limited Broadcast

Die IP-Adresse 255.255.255.255 mit der Subnetzmaske 255.255.255.255 (CIDR: /32) ist eine spezielle IP-Adresse, welche zum Limited Broadcast gehört. Ein Paket, welches an diese IP-Adresse geschickt wird, wird an alle Geräte im Subnetz geschickt. Es verlässt das aktuelle Subnetz nicht und kann nicht geroutet werden. Jedes Netz, mit dem das Gerät verbunden ist, hat einen Eintrag mit der Limited Broadcast Adresse.

Multicast

Das Netz 224.0.0.0 mit der Subnetzmaske 240.0.0.0 bzw. 240.0.0.0/4 (CIDR) ist für Multicast reserviert, d.h. für Traffic, welche an eine Gruppe von Systemen gerichtet ist, z.B. an alle Router oder alle DHCP-Server in einem Netz. Jedes Netz hat einen Eintrag für das Multicast-Netz.

Lesen einer Routing Tabelle anhand eines Beispiels

Die Einträge der Routingtabelle aus der oberen Abbildung haben die folgenden Bedeutungen.

Ziel
Netzwerkmaske Gateway/Next Hop Schnittstelle
Metrik
Bedeutung
0.0.0.0 0.0.0.0 192.168.178.1 192.168.178.78
25
Pakete ohne expliziten Eintrag werden an 192.168.178.1 über das Interface mit der IP 192.168.178.78 gesendet (Default Route)
127.0.0.0 255.0.0.0
- 127.0.0.1
331
Pakete an das Loopback-Netz werden über das Interface mit der IP 127.0.0.1 gesendet
127.0.0.1 255.255.255.255 - 127.0.0.1
331
Pakete an die Loopback-Adresse 127.0.0.1 werden über das Interface mit der IP 127.0.0.1 gesendet
127.255.255.255 255.255.255.255
- 127.0.0.1
331
Pakete an die Broadcast-Adresse des Loopback-Netzes werden über das Interface mit der IP 127.0.0.1 gesendet (directed broadcast)
192.168.178.0 255.255.255.0 -
192.168.178.78
281
Pakete an das Netz 192.168.178.X werden über das Interface mit der IP 192.168.178.78 gesendet
192.168.178.78 255.255.255.255 - 127.0.0.1
281 Pakete an die eigene IP 192.168.178.78 werden über das Interface mit der IP 127.0.0.1 gesendet
192.168.178.255
255.255.255.255 -
192.168.178.78
281
Pakete an die Broadcast-Adresse des Netzes 192.168.178.X werden über das Interface mit der IP 192.168.178.78 gesendet
224.0.0.0 240.0.0.0 -
127.0.0.1
331
Pakete an das Multicast-Netz werden über das Interface mit der IP 127.0.0.1 gesendet
224.0.0.0 240.0.0.0 - 192.168.178.78
281
Pakete an das Multicast-Netz werden bevorzugt (Metrik 281 vs 331) über das Interface mit der IP 192.168.178.78 gesendet
255.255.255.255 255.255.255.255 - 127.0.0.1
331
Pakete an die Limited Broadcast IP werden über das Interface mit der IP 127.0.0.1 gesendet
255.255.255.255
255.255.255.255
-
192.168.178.78
281
Pakete an die Limited Broadcast IP werden bevorzugt (Metrik 281 vs 331) über das Interface mit der IP 192.168.178.78 gesendet

Wie kommen Routen in die Routing-Tabelle

Direkt angeschlossene Netze

Wird einem Interface eine IP mit Subnetzmaske zugewiesen, werden für dieses Netzwerk automatisch Einträge in der Routingtabelle generiert.

Statisches Routing

Routen können manuell in die Routingtabelle eingetragen werden. Unter Windows geschieht dies unter anderem mit dem oben erklärten "route" Befehl.

Dynamisches Routing

Bei weit verzweigten Netzwerken wie dem Internet ist das manuelle Pflegen der Routingtabellen äußerst aufwändig und fehleranfällig. Stattdessen gibt es Protokolle (BGP Border Gateway Protocol, OSPF Open Shortest Path First, RIP Router Information Protocol, IGRP Interior Gateway Routing Protocol), welche es Routern erlauben, ihre Routingtabellen durch den Austausch von Informationen mit anderen Routern dynamisch aufzubauen. Beim dynamischen Routing kommen im Wesentlichen 2 Algorithmen zum Einsatz:

Beim Distance Vector Algortihmus sendet jeder Router seine Routingtabelle regelmäßig via Broadcast an alle anderen Router im Netz, welche mit diesen Informationen ihre eigene Routingtabelle ergänzen. Da dies recht ineffizient ist und zu einem hohen Paketaufkommen innerhalb eines Netzwerks sorgt (Broadcastlawine), wurden einige Erweiterungen implementiert.