Routing

Zentrale Begriffe in der IP-Technik sind die Router und deren Tätigkeit, das Routing.

Der Begriff wurde geprägt, da sich die Art und Weise, wie ein IP-Protokollstack mit den Datenpaketen umgeht, vom Switching? unterscheidet. Die Grenze zwischen den beiden Techniken ist aber leider etwas fliessend.

Kleine Zwischenfrage: haben Sie einen Router??

Ein Router ist - ja, hier spricht wieder der Informatik-Ingenieur - eine Software.
Das, was landläufig als Router verkauft wird, ist einfach eine spezialisierte Hardware im Verbund mit genau dieser Router-Software als ein handliches Paket. Diese Spezialgeräte, die im Zuge der DSL-Ausbreitung zur Massenware geworden sind, enthalten einen Router-Prozess als Teil ihrer Software.
Bei komerziellen Produkten für den Heimbereich greifen viele Hersteller dabei auf genau jenen Router-Prozeß zurück, der Bestandteil des Linux-Kerns ist: auf dem Router läuft ein Linux.
Daraus wird deutlich, dass es keiner Spezialhardware bedarf sondern dass Routing eine Software-Tätigkeit ist, die jeder PC erfüllen kann.

Die ersten Router waren denn auch Programme, die unter SunOS und BSD-Unix liefen. Später wanderten diese Softwarekomponenten in den Systemkern und sind heute Bestandteil von vielen Betriebssystemen bis hin zu den Systemen für Handies und Pocket-Computer.

Tatsächlich ist eine minimale Routing-Funktion integraler Bestandteil jedes IP-Stack, auch wenn sich nicht jede dieser Implementationen für die Routing-Funktion einer Maschine mit 4 Gigabit-Ethernet-Anschlüssen eignet.

Das ideale Lehr-Beispiel für einen Router ist ein Gerät, das 3 Interfaces hat. Der typsiche Heimnetz-Router mit 2 Interfaces (ISDN+Ethernet oder DSL-Ethernet) eignet sich nicht so gut.
Wir stellen uns daher hier einen Router vor, den ein ISP betreibt um seine Kunden mit Standleitungen zu versorgen. Der Rotuer sei relativ neu und habe daher erst 2 angeschlossene Kunden an den Interfaces K1 und K2. Das dritte Interface dient zur Anbindung dieses Routers an das Backbone des ISP.
Der Kunde-1 (am Interface K1) hat nun die IP-Adresse 192.168.1.0 bis 192.168.1.255 erhalten, Kunde-2 benutzt die Adressen 192.168.2.0 bis 192.168.2.255. Dieses sind zwar ungewöhnlich grosse Netze mit je 253 Adressen (üblich sind eher 6 oder 14 Adressen dieser Tage), aber so wird das Beispiel übersichtlicher.
Von den 255 Adressen, die jeder dieser Nummernblöcke (IP-technisch wird so ein Nummernblock als "Netz" bezeichnet; wir haben also zwei Kunden mit je einem Netz der Grösse 255) sind immer 2 Adressen für Spezialzwecke reserviert: die erte und die letzte, also hier die .0 und die .255. Daher bleiben 253 nutzbare Adressen übrig auch wenn das Netz 255 Adressen enthält.

Der Router erhält nun eine Routing-Tabelle, die so aussehen könnte:

netnetmaskgatewayinterface
192.168.1.0255.255.255.0 K1
192.168.2.0255.255.255.0 K2
0.0.0.00.0.0.0192.168.0.1BB

Diese Tabelle ist doch sehr übersichtlich.
In einem typischen Backbone-Router ist so eine Tabelle etwas länger, denn ein BB-Router muß ggf. um die 110.000 Routen in der Tabelle halten.

Wenn ein Paket nun den Router erreicht (über eines der drei Interfaces), dann muß der Routing-Prozeß die Entscheidung liefern, über welches Interface der Router das Paket weiterreicht.
Dazu vergleicht er die Zieladresse des Paketes der Reihe nach mit den Einträgen in der Routing-Tabelle. Die letzte Spalte der Tabelle gibt dann an, über welches Interface das Paket weitergesendet wird.

Die Tabelle muß dazu geordnet sein: zunächst die "more specific routes", dann die "less specific routes".
In unserer Tabelle haben wir 2 Routen, die jeweils für 255 Adressen stehen und eine dritte Route, die für 4.294.967.296 (2 hoch 32, rund 4 Milliarden) Adressen steht. Letztere ist also weniger spezifisch als die beiden anderen.
Diese Spezialform der Route, die für "alle Adressen" steht, wird auch als default-Route bezeichnet. Bei MS Windows wird sie z.B. konfiguriert, indem man eine IP-Adresse als default gateway einstellt, Windows fügt dann eine Default-Route mit diesem Gateway der internen Routingtabelle hinzu.
Wäre die Tabelle nicht nach Spezifität geordnet, dann würde ein Paket, das Kunde-1 erhalten soll, womöglich über die Default-Route geleitet - und damit den Kunden nicht erreichen.

Diese Sortierung der Tabelle ist erforderlich, da jede Route, wie oben dargestellt, für eine andere Anzahl von Adressen gilt.
Dies ist ein fundametales Arbeitsprinzip von IP: es werden immer nur "Netze" betrachtet, also Blöcke von IP-Adressen, nicht die einzelne Adresse. Daher kann das Routing-Wissen über "Das Internet" (also 4 Milliarden Adressen) in rund hunderttausend Routen abgebildet werden.

Es ist bei IP auch möglich, ein Netz der Größe 1 zu routen. So eine Route wird als Host-Route bezeichnet. Ein solches Mikro-Netz zeichnet sich speziell dadurch aus, dass hier nicht die erste und letzte Adresse des Netzes für Spezialzwecke reserviert sind.

Der wesentliche Unterschied zwischen Routing und Switching ist dann wohl, dass beim Routing immer Adressgruppen (Netze) betrachtet werden, beim Switching mehr die einzelnen Adressen.


Page last modified by February 17, 2005, at 04:46 PM