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):
Im Subnetz des Ziels sieht das Paket so aus:
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, die ein Client erreichen kann.
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) |
Subnetzmaske | zu jeder IP-Adresse gehört eine Subnetzmaske |
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 | der Eintrag mit der niedrigsten 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":
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 Ziel 224.0.0.0 mit der Subnetzmaske 240.0.0.0 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
Eine Routing Tabelle sieht folgendermaßen aus:
Ziel + Subnetzmaske | Metrik | Next Hop | Bedeutung |
192.168.178.255/32 | 50 | 0.0.0.0 | |
192.168.178.60/32 | 50 | 0.0.0.0 | |
192.168.178.0/24 | 50 | 0.0.0.0 | |
192.168.132.255/32 | 25 | 0.0.0.0 | |
192.168.132.1/32 | 25 | 0.0.0.0 | |
192.168.132.0/24 | 25 | 0.0.0.0 | |
192.168.56.255/32 | 25 | 0.0.0.0 | |
192.168.56.1/32 | 25 | 0.0.0.0 | |
192.168.56.0/24 | 25 | 0.0.0.0 | |
127.255.255.255/32 | 75 | 0.0.0.0 | |
127.0.0.1/32 | 75 | 0.0.0.0 | |
127.0.0.0/8 | 75 | 0.0.0.0 | |
0.0.0.0/0 | 50 | 192.168.178.1 |