Statisches Routing

Aufgabe des Routing ist es dafür zu sorgen, das Pakete entsprechend ihrer Zieladresse in das richtige Teilnetzwerk geleitet werden. Man kann dies statisch oder dynamisch tun. Um die Begriffe zu erklären kümmern wir uns zuerst einmal um das statische Routing.

Vorbedingung für das Routing sind mindestens zwei Interfaces. Man kann zwar mehrere IP-Adressen an eine Netzwerkkarte binden, aber dann handelt es sich trotzdem für das Routing um zwei verschiedene Interfaces

Jeder Routing-Eintrag hat eine Netzwerk/Host-adresse, eine Subnetzmaske und eine Metric, die die Kosten des Transports angibt.

Beim Routing kann man die folgenden Fälle unterscheiden:

Netzwerkrouting

Damit legen wir fest, wohin Pakete entsprechend ihrer Zieladresse geroutet werden sollen.  Hätten wir zum Beispiel einen  Router R1 mit Interfaces zu folgenden Teilnetzen:

Interface Adresse Subnetzmaske
1 10.32.52.0 255.255.255.128
2 10.32.52.128 255.255.255.128
3 10.32.53.0 255.255.255.0

Dann gäben wir mit den folgenden Befehlen auf dem Router:

route add 10.32.52.0 mask 255.255.255.128 metric 1 if 1
route add 10.32.52.128 mask 255.255.255.128 metric 1 if 2
route add 10.32.53.0 mask 255.255.255.0 metric 1 if 3

an, das alle Pakete in das Netz 10.32.52.0/25 über Interface 1 geleitet werden sollten, alle Pakete in das Teilnetz 10.32.52.128/25 über Interface 2 und alle Pakete in das Teilnetz 10.32.53.0/24 über das Interface 3.

Die Kosten wären in diesem einfachen Fall alle 1.

Host-Routing oder P2P-Routing

Host-Routing ist fast wie Netwerkrouting, aber das Ziel ist kein Netz sondern ein Host.  Wenn wir als Router zum Beispiel über 10-MBit-Ethernet-Interface 1 mit dem Netz 10.32.52.0 verbunden sind, speziell zum Datenbankrechner 10.32.52.55 aber ein zusätzliches Gigabit-Interface 3 haben, dann sähen unsere Routing-Einträge wie folgt aus:

route add 10.32.52.0 mask 255.255.255.0 metric 1 if 1
route add 10.32.52.55 mask 255.255.255.255 metric 1 if 3

Da der zweite Eintrag eine engere Subnetzmaske als der erste Eintrag besitzt würden nun alle Pakete für 10.32.52.55 über das schnelle Interface 3 geleitet, die Pakete für das restliche Netz 10.32.52.0/24 aber über Interface 1

Gateway-Routing

Beim Gateway-Routing delegieren wir die Verteilung der Pakete an einen anderen Router. Betrachten wir dazu einmal die folgende Grafik.

Der Router R1 ist mit den Gateways G1, G2 und G3 verbunden.

R1 hat die folgenden Interfaces:

Interface Netzwerk Subnetzmaske Kommentar
1 10.32.52.10 255.255.0.0 Ethernet-Interface zum lokalen Netz 102.32.52.0
2 10.49.254.1 255.255.255.0 Zwischennetz zu Gateways  G1 und G2
3 10.32.54.3 255.255.255.0 Zwischennetz zu Internet-Gateway G3

G1 hat die folgenden Interfaces:

Interface Netzwerk Subnetzmaske Kommentar
1 10.49.254.2 255.255.255.0 Zwischennetz zu Router R1
2 10.49.1.254 255.255.255.0 LAN 10.49.1.0/24
3 10.49.2.254 255.255.255.0 LAN 10.49.2.0/24
4 10.49.3.254 255.255.255.0 LAN 10.49.3.0/24
5 10.49.4.254 255.255.255.0 LAN 10.49.4.0/24

G2 hat die folgenden Interfaces:

Interface Netzwerk Subnetzmaske Kommentar
1 10.49.254.3 255.255.255.0 Zwischennetz zu Router R1
2 10.49.1.253 255.255.255.0 LAN 10.49.1.0/24
3 10.49.2.253 255.255.255.0 LAN 10.49.2.0/24
4 10.49.3.253 255.255.255.0 LAN 10.49.3.0/24
5 10.49.4.253 255.255.255.0 LAN 10.49.4.0/24

Wir wollen nun das im Normalfall Pakete an 10.49.1.0/24 und 10.49.3.0/24 über den Gateway G1 geleitet werden, und Pakete an 10.49.2.0/24 und 10.49.4.0/24 über Gateway G3.

Gleichzeitig soll bei Ausfall eines der Gateways der jeweils andere den Transport zu den Netzen übernehmen, die dem ausgefallenen Gatewy zugeordnet wären.

Die Routing-Tabellen auf dem Gateway sind analog dem oben diskutierten Netzwerk-Routing. Interessant wird das Routing  auf dem Router R1.

Dieser hat die folgenden Routing-Einträge:

route add 10.32.52.0 mask 255.255.0.0 metric 1 if 1
route add 10.49.1.0 mask 255.255.255.0 10.49.254.2 metric 1 if 2
route add 10.49.1.0 mask 255.255.255.0 10.49.254.3 metric 5 if 2
route add 10.49.2.0 mask 255.255.255.0 10.49.254.2 metric 5 if 2
route add 10.49.2.0 mask 255.255.255.0 10.49.254.3 metric 1 if 2
route add 10.49.3.0 mask 255.255.255.0 10.49.254.2 metric 1 if 2
route add 10.49.3.0 mask 255.255.255.0 10.49.254.3 metric 5 if 2
route add 10.49.4.0 mask 255.255.255.0 10.49.254.2 metric 5 if 2
route add 10.49.4.0 mask 255.255.255.0 10.49.254.3 metric 1 if 2

R1 hat also für jedes der 10.49-er Netze zwei Routen. Eine billige Route über den bevorzugten Gateway mit metric 1 und eine fünfmal so teure Route über den Ausweich-Gateway.

Natürlich wird der Routing Algorithmus immer versuchen die billigste Route zu nehmen. Steht diese allerdings nicht zur Verfügung, dann wird die teure Route genutzt.

Default-Routing

Wenn wir alle Routen für uns bekannte Teilnetze eingetragen haben, dann sollten wir noch eine Route für all die restlichen Pakete eintragen. Das ist die Default-Route. Dafür wird die spezielle Netzwerknummer 0.0.0.0 verwendet.

In unserem Beispiel gehen wir davon aus das alle nicht anderweitig erreichbaren Netze im Internet liegen. Wir geben also noch die letzte und unspezifischste Route an:

route add 0.0.0.0 mask 0.0.0.0 metric 1 if 3

Das heißt nichts anderes, als: »Schicke alle die Pakete die du nicht anderweitig unterbringen kannst an dieses Interface, bzw. diesen Host«