Im Internet gibt es an mehreren Stellen Rechner, deren Hauptaufgabe offensichtlich darin besteht, Anfragen und Serverantworten weiterzuleiten. Solche Rechner sind Knotenpunkte im Netz oder, um im Eisenbahn-Jargon zu sprechen, Bahnhöfe mit Stellwerk.
Wenn ein PC direkt über Modem bei einem Internet Provider eingewählt wird, benötigt der PC keine eigene Intelligenz zum Routen. Doch bereits ein Router, welcher ein lokales Netzwerk ans Internet anbindet, heißt nicht zufällig so. Seine Aufgabe besteht darin, zuzuordnen, von welchem ihm bekannten Rechner im lokalen Netz eine Anfrage kommt und für welchen dieser LAN-Rechner hereinkommende Antwortdaten aus dem Internet bestimmt sind. Das Zuordnen und entsprechende Weiterleiten wird als Routing bezeichnet. Rechner, die solche Routing-Aufgaben übernehmen, werden als Gateway-Rechner bezeichnet.
Die »großen« Gateways im Internet tun auch nichts anderes als ein Router, welcher ein LAN mit dem Internet verbindet. Sie verbinden ein ihnen bekanntes Subnetz mit einem übergeordneten oder anderen Subnetz. Das bedeutet, sie können zuordnen, von welchem ihnen bekannten Host-Rechner (genauer: von welcher ihnen bekannten IP-Adresse) eine Anfrage kommt. Sie können sie weiterleiten an ein anderes Subnetz und sie können Antworten oder auch Anfragen, die von anderen Subnetzen kommen, an die richtigen Rechner bzw. IP-Adressen in ihrem Subnetz weiterleiten.
Damit Rechner mit Gateway-Funktion korrekt routen, benötigen sie Routing-Tabellen. Im Fall eines LAN-Routers, der einfach nur mit einem Internet-Zugangsprovider verbunden ist, muss dieser nach außen hin nur eine einzige Route kennen, nämlich die zum Provider. Zentrale Gateways im Internet kennen jedoch zahlreiche Routen. Ihre Aufgabe besteht darin, möglichst alle Datenpakete, die sie weiterleiten, auf möglichst günstige und schnelle Routen zu schicken. Dazu müssen sie die einzelnen Datenpakete analysieren.
Wie und wo eine Routing-Tabelle gespeichert ist und über welche Kommandos oder Programme sie editierbar ist, ist systemabhängig. Werfen wir einen Blick auf eine typische Routing-Tabelle, um die Funktionsweise zu verstehen:
Destination Gateway Netmask Interface
127.0.0.1 127.0.0.1 255.0.0.0 192.168.100.105
0.0.0.0 149.211.17.212 0.0.0.0 eth0
149.211.40.0 149.211.17.212 255.255.255.0 eth0
149.211.32.0 149.211.17.212 255.255.255.0 eth0
149.211.8.0 149.211.17.213 255.255.255.0 eth0
149.211.17.0 149.211.17.213 255.255.255.0 eth0
149.211.1.0 149.211.17.214 255.255.255.0 eth0
149.211.18.0 149.211.17.215 255.255.255.0 eth0
Jede Zeile stellt die Definition einer Route dar. Die erste Spalte enthält mögliche Ziel-IP-Adressen (Destination) einer Route, also die Adressen anderer »Bahnhöfe mit Stellwerk« (Gateways oder Router). Die Adressen 127.0.0.1 und 0.0.0.0 haben Sonderbedeutung. 127.0.0.1 ist eine sogenannte Loopback-Adresse. Das ist eine Adresse, die das eigene System meint, also nicht woanders hin geroutet werden muss. Die Adresse 0.0.0.0 bezeichnet das Standard-Gateway bzw. die Default-Route, die gewählt wird, wenn keine Route bevorzugt wird.
Die zweite Spalte, im Beispiel mit Gateway überschrieben, enthält die IP-Adresse des Routers, über den zur Zieladresse der ersten Spalte durch geroutet werden kann.
Die Spalte, die im Beispiel mit Netmask überschrieben ist, bezeichnet die sogenannte Subnetzmaske. Die Subnetzmaske definiert, wie groß der IP-Adressraum des vom jeweiligen Gateway verwalteten Subnetzes ist. Eine typische Subnetzmaske wie 255.255.255.0 bedeutet, dass das Gateway nur die letzte Zahl der IP-Adresse verwaltet, mithin also maximal 255 eigene Unteradressen.
Die Schnittstelle schließlich (Interface) ist das Gerät oder die IP-Adresse des Geräts, über das die unter der Spalte Gateway genannte IP-Adresse erreichbar ist. Bei der Loopback-Adresse ist das z. B. die IP-Adresse des eigenen Rechners. Andere Gateways sind z. B. über LAN erreichbar, also über Ethernet- Schnittstellen (im Beispiel: eth0 für die erste LAN-Schnittstelle).
Unter MS Windows können Sie sich übrigens durch das DOS-Kommando route print die auf dem eigenen PC gespeicherte Routing-Tabelle anzeigen lassen. Unter Linux und den meisten Unix-basierten Systemen genügt das Shell-Kommando route zur Ausgabe der Tabelle.