|
RouterGroße Netzwerke wie das Internet bestehen aus vielen kleinerenTeilnetzwerken. Die Verbindung der verschiedenen Netzewird durch spezielle Rechner hergestellt. Das sind, neben Bridges, Switchesund Gateways, im Internet vor allem Router. Diese haben die Aufgabe, Datenzwischen Rechnern in verschiedenen Netzen auf möglichst günstigenWegen weiterzuleiten. Zum Beispiel wenn Rechner 1 im Netz B Daten an Rechner2 im Netz C schicken möchte. Router verbinden, im Gegensatz zu Bridges, in OSI-Schicht 3 auchNetze unterschiedlicher Topologien. Sie sind Dreh- und Angelpunkt instrukturiert aufgebauten LAN- und WAN-Netzen. Mit der Fähigkeit,unterschiedliche Netztypen sowie unterschiedliche Protokolle zurouten, ist eine optimale Verkehrslenkung und Netzauslastungmöglich. Routing wird erst dann erforderlich, wenn Kommunikationzwischen Stationen in unterschiedlichen Subnetzen erfolgen soll.Sie sind nicht protokolltransparent, sondern müssen in der Lagesein, alle verwendeten Protokolle zu erkennen, da sieInformationsblöcke protokollspezifisch umsetzen.Klassische Beispiel in Heim- und KMU-Netzen sind die ISDN- oder DSL-Router, welche die Verbindung zum Provider herstellen. Bevor ein Router ein Paket mit einer bestimmten IP-Adresse weiterleitenkann, muß er für diese Adresse zunächst den Weg durch das
Netz zum Zielrechner bestimmen. Das geschieht mit Hilfe spezieller Protokolle
wie ARP, RIP, OSPF, EGP/BGP. Er arbeitet also nicht wie die Bridge oder der
Switch mit den Adressen der MAC-Ebene. Dieses hat den Vorteil, das ein Host nicht
die MAC-Adresse des Empfängers wissen muß, um diesem eine Nachricht zu
übermitteln. Die Adresse der Netzwerk-Protokollebene, z. B. IP genügt.
Dieses Weiterleiten von Daten anhand einer Tabelle heißt Routen.
In der Routingtabelle ist aber nicht der gesamte Weg zu einem Rechner
mit einer bestimmten IP-Adresse gespeichert. Vielmehr kennt der einzelne
Router nur die nächste Zwischenstation (engl. next hop) auf dem Weg
zum Ziel. Das kann ein weiterer Router oder der Zielrechner sein.
Grundlegende Komponenten von Routern
Der Router besteht, wie ein Computer auch, aus CPU und Speicher. Dazu kommen
mehrere Netzwerkadapter, die eine Verbindung zu jenen Netzen herstellen, die
mit dem Router verbundenen sind. Die Adapter sind meist über einen Systembus mit
der CPU des Routers verbunden. Die CPU wiederum hält im Hauptspeicher
des Rechners die Routingtabelle vor.
LAN Interfaces:
Die meisten Router haben ein oder mehrere LAN-Interfaces, je nach
Topologie für Token-Ring, Ethernet, 100BASE-T Fast Ethernet, FDDI oder
auch ATM. Für den Anschluß entsprechender Medien sind entweder
alternativ nutzbare Ports (z.B. Ethernet AUI, BNC, RJ45) vorhanden
oder der Anschluß ist als Einschub realisiert und kann daher den
Erfordernissen angepaßt werden.
WAN Interfaces:
WAN-Leitungen werden von unterschiedlichen Anbietern mit
unterschiedlichen Geschwindigkeiten angeboten. Entsprechend variieren
die Kosten und die Schnittstellen.
Für kleinere Anbindungen (z.B. Workgroups) werden Verbindungen mit
einer Übertragungsgeschwindigkeit von 64 Kbit/s empfohlen. Es gibt
natürlich Applikationen, wo eine geringere Übertragungsrate
ausreicht. Werden höhere Übertragungsraten benötigt, so bietet sich
die in Europa übliche E1-Verbindung (im Prinzip ein ISDN
Primärmultiplexanschluß) mit einer Übertragungsrate von 2048 kbit/s an.
Router haben einen oder mehrere WAN-Ports, die entweder fest eingebaut
sind oder bei modularen Modellen mit entsprechenden Schnittstellenmodulen
aufgerüstet werden können.
Übliche physikalische Schnittstellen für Synchronbetrieb sind RS449,
V.35 und X.21, für asynchronen Betrieb das RS232-Interface.
Für den Anschluß an ISDN wird die S0-Schnittstelle verwendet.
Routing
Da, wie gesagt, Routing auf Schicht 3 stattfindet, wird in diesem Abschnitt
auf das Internet-Protocol vorgegriffen (siehe nach:
TCP/IP).
Wenn einer der Netzwerkadapter ein Datenpaket erhält, so verarbeitet
er zunächst die Schicht-2-Protokolldaten, extrahiert dann das IP-Paket
und reicht es zur weiteren Verarbeitung an die CPU weiter. Diese entnimmt
dem Paketkopf die IP-Adresse des Zielrechners. Wenn nicht der Router selber
adressiert ist, muß das Paket weitergeleitet werden. Dazu sucht die
CPU in der Routingtabelle nach der passenden Next-Hop-Information. Die
Next-Hop-Information beinhaltet zum einen die Nummer des Netzwerkadapters
über den das Paket ausgegeben werden soll und zweitens die IP-Adresse
des Next-Hop. Diese Adresse übergibt die CPU des Routers nun zusammen
mit dem IP-Paket an den entsprechenden Netzwerkadapter. Dieser generiert daraus
ein Schicht-2-Paket und sendet es ab.
Bevor ein Router ein Paket mit einer bestimmten IP-Adresse weiterleiten
kann, muß er für diese Adresse zunächst den Weg durch das
Netz zum Zielrechner bestimmen. Das geschieht mit Hilfe spezieller Protokolle
wie ARP, RIP, OSPF, EGP/BGP.
|
Betrachten wir dazu ein stark vereinfachendes Beispiel. Dabei werden lokale
Netze im folgenden nur noch als gelbe Ovale dargestellt. Innerhalb eines lokalen Netzes
hat jeder Rechner eine eigene IP-Adresse. Zwei Netze werden miteinander über
Router (rotes Rechteck) gekoppelt. |
Bei der Verbindung von mehr als zwei Netzen existieren Knotenpunkte, an
denen eine Richtungsentscheidung getroffen werden muß. Router mit mehreren
Interfaces legen den Weg eines Paketes durch das Netz fest. Es ginge im
Prinzip auch nur mit einem Interface - aber auf Kosten der Performance. |
|
|
Das Konzept wird rasch an vielen Stellen umgesetzt. Es entstehen miteinander
gekoppelte Netze. Aber noch haben nicht alle Netze miteinander eine Verbindung. |
Durch weitere Verbindungen haben nun alle Netze Kontakt. Jeder Rechner kann
mit jedem anderen Rechner kommunizieren, auch wenn sie nicht in zwei benachbarten
Netzen liegen. |
|
|
Durch Querverbindungen entsteht ein vermaschtes System. Auch wenn eine der
Verbindungen ausfällt, kann die Kommunikation weiterlaufen. |
Durch die für das Routen notwendige Untersuchung des Datenpakets,
erhöht sich die Verweilzeit der Daten im Router selbst (Latenzzeit).
Die eigentliche Stärke von Routern liegt in ihrer Fähigkeit
mittels bestimmter Algorithmen den bestmöglichen Weg für ein
Datenpaket zum Empfanger aus seiner Routing-Tabelle zu wählen.
Um die Daten "routen" zu können, ist es notwendig, daß der Router alle
angeschlossenen Netzwerkprotokolle versteht und diese auch die Fähigkeit des
Routens unterstützen. Der Vorteil des Routers gegenüber der Bridge ist
die logische Trennung und die Bildung von (Sub-)Netzen bei TCP/IP bzw. von Areas
bei DECNET.
Weitere Features von Routern sind ihre Netzwerk-Management- und die Filter-Funktionen.
Durch geeignet gewählte Routing-Einstellungen ist es möglich, die
Netwerk-Performance je nach Anforderungen ans Netz zu verbessern. Die Filterfunktionen
auf Netzwerk-Protokollebene sind ähnlich wie bei der Bridge. Router bieten aber
eine generell höhere Isolation da sie z. B. Broadcasts in der Regel nicht weiterleiten.
Außerdem können sie zusätzlich als "screening Router" verwendet werden,
indem z. B. bestimmten IP-Adressen der Zugriff auf bestimmte Netzteile verwehrt wird.
Aus den erwähnten Gründen sind Router in der Regel per Software konfigurierbar.
Bei Hochgeschwindigkeitsnetzen im Gigabitbereich ist die oben beschriebene
Struktur eines Routers nicht mehr ausreichend. Die CPU und der Systembus
müßten dabei die Summe der Übertragungsraten aller angeschlossenen
Netzwerke verarbeiten können. Bei 2 GBit/s Datenübertragungsgeschwindigkeit
entspricht das bei einer angenommenen Paketgröße von 1000 Bits bis
zu zwei Millionen IP-Paketen pro Sekunde und Netzwerkanschluß. Bei solchen
Hochleistungsroutern geht man dazu über, die Aufgabe des Weiterleitens von
IP-Paketen den einzelnen Netzwerkadaptern zu übertragen. Die Netzwerkadapter
erhalten zu diesem Zweck eine eigene CPU und Speicher, in dem sich eine Kopie der
zentralen Routingtabelle des Routers befindet. Trifft bei diesem Routermodell
ein IP-Paket bei einem der Adapter ein, bestimmt dieser den Next-Hop und
gibt das Paket direkt an den entsprechenden Ausgangsadapter weiter. Die
CPU des Routers ist nur noch für die Ausführung der Routingprotokolle
und die Verwaltung der zentralen Routingtabelle sowie anderer administrativer
Aufgaben zuständig. Die zentrale Routingtabelle wird im Fall einer
Änderung anschließend in die Speicher der einzelnen Netzwerkadapter
kopiert.
Die Routingtabelle
Eine einfache Tabelle über alle 232 (bei IPv4) bzw.
2128 (bei IPv6) möglichen IP-Adressen wäre
kaum machbar. Schließlich kann ein Router über die
direkt mit ihm verbundenen Netze nur maximal einige tausend Rechner erreichen.
In der Regel sind es sogar weniger als hundert.
In der Routingtabelle ist auch nicht der gesamte Weg zu einem
Rechner mit einer bestimmten IP-Adresse gespeichert. Vielmehr kennt der einzelne
Router nur die nächste Zwischenstation (engl. next hop) auf dem Weg
zum Ziel. Das kann ein weiterer Router oder der Zielrechner sein.
Die IP-Adressen sind nicht einzeln wahllos auf Rechner in der ganzen
Welt verstreut worden. Bei IPv4 ist der Adreßraum in fünf verschiedene
Klassen A-C unterteilt worden. Jede IPv4-Adresse besteht aus einer Klassenkennung,
einer Netzadresse, einer möglichen Subnetzadresse und einer Rechneradresse.
Jede Organisation im Internet bekommt eine Netzadresse
aus einer bestimmten Klasse zugewiesen. Mit den Netzadressen der verschiedenen
Klassen sind unterschiedliche Kontingente von Rechneradressen verbunden,
je nachdem wie viele Adressen von einer Organisation benötigt werden.
So sind die Netzadressen der Klasse B 14 Bit lang, und für die Adreßverteilung
innerhalb einer Organisation stehen 16 Bit zur Verfügung. Für
die mögliche Aufteilung in Subnetze und die Verteilung der Adressen
an einzelne Rechner innerhalb der Organisationen sind diese selber zuständig.
- Class C-Netz: 3 Byte Netzadresse, 1 Byte Rechneradresse,
- Class B-Netz: 2 Byte Netzadresse, 2 Byte Rechneradresse,
- Class A-Netz: 1 Byte Netzadresse, 3 Byte Rechneradresse.
Beispiel für drei IP-Netze mit Routern
Das folgende Netz besteht aus drei IP-Netzen, die über Router verbunden
sind. Jeder Router hat zwei Netzwerk-Interfaces, die jeweils in zwei der
Netze hängen. Es ist nicht unbedingt erforderlich, für jedes Netz
ein eigenes Interface zu verwenden; über sogenannte 'virtuelle Interfaces'
kann man mehrere Netze auf ein Hardwareinterface legen.
Die Routing-Tabellen dazu sehen so aus:
Router 1 |
Empfänger im Netzwerk | Zustellung über |
192.168.0.0 | direkt |
192.168.1.0 | direkt |
192.168.2.0 | 192.168.1.2 |
|
Router 2 |
Empfänger im Netzwerk | Zustellung über |
192.168.0.0 | 192.168.1.1 |
192.168.1.0 | direkt |
192.168.2.0 | direkt |
|
Routingverfahren
Das Routing (Wegewahl, Pfadsteuerung) hat die Aufgabe,
Pfade für die Übertragung durch ein Netz festzulegen. Jeder
Vermittlungsknoten fällt dabei eine Entscheidung auf welcher
Übertragungsleitung ein eingelaufenes Paket weitergeleitet werden
soll. Im Prinzip läuft die Entscheidung innerhalb des Routers
folgendermaßen ab:
Beim Routing werden diverse Ziele verfolgt:
- Geringe Paketverzögerung
- Hoher Durchsatz
- Geringe Kosten
- Fehlertoleranz
Es gibt eine Reihe von Routingverfahren, die sich hinsichtlich Zentralisierung
und Dynamik unterscheiden:
- Zentralisierung:
Wo werden Wegewahlen getroffen?
- Zentral, in einem Netzkontrollzentrum.
- Dezentral, verteilt über die Vermittlungsknoten.
- Dynamik:
Welche Größen beeinflussen die Wegewahlen?
- Nicht-adaptive Verfahren. Wegewahl sind fest vorgegeben
oder lange Zeit konstant. Der Zustand eines Netzes hat keinen
Einfluß auf die Wegewahl.
- Adaptive Verfahren. Wegewahlen hängen vom Zustand des
Netzes ab (Topologie, Lastveränderungen usw.).
Routingverfahren lassen sich in folgende Teile aufteilen:
- Paketweiterleitung:
- Verbindungslose Vermittlung (Datagramme)
Für jedes Datagramm wird die Wegewahl neu getroffen.
- Verbindungsorientierte Vermittlung (Session-Routing)
Die Wegewahl wird bei der Verbindungserstellung getroffen.
Alle Pakete einer (virtuellen) Verbindung verwenden denselben Weg.
- Wegewahl (Routing):
- Routing-Protokoll (Protokoll zum Austausch von Informationen,
die für die Wegewahl benötigt werden).
- Routing-Algorithmen (Verfahren zur Bestimmung von Wegen).
- Routing-Tabellen (Datenstrukturen, die die Wegeinformationen
speichern).
Statisches Routing
Statisches Routing (Static Routing, Directory Routing)
ist nicht adaptiv und einfach aber sehr häufig benutzt. Die
Eigenschaften sind:
- Jeder Knoten unterhält eine Routing-Tabelle, in der jeder
mögliche Zielknoten durch eine Zeile gekennzeichnet ist.
- Jede Zeile enthält ein oder mehrere Einträge für die zu
verwendende Übertragungsleitung in Richtung des Zieles. Jeder Eintrag
enthält auch eine relative Gewichtung.
- Zum Weiterleiten eines Paketes wird sein Ziel bestimmt, die
entsprechende Zeile aus der Tabelle gesucht und aus ihr die "beste"
Übertragungsleitung ausgewählt. Auf dieser wird das Paket
weitergesendet.
Zentralisiertes Routing
Zentralisiertes Routing arbeitet auf einem zentralen Knoten (Routing
Control Center RCC). Es handelt sich um ein adaptives Verfahren:
- Jeder Knoten sendet periodisch Zustandsinformationen an das RCC,
wie den Leitungszustand, Auslastung, Verkehr usw.).
- Das RCC sammelt diese Informationen und berechnet optimale
Wege durch das gesamte Netz.
- Das RCC übermittelt Routingtabellen zu jedem Knoten.
In großen Netzen dauert die Berechnung sehr lange. Durch Ausfall des
RCC kann das gesamte Netz inoperabel werden.
Isoliertes Routing
Beim isolierten Routing wird die Wegewahl von jedem Knoten nur aufgrund
von Informationen, die er selber sammelt, getroffen. Eine Anpassung
an den den globalen Zustand eines Netzes ist nur mit Hilfe beschränkter
Informationen möglich.
Verteiltes adaptives Routing
Diese Verfahren sind gekennzeichnet durch:
- Jeder Knoten tauscht periodisch Informationen für die
Routing-Entscheidungen mit seinen Nachbarn aus.
- Routingtabellen werden anhand der Informationen von den Nachbarn bestimmt.
- Routing-Informationen werden entweder in bestimmten Intervallen
synchron ausgetauscht.
- Routing-Informationen werden asynchron bei lokalen Änderungen
an die Nachbarn weitergegeben.
Hierarchisches Routing
Bei großen Netzen ist die Speicherung und Übermittlung von Routing-Tabelle
kaum noch möglich (Speicherplatz, Netzbelastung). Desweiteren verlangsamt
das Durchsuchen langer Tabellen die Weiterleitung der Pakete erheblich.
Daher verfährt man wie folgt:
- Aufteilung des Netzes in Regionen.
- Die Knoten in den Regionen haben nur Routing-Informationen
über die eigene Region.
- Mindestens ein Knoten dient als Schnittstelle zu anderen Regionen.
- Eine Hierarchisierung in Regionen, Zonen usw. ist möglich.
|
|
|