Router - Beuth Hochschule für Technik Berlin

Werbung
Routing
Router
þ Router sind der Schicht 3 (Vermittlungsschicht) des OSI-Modells
zuzuordnen und verbinden
ƒ lokale Subnetze zu einem Netzwerk
Dies wird empfohlen bei:
Œ unterschiedlichen Medien und Zugriffsverfahren,
Œ zu viele angeschlossene Rechner,
Œ verschiedene Standorte.
ƒ Netzwerke zu Internetzwerken.
þ Routing bedeutet Wegsuche und Transport von Paketen zwischen
einem Quellsystem und einem Zielsystem, wobei sich Quelle und
Ziel in unterschiedlichen Netzwerken befinden können.
© Prof. Dr.-Ing. Georges Awad
1
Endsystem
DTE
.
.
.
Routing-Algorithmen
Endsystem
DTE
End-zu-End-Beziehung
DCE
DCE
3
.
.
.
3
Paket
2
2
2
2
Rahmen
1
1
1
1
Bit
ein
ÜbertragungsAbschnitt
© Prof. Dr.-Ing. Georges Awad
2
Routing
þ Routing kann erfolgen:
ƒ durch Rechner, die Zugriff auf mehr als ein Netz haben
(multihomed hosts), oder
ƒ durch spezielle (dedizierte) Router bzw. Gateways.
þ Router benötigen Routinginformationen. Diese können statisch
oder dynamisch in Tabellen bereitgestellt werden.
þ Brouter: Unter diesem Kunstwort (Bridge und Router) verbirgt
sich ein Kopplungselement, das Datenpakete durch ein Netzwerk
routet soweit möglich; sobald aber ein nicht-routbares Datenpaket
auf dieses Element trifft, wird dieses protokoll-transparent weitergeleitet (Brücke).
© Prof. Dr.-Ing. Georges Awad
3
Routing
þ Im Gegensatz zu Brücken interpretiert ein Router nur die Pakete,
die direkt an ihn adressiert sind, defaultmäßig erfolgt kein Pakettransport. Nur wenn das Zielnetz bekannt ist, wird ein Paket entsprechend
weitergeleitet. Broacasts werden nicht weitergeleitet.
þ Routing als Funktion oder Dienst läßt sich in zwei
Prozeßklassen unterteilen:
y Routing im Endsystem und
y Routing im Router.
In der Regel sind bei der Realisierung des Routings immer
beide Prozesse beteiligt.
© Prof. Dr.-Ing. Georges Awad
4
Routinging
þ Im Endsystem residiert ein "routbares Protokoll" (Ebene 3
Protokoll), das den Dienst der Vermittlungsschicht zur Verfügung
stellt.
þ In allen beteiligten Routern ist zusätzlich ein Routing-Protokoll
(oder Router-Router-Protokoll) implementiert, das die Wegwahl und
Wegoptimierung über verschiedene Router leistet.
Es benutzt zum Pakettransport das routbare Protokoll.
Das Routing-Protokoll dient dem Aufbau von Routing-Tabellen.
þ Routbare-Protokolle und Routing-Protokolle sind also stets
aufeinander abgestimmt.
© Prof. Dr.-Ing. Georges Awad
5
Router
Routbare Protokolle
Routing-Protokolle
Routing
Endsystem
(Schicht 3)
OSI-Welt
CLNP
(Connectionless Network
Protocol)
ES-IS
ISO 8473
(End System to Intermediate
IS-IS
System)
(Intermediate System to Intermediate
System)
TCP/IP-Welt
IP
(Internet Protocol)
RIP
(Routing Information Protocol)
OSPF
(Open Shortest Path First)
Andere
IPX
XNS-IDP
(Inter Packet eXchange)
NOVELL Netware
(Xerox Network SystemsInternet Datagram Protocol)
Apollo Domain Datagram
HELLO
EGP
(Exterior Gateway Protocol)
BGP
(Border Gateway Protocol)
Apple Talk DDP
BANYAN VINES-IP
© Prof. Dr.-Ing. Georges Awad
6
Routing
WAN
Netz 2
LAN in Frankfurt
LAN in Berlin
Netz 1
Netz 4
2
1
R1
3
Netzadresse 1
Stationsadresse "Hier"
R2
Netz 3
Port 1
Netzadresse 4
Stationsadresse "Dort"
WAN
R3
Port 2
R1
Port 3
Routingtabelle von R1
Aller Verkehr nach Netz 1 via Port 1
Aller Verkehr nach Netz 2 via Port 2
Aller Verkehr nach Netz 3 via Port 3
Aller Verkehr nach Netz 4 zu R2 via Port 2 (Optimierungskriterium: z.B. Kosten)
oder zu R3 via Port 3 (Optimierungskriterium: z.B. Geschwindigkeit)
© Prof. Dr.-Ing. Georges Awad
7
Routing
Generelle Forderungen an Routing Protokollen:
•
•
•
•
Ein Router soll verschiedene Arten von Kosten (Metrik) für die
Routenwahl unterstützen, wie Entfernung, Kosten, Durchsatz,
Verzögerung oder Sicherheit einer Verbindung.
Wenn es mehrere Routen zur Auswahl stehen, sollen diese Routen
gleichmäßig benutzt werden können, um die Last auf verschiedene
Routen zu verteilen (Load Balancing).
Routenänderungen sollen möglichst schnell an alle betroffenen Router
bekannt gegeben werden.
Netzlast, die durch die Kommunikation zwischen den Routern entsteht,
möglichst gering halten.
Diese Forderungen werden von den Routing Protokollen auf
unterschiedliche Weise erfüllt.
© Prof. Dr.-Ing. Georges Awad
8
Routing
Wichtige Routing Protokolle:
Routing Information Protokoll (RIP),
Open Shortest Path First (OSPF) und
Border Gateway Protocol (BGP).
RIP wurde hauptsächlich in den Anfängen des Internets benutzt. Heute
wird neben OSPF ein weiteres Protokoll eingesetzt (IS-IS), das ähnliche
Funktionen wie OSPF aufweist.
Es ist nicht möglich, dass alle Router im Internet ihre Informationen
miteinander austauschen – es würde viel zu lange dauern alle
Routenänderungen bei der großen Menge der Router zu verteilen. Es
werden daher Regionen definiert, die getrennt voneinander administriert
werden und innnerhalb derer die Routen optimiert werden. Zwischen
diesen Regionen, die autonome Systeme (AS) genannt werden, wird die
Kommunikation mit speziell dafür entwickelten Routing-Protokollen
durchgeführt; hier kommt heute hauptsächlich das Border Gateway
Protocol (BGP) zum Einsatz.
© Prof. Dr.-Ing. Georges Awad
9
Routing
Statisches und Dynamisches Routing
Statisches Routing
•
kann keine Knoten- oder Leitungsausfälle behandeln,
•
kann keine neuen Leitungen oder Geräte berücksichtigen,
•
kann die Kosten einer Strecke nur einmalig festgelegen.
Dynamisches Routing
• bestimmt automatisch den besten Weg - den kürzesten Pfad - aus mehreren
Alternativen,
•
kann sich an veränderte Bedingungen - wie neue oder ausgefallene Strecken anpassen,
•
kann häufig die Last auf mehrere Routen verteilen,
•
erreicht Kostenersparnis durch weniger Administrationsaufwand.
© Prof. Dr.-Ing. Georges Awad
10
Routing-Algorithmen
A
E
G
DTE1
DTE2
B
H
D
C
F
Teilstrecke
Knoten
© Prof. Dr.-Ing. Georges Awad
11
Routing-Algorithmen
A
E
G
DTE1
DTE2
B
H
D
C
F
Teilstrecke
Knoten
Ziel
1.Wahl
über
2.Wahl
über
3.Wahl
über
A
A(0,59)
C(0,20)
G(0,20)
C
C(0,73)
A(0,21)
G(0,05)
.
.
.
.
.
.
.
.
A(0,25)
C(0,05)
.
.
H
.
© Prof. Dr.-Ing. Georges Awad
G(0,69)
.
12
Routing-Algorithmen
Routing-Algorithmen
nicht adaptive Algorithmen
adaptive Algorithmen
Wegewahl unabhängig vom
aktuellen Netzgeschehen
zentralisierte
Zustand im Gesamtnetz
wird berücksichtigt
© Prof. Dr.-Ing. Georges Awad
Wegewahl abhängig vom
aktuellen Netzgeschehen
isolierte
Zustand im lokalen
System wird berücksichtigt
verteilte
Mischung aus isolierten
und zentralisierten
Verfahren
13
Die Vermittlungsschicht (Network Layer)
Die Hauptaufgabe der Vermittlungsschicht ist Pakete vom Ursprung zum Ziel, über beliebige,
untereinander verbundene Datenleitungen und Netze zu bringen, und ist damit die unterste
Schicht, die sich mit der Ende-zu-Ende-Übertragung befaßt.
Zur Bewältigung dieser Aufgabe muß die Vermittlungsschicht über den inneren Aufbau der
einzelnen Netze Bescheid wissen und geeignete Pfade durch das oder die Subnets wählen. Mit
dieser Wahl, die sehr sorgfältig durchgeführt werden muß, um zu vermeiden, daß einige
Verbindungen überlastet werden, während andere ungenutzt bleiben, wollen wir uns im nächsten
Kapitel beschäftigen.
Leitwegbestimmung (Routing)
Routing ist eine Ansammlung von Algorithmen, die verwendet wird, um bei Punkt-zu-PunktNetzwerken, bei denen zwischen je zwei angeschlossenen Systemen eine Vielzahl von
potentiellen Wegen existieren können, den "optimalen" Weg zu bestimmen, entlang dem
Nachrichten zwischen Sender und Empfänger ausgetauscht werden. Bei einem BroadcastNetzwerk z.B. einem Ring- oder Bus-LAN, wo nur ein einziger Pfad für die gesamte
Kommunikation zur Verfügung steht, ist kein Routing erforderlich.
Da der "optimale" Weg recht unterschiedliche Eigenschaften aufweisen kann (z.B. bezüglich
Übertragungsdauer, Kommunikationskosten, Überlastungswahrscheinlichkeit, Störanfälligkeit,
etc.) wurden zu diesem Zweck eine Vielzahl von Algorithmen vorgeschlagen, die in der Regel
heuristisch arbeiten, also nicht unbedingt optimale Ergebnisse liefern.
Diese Algorithmen können in zwei Hauptgruppen aufgeteilt werden: adaptive und nichtadaptive
Routing-Algorithmen, von denen wir einige ausgesuchte Verfahren hier kurz darstellen wollen.
Hinweis: Routing-Algorithmen sind grundsätzlich auf Datagramm-Subnets und Subnets mit
virtuellen Verbindungen anwendbar, wobei die Wegewahl-Entscheidung bei den DatagrammSubnets für jedes einzelne Paket und den Subnets mit virtuellen Verbindungen für die gesamte
Verbindung erfolgt.
Nichtadaptive Algorithmen (static routing) gründen ihre Wegewahl-Entscheidung unabhängig
vom aktuellen Netzgeschehen. Jeder Netzknoten besitzt eine Tabelle aller potentiellen Ziele mit
gewichteten Wegen. Die Wege werden unter Berücksichtigung der Gewichtungen ausgewählt.
Diese Tabelle wird nicht dynamisch angepaßt, so daß Überlastungen und Ausfälle nicht
berücksichtigt werden können. So führt z.B. der Ausfall eines Abschnitts bei dieser Art der
© Prof. Dr. Georges Awad
Wegewahl dazu, daß alle Systeme nicht mehr erreicht werden können, deren Route über den
defekten Abschnitt läuft.
Lassen Sie uns anhand eines sehr vereinfachten Beispiels diese Methode erläutern:
Beispiel:
Betrachten Sie das Subnet von Abbildung 1. Wir wollen in unserem Beispiel den schnellsten Weg
zwischen DTE1 und DTE2 festlegen (optimaler Weg ‘ kürzeste Übertragungsdauer). Dazu lassen
wir ein Testpaket alle möglichen Wege zwischen beiden DTEs laufen und tragen die erhaltenen
Übertragungszeiten in die verschiedenen Tabellen der Knoten ein. Jeder Knoten hat seine eigene
Tabelle.
A
E
G
DTE1
DTE2
B
H
D
C
F
Teilstrecke
Knoten
Abbildung 1: Ein Beispiel-Subnet
Abbildung 2 zeigt einen Ausschnitt aus der Tabelle in Knoten B. Wenn B ein Paket mit dem Ziel H
empfängt, wird die Zeile mit der Beschriftung H benutzt. Wir entnehmen der Tabelle, daß die
schnellste Strecke von B nach H über G, die zweitschnellste über A und die drittschnellste über C
geht. Um jedoch zu vermeiden, daß die einzelnen Kommunikationsleitungen stark belastet
werden, was zur Senkung der gesamten Netzleistung führen kann, wird der Datenverkehr auf
mehrere Pfade verteilt.
Dies wird durch die Gewichtung der verschiedenen Wahlmöglichkeiten erreicht. In unserem
Beispiel hat G die Wichtung 0,69, A 0,25 und C 0,05. Nun erzeugt B eine Zufallsziffer zwischen
0,00 und 0,99 und entscheidet entsprechend des Ergebnisses über welche Strecke das Paket
weitergeleitet wird. In unserem Beispiel: von 0,00 bis 0,69 über G, zwischen 0,70 und 0,94 über A
und zwischen 0,95 und 0,99 über C.
© Prof. Dr. Georges Awad
Ziel
1.Wahl
über
2.Wahl
über
3.Wahl
über
A
A(0,59)
C(0,20)
G(0,20)
C
C(0,73)
A(0,21)
G(0,05)
.
.
.
.
.
.
.
.
A(0,25)
C(0,05)
.
.
H
.
G(0,69)
.
Abbildung 2: Routingtabelle für Knoten B
Sie haben sicher festgestellt, daß das von uns für einen optimalen Weg gewählte Kriterium
(Übertragungsdauer) nicht immer gewährleistet werden kann. Vor allem nicht, wenn die oben
ausgearbeiteten Tabellen einmalig festgelegt, und vor dem Hochfahren des Netzes in die Knoten
geladen werden. Denn die Übertragungsdauer eines Pakets ist nicht nur von der geographischen
Länge einer Strecke abhängig, sondern z.B. auch von der Verkehrsdichte (Stau), der
Störanfälligkeit oder der Bandbreite des Übertragungsmediums. Dafür sind andere RoutingAlgorithmen notwendig, die das aktuelle Geschehen auf einer Strecke bzw. im gesamten Netz
beobachten und die Tabellen in den Knoten entsprechend mit den neuesten Informationen
versorgen. Diese nennt man adaptive Routing-Algorithmen.
Adaptive Algorithmen treffen ihre Wegewahl-Entscheidung in Abhängigkeit vom aktuellen
Netzgeschehen, d.h. abhängig von der Änderungen des momentanen Datenverkehrs und der
Topologie (eine veränderte Topologie kann z.B. durch den Ausfall von Verbindungsleitungen und
Netzknoten verursacht werden).
Es gibt drei unterschiedliche Familien von adaptiven Algorithmen, die unterschiedliche
Informationen verarbeiten. Die globalen Algorithmen (auch zentralisierte Algorithmen genannt)
benutzen Informationen, die aus dem ganzen Subnet zusammengetragen wurden und versuchen
so, optimale Entscheidungen zu fällen. Die lokalen Algorithmen (isolierte Algorithmen) laufen
separat auf jedem Netzknoten und nutzen lediglich dort vorhandene Informationen, z.B. Länge
der Warteschlagen. Die dritte Klasse von Algorithmen benutzt eine Mischung globaler und lokaler
Informationen. Diese werden verteilte Algorithmen genannt.
© Prof. Dr. Georges Awad
Routing-Algorithmen
nicht adaptive Algorithmen
adaptive Algorithmen
Wegewahl unabhängig vom
aktuellen Netzgeschehen
Wegewahl abhängig vom
aktuellen Netzgeschehen
zentralisierte
Zustand im Gesamtnetz
wird berücksichtigt
isolierte
Zustand im lokalen
System wird berücksichtigt
verteilte
Mischung aus isolierten
und zentralisierten
Verfahren
Abbildung 3: Routing-Algorithmen
‰ Zentralisierte Algorithmen
Jeder Knoten sendet seinen aktuellen Zustand (Belastungen, bekannte Ausfälle) periodisch
an eine Zentrale. Die Zentrale erteilt daraus eine geeignete Wegewahl-strategie und
übermittelt diese allen beteiligten Knoten. Allerdings kosten diese Übertragungen Zeit und
Übermittlungskapazität. Außerdem erhalten die Knoten, die sich in der unmittelbaren Nähe
dieser Zentrale befinden, die neuberechneten
Leitwege früher als die Knoten, die weiter entfernt sind, was zu unterschiedlichen
Wegewahl-Entscheidungen führen kann. Das ernstere Problem, das wir bereits auch bei
anderen zentralgesteuerten Systemen kennen, ist der Ausfall der Zentrale, das hier auch zu
Problemen im ganzen Subnet führen kann.
‰ Isolierte Algorithmen
Jeder Knoten versucht, selbst Informationen zu sammeln, um eine "optimale" Entscheidung
treffen zu können. Es gibt hier mehrere Ansätze, z.B.:
y Hot Potato:
Ein Paket wird immer in die kürzeste der potentiellen Ausgabewarteschlagen
eingereiht, in der Hoffnung, daß auf diesem Weg noch keine Überlastungssituation
vorliegt.
y Backward Learning:
Jedes Paket enthält die Angabe seiner Quelle und die Anzahl der inzwischen
zurückgelegten Teilstrecken. Durch die "Befragung" eines Pakets über seine
© Prof. Dr. Georges Awad
zurückgelegte Strecke, lassen sich u.U. Informationen über mögliche (bessere?) Wege
gewinnen. So kann man z.B. erkennen, ob ein Knoten nach einem Ausfall wieder aktiv
ist.
y Flooding:
Bei dieser Wegewahlstrategie wird ein Punkt-zu-Punkt-Netz wie ein Broadcast-Netz
verwendet, indem das zu sendende Paket auf allen Ausgabekanälen weitergesendet
wird. Obwohl dieses Verfahren, das eine extreme Form der isolierten RoutingAlgorithmen darstellt und eher zu den statischen Verfahren zählt, sehr verschwenderisch mit Netz-Betriebsmitteln umgeht, ist es recht
einfach und sicher und daher brauchbar für die Übermittlung von allgemeinen und sehr
wichtigen Informationen (z.B. für die Wegewahlinformationen von der Zentrale an alle
anderen Knoten bei den zentralisierten Algorithmen). In unserem Beispiel-Subnet von
Abbildung 1 bedeutet Fluten, daß ein Paket, das bei B ankommt mit dem Zielknoten A,
nach A, C und G gesendet wird. Um nun zu verhindern, daß Schleifen entstehen (d.h.
daß das Paket einmal bei G angekommen wieder nach E, F und H geflutet wird und
irgendwann wieder bei B landet, von wo aus dieses Paket eigentlich gestartet ist), oder
daß ein Paket für immer im Netz herrumschwirrt, können folgende Maßnahmen
getroffen werden:
Zeitbeschränkungen: Ein Paket hat eine Lebensdauer von t Sekunden.
Ò Teilstreckenzähler (Hop couter): Ein Paket hat nur eine Lebensdauer
von n Teilstrecken. Danach wird es verworfen.
8 Paketbezeichner: Mit Hilfe von Paketbezeichnern können Pakete erkannt werden, die diesen Knoten schon einmal durchlaufen haben
(wichtig für Schleifen).Die Güte dieser Maßnahmen hängt entscheidend von der Wahl
von 't' bzw. 'n' ab. Werden sie zu groß gewählt, werden viele Pakete unnötig versendet.
Wählt man sie dagegen zu klein, werden einige Stationen diese Pakete möglicherweise
gar nicht empfangen.
‰ Verteilte Algorithmen
Zwischen je zwei Nachbarknoten werden von Zeit zu Zeit explizit Informationen über beste Wege,
Ausfälle, etc. ausgetauscht, was natürlich auch Übermittlungskapazität kostet.
Die oben vorgestellten Verfahren zur Wegewahl sind bis zu einem gewissen Grade akademisch.
In realen Netzen benutzt man sehr häufig Mischformen. Wie Sie bestimmt gemerkt haben, könnte
man das Routing-Problem mit der Verkehrsproblematik in einer Großstadt vergleichen, wenn man
die Fahrzeuge als Pakete betrachtet. Überlegen Sie sich ein Algorithmus, mit dessen Hilfe Sie,
unter Berücksichtigung verschiedener Kriterien wie Entfernungen, Staus etc, zügig zu einem Ziel
vorankommen, ohne in endlose Diskussionen über die völlige Abschaffung von Autos in
Großstädten zu verfallen.
© Prof. Dr. Georges Awad
Herunterladen