4.7 Routing – Netzwerkgrenzen überschreiten
Der Weg Ihrer Datenpakete endet gewöhnlich an der Grenze des Netzwerksegments, in dem Sie diese erzeugt haben. Mittels Router überwinden Ihre Datenpakete diese Grenzen und können weltweit ihren Empfänger erreichen.
Router arbeiten auf der Ebene des IP-Protokolls (OSI-Ebene 3) und arbeiten damit mit den IP-Adressen. Diese Geräte kennen sowohl die an sie angeschlossenen Netze als auch ihre Nachbarn. Router tauschen mittels eigener Protokolle untereinander Informationen über Wege und Hosts aus. Sie benutzen dazu auch teilweise das ICMP- bzw. IGMP-Protokoll.
Router lösen den Datenteil des anfragenden Ethernet-Frames heraus. Die Daten werden in einen neuen Ethernet-Frame gesetzt, der die MAC-Adresse des nächsten Routers oder Zielrechners trägt. Die Ziel-IP-Adresse hilft dem Router, die für ihn »nächste« MAC-Adresse zu erfragen. Die Weitervermittlung über einen Router trägt den Namen Hop.
Router beherrschen redundante Verbindungen. Sie verwenden stets die schnellste. Im Beispiel in Abbildung 4.33 (linker Teil des Schemabildes) verläuft die schnelle Verbindung über die Router 1 und 3. Die langsamere Verbindung über die Router 2, 4 und 5 ist als Alternative hinterlegt.
Wenn nun Ihre schnelle Verbindung nicht mehr genutzt werden kann, kennen die Router die Ausweichstrecke, hier im Beispiel (Abbildung 4.33, rechter Teil des Schemabildes) über die Router 2, 4 und 5.
Abbildung 4.33 Links: Router bevorzugen stets die schnellste Verbindung; rechts: aktivierte Ersatzroute.
In der Praxis finden Sie bei der Internetanbindung kleinerer Netze eine ISDN-Anbindung als Notfalllösung vor. Fällt die DSL- oder Mietleitung aus, baut der Router über einen eingebauten ISDN-Anschluss eine »Notverbindung« per Einwahlleitung auf.
Sie können auch PCs als Router konfigurieren. Normalerweise verwenden Sie aber eigens dafür geschaffene Geräte. Bei Privatkunden und Firmen finden Sie oft DSL-Router in den verschiedensten Ausführungen. In manche Geräte ist ein kleiner Switch integriert. Andere Modelle besitzen WLAN-Funkeinrichtungen. Router finden Sie auch in den LAN-Verteilerschränken von Unternehmen, die ihre Filialen untereinander vernetzt haben.
Allgemeines über das Routing
Aufgabe: Datentransport durch ein IP-Netzwerk über Netzwerkgrenzen hinweg
Router tauschen ihre Informationen sowohl mit UDP als auch mit TCP aus.
Routing-Arten:
-
Dynamisches Routing: Die Routing-Tabelle ändert sich. Über das Routing-Protokoll werden Erreichbarkeitsdaten zwischen den Routern ausgetauscht.
-
Statisches Routing: Feste Vorgaben der Routen; Router kann nicht bei Netzproblemen reagieren und z. B. Ausweichstrecken benutzen.
Wichtige Protokolle:
Begriffe:
-
Standard-Gateway (Standard-Router): leitet alle Anfragen eines Subnetzes an ein anderes (Sub-)Netz weiter. Gateways im ursprünglichen Sinne verbinden verschiedenartige Netze.
-
AS: autonomes System; von einem Internet-(Infrastruktur-)Provider betreuter Bereich des Internets
-
Metrik: Angabe über den Aufwand für eine Verbindung (Hops, Geschwindigkeit usw.)
Über die Eigenschaften der Routing-Protokolle müssen Sie dann informiert sein, wenn Sie Router-Hardware beschaffen. Im Allgemeinen treffen Sie auf Geräte, die auch mit mehreren Protokollen arbeiten können:
-
BGP: Dieses Protokoll kann gut mit mehreren Verbindungen zu verschiedenen Routing-Domains umgehen (Inter-Domain Routing). Internetbenutzer könnten damit sogar gleichzeitig mit mehreren Internet-Service-Providern verbunden sein. In den RFCs 1195, 2474, 3168, 3260, 4301, 5302, 5304, 6040, 6232, 6233, 7619, 8311, 8436 und 8918 sowie unter www.bgp4.as finden Sie weitere Informationen darüber. BGP4 ist derzeit ein Quasistandard.
-
IS-IS: Sie finden hier viele Dinge von OSPF. Zusätzlich steht Ihnen hier ein Domänenkonzept zur Verfügung, mit dem Sie hierarchische Netzstrukturen gut bedienen können. In der Berechnung der Metrik finden Sie unter anderem die Werte von Fehlerrate, Leitungskapazität und Laufzeit. Details finden Sie in den RFCs 4271, 4456, 6286, 6608, 6793, 7606, 7607, 7705, 8212, 8654 und 9072.
-
OSPF: Innerhalb eines autonomen Systems (AS) können Sie mit diesem Protokoll Routing-Aufgaben erledigen lassen (Intra-Domain Routing). Es kommt auch mit hierarchischen Strukturen zurecht. OSPF verwendet stets den kürzestmöglichen Weg (also wenige Hops). Bei mehreren gleichwertigen Verbindungsmöglichkeiten benutzt das Protokoll alle und ermöglicht damit eine Lastverteilung. In den RFCs 2328, 5709, 6549, 6845, 6860, 7474 und 8042 finden Sie weitere Details.
-
RIP: Dieses Protokoll sollten Ihre Router nicht mehr verwenden. OSPF und BGP haben es abgelöst. Die RFCs 2453 und 4822 erläutern Ihnen die Funktionsweise.
Tiefer möchte ich an dieser Stelle nicht in die Theorie der Routing-Protokolle einsteigen. In der Praxis kaufen Sie die Geräte, konfigurieren einige wenige Punkte und haben damit weiter nichts mehr zu tun. Sie führen allenfalls Firmware-Updates durch oder pflegen Konfigurationsänderungen ein.
4.7.1 Gemeinsame Nutzung einer IP-Adresse mit PAT
Ein kleines lokales Netz schließen Sie normalerweise per ISDN-Einwahl oder DSL an das Internet an. Ihr Provider weist Ihnen entweder dauerhaft oder temporär eine IPv4-Adresse zu. Ihre Rechner im lokalen Netz verfügen über private IPv4-Adressen. Nach außen, im Internet, werden sie aber nur durch diese einzige IPv4-Adresse repräsentiert.
Sie möchten vom Internet aus auf einen FTP-Server zugreifen, der auf einem Ihrer Rechner im lokalen Netz läuft. Ihr Router tritt als Stellvertreter dieses Rechners auf und leitet die entsprechenden Pakete an diesen Rechner weiter. Zum Gelingen dieser Aktion trägt PAT (Port and Address Translation) bei, auch bekannt unter dem Kürzel NAPT (Network Address Port Translation).
-
Network Address Translation (NAT) und PAT bieten Ihnen mehr Netzwerksicherheit. Ihre Rechner des lokalen Netzes sind im Internet nicht direkt »sichtbar«. Verschiedene Angriffsmethoden funktionieren deshalb nicht.
-
Wenn IPv6 flächendeckend eingeführt worden ist, werden Sie normalerweise keine einzelne IP-Adresse mehr mit mehreren Rechnern teilen müssen. Sie werden dennoch einen Router benötigen, da Sie weiterhin im lokalen Netz »private« Adressen verwenden werden.
4.7.2 Festlegen des Standard-Gateways
In Abbildung 4.4 in Abschnitt 4.2.1 sehen Sie die manuelle Netzwerkkonfiguration eines Windows-PCs. In diese Maske tragen Sie auch das Standard-Gateway ein, das auch als Default-Router bezeichnet wird.
Bei Debian-Linux tragen Sie die Information für die jeweilige Netzwerkkarte in die Datei /etc/network/interfaces ein (siehe den Abschnitt »Linux« in Abschnitt 4.2.1) ein. Wenn Sie FreeBSD verwenden, setzen Sie den Eintrag unter /etc/rc.conf (siehe den Abschnitt »FreeBSD« in Abschnitt 4.2.1) ebenfalls bei der Netzwerkkarte (defaultrouter). Natürlich können Sie auch sysinstall zur Konfiguration verwenden.
Sie können diesen Eintrag (und alle anderen Routen auch) später nach dem vollständigen Rechnerstart ändern. Bei Linux und FreeBSD erstellen Sie dazu einfach ein RC-Skript, das die neuen Einträge setzt und sie gegebenenfalls beim Herunterfahren oder Wechsel in den Runlevel 1 wieder zurücksetzt. Solange das System nicht »für die Öffentlichkeit« arbeitet, werden seine Anfragen über das Gateway in das »geschützte« Netz geleitet. Sie können dann per Netz Sicherheits-Updates aufspielen oder andere, ebenso sicherheitsrelevante Arbeiten vornehmen.
4.7.3 Routing-Tabelle abfragen (»netstat«)
Sie können mit netstat die Routing-Tabellen Ihrer Systeme kontrollieren. Sie kommen damit falschen Einträgen, z. B. für das Default-Gateway, auf die Spur. Dieses Kommando können Sie auf allen gängigen Betriebssystemen absetzen; es unterscheiden sich aber teilweise die Optionen und der Umfang der Ergebnisanzeigen. Ich erkläre hier nur das Abfragen der Routing-Einträge. Weitere Ausführungen zu netstat finden Sie in Abschnitt 10.7.2, »Verbindungen mit ›netstat‹ anzeigen«. Geben Sie im Terminal (oder dem »DOS«-Fenster) netstat -r ein. In Abbildung 4.34 sehen Sie die Abfrage unter Debian-Linux. Dieselbe Ausgabe erhalten Sie übrigens mit dem Kommando route –n.
Abbildung 4.34 Ausgabe »netstat«
Sehen Sie sich die Ausgabe von netstat genauer an. Der Rechner hat zwei aktive Netzwerkkarten (eth0 und eth1), die in der rechten Spalte Iface aufgeführt werden. Die linke Spalte gibt das Ziel an. Hier finden Sie entweder eine IP-Adresse oder den Eintrag default. In diesem Fall wird hierher der gesamte Datenverkehr außerhalb des eigenen Netzes (hier 192.168.0.0) geschickt. In der zweiten Spalte von links finden Sie die Angabe für den Router. Das Zeichen »*« besagt, dass für das angegebene Ziel kein Router notwendig ist (hier lokales Netz). Dafür finden Sie zusätzlich eine Spalte weiter die passende Netzmaske (255.255.255.0). Für den Standard-Router finden Sie die IP-Adresse (192.168.0.1) sowie den Netzmaskeneintrag (0.0.0.0). Letzterer zeigt Ihnen zusätzlich an, dass alle nicht für das weiter oben angeführte lokale Netz bestimmten Pakete an diesen Router gegeben werden. Die Spalte Flags gibt Ihnen weitere Auskünfte (Tabelle 4.10). Die weiteren Angaben sind für die Kontrolle der Route ohne Belang.
Flag-Wert |
Bedeutung |
---|---|
! |
Sämtliche Datagramme werden verworfen. |
D |
Bezeichnet eine dynamische Route, die mittels ICMP-Nachricht oder eines Routing-Daemons erzeugt wird. |
G |
Die Route verläuft über ein Gateway. |
H |
Die Route bezieht sich auf einen einzelnen Host und kein (Teil-)Netz. |
M |
Der Eintrag wurde durch eine ICMP-Nachricht verändert. |
U |
aktive Netzwerkschnittstelle |
Tabelle 4.10 Flag-Werte der »netstat«-Ausgabe
4.7.4 Routenverfolgung mit »traceroute«
Für die Verfolgung einer Route verwenden Sie traceroute. Sie müssen immer das Ziel als IP-Adresse oder Namen angeben. Die Option –6 prüft die Routen mit IPv6-Adressen. In Abbildung 4.35 sehen Sie zunächst eine Anfrage innerhalb des lokalen Netzes (1 Hop), weiter unten eine nach außerhalb (10 Hops).
Abbildung 4.35 Ausgabe von »traceroute«
4.7.5 Route manuell hinzufügen (»route add«)
Mit dem Befehl route add setzen Sie neue Einträge in die Routing-Tabelle des Systemkerns. Sie können sowohl einen Host (-host <ADRESSE>) als auch ein ganzes Netzwerk (‐net <ADRESSE>) als Ziel angeben. Unter Linux und FreeBSD finden Sie weitere Informationen, wenn Sie in der Shell man route eingeben. In Abbildung 4.36 sehen Sie das Setzen der Default-Route (Standard-Gateway). Mit der Zusatzangabe default gw drücken Sie dies in diesem Kommando aus.
Abbildung 4.36 Setzen der Default-Route
Eine Route in ein weiteres Netz richten Sie mit der Angabe -net ein, wie Abbildung 4.37 zeigt. Hierbei müssen Sie auch die Netzmaske und die Schnittstelle angeben.
Abbildung 4.37 Setzen einer Route in ein (weiteres) Netz
Sie können auch zu einem einzelnen Host eine Route setzen (Abbildung 4.38). Sie müssen die Netzwerkkarte angeben. In der Ausgabe von netstat sehen Sie die Kennzeichnung H für den Host.
Abbildung 4.38 Setzen einer Route für einen Host
Für die Betriebssysteme FreeBSD und Microsoft Windows weicht die Syntax des route-Kommandos ab. Sie finden die Befehle für das Setzen von Routen in Tabelle 4.11 und Tabelle 4.12.
Aktion |
Beispiel |
---|---|
Default-Gateway setzen |
route add default 192.168.0.1 |
Routing in ein weiteres Netz; der Router (192.168.1.1) muss mit angegeben werden. |
route add -net 192.168.1.0/24 192.168.1.1 |
Routing an einen einzelnen Host |
route add -host 192.168.1.2 192.168.1.1 |
Tabelle 4.11 FreeBSD: »route add«
Dauerhafte Routeneinträge bringen Sie in der Datei /etc/rc.conf unter. Schlagen Sie hierzu im Systemhandbuch von FreeBSD nach.
Beispiel |
|
---|---|
Route anzeigen |
route print |
Standard-Gateway setzen |
route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 |
Routing in ein weiteres Netzwerk |
route add 192.168.1.0 mask 255.255.255.0 192.168.1.1 |
Dauerhafte Route setzen |
route -p add 192.168.1.0 mask 255.255.255.0 192.168.1.1 |
Tabelle 4.12 Microsoft Windows: »route add«
4.7.6 Route löschen (»route«)
Mit der Option -del löschen Sie Routen aus der Tabelle. Sie müssen dabei die vollständigen Angaben zur Route wie beim Setzen anführen (Abbildung 4.39).
Unter FreeBSD löschen Sie mittels
route del -net 192.168.1.0/24
ein Netz oder mit
route del -host 192.168.1.2
einen Host aus der Routing-Tabelle.
Abbildung 4.39 Löschen von Routen (zu einem Host und einem Netzwerk)
Bei Microsoft Windows geben Sie Folgendes ein:
route del 192.168.1.0 mask 255.255.255.0
Der route-Befehl von FreeBSD und Windows kennt einen Änderungsmodus (change). Damit ändern Sie Angaben in der Routing-Tabelle.