Rechnernetze (9) : Die Vermittlungsschicht

avatar

In den letzten drei Beiträgen wurde beschrieben, wie die Transportschicht Kommunikationsdienste zwischen zwei Anwendungsprozessen bereitstellt, die auf zwei verschiedenen Endsystemen laufen. Hierbei benutzt die Transportschicht die Dienste der Vermittlungsschicht.

Die Aufgabe derVermittlungsschicht (network layer) ist der Transport von Transportschicht-Nachrichten, auch Segmente genannt, von einem sendenden Host zu einem empfangenden Host (Host-zu-Host Vermittlung): Aus Sicht der Transportschicht kommunizieren die beiden Hosts, auf denen die beiden Anwendungsprozesse (Sender und Empfänger) laufen, über die Vermittlungsschicht explizit miteinander.
Die Vermittlung eines Segments in der Vermittlungsschicht von Host zu Host umfasst jedoch alle Transitsysteme (Paket-Switches), die auf dem Pfad liegen, der die beiden Hosts verbindet. Dazu muss die Vermittlungsschicht die folgenden Teilaufgaben lösen:

  • Die Pfadermittlung (Routing): Hierbei muss die Vermittlungsschicht die Topologie der Router kennen und einen geeigneten Pfad bestimmen, den ein Paket, in dem ein Segment verpackt wurde, vom Senderhost zum Empfängerhost nehmen soll

  • Die Vermittlung von Paketen: Hier muss für Pakete, die bei einem Transitsystem ankommen, zuerst entschieden werden, über welche ausgehende Verbindung diese weitergesendet werden sollen

In jedem Datagramm-Netzwerk muss die Vermittlungsschicht den Pfad (die Route) für die Pakete festlegen, die diese vom Sender zum Empfänger nehmen sollen. Die Berechnung dieses Pfades ist die Aufgabe des Routing-Protokolls. Im Routing-Protokoll legt der Routing-Algorithmus fest, welchen Pfad ein Paket nehmen soll. Hierbei soll der Routing-Algorithmus einen guten Pfad aus der Menge aller möglichen Pfade zwischen dem Senderhost und dem Empfängerhost auswählen. Üblicherweise wendet man hier ein Kostenmodell an, das jedem Pfad Gesamtkosten zuweist.

Der Algorithmus soll dann den billigsten Pfad berechnen, wobei in der Praxis auch noch weitere Kriterien zu berücksichtigen sind: z. B. sollen durch ein Firmennetzwerk keine Pakete aus den Netzwerken von konkurrierenden Firmen weitergeleitet werden.

gewichtete Graphen

Grundlage zur Formulierung von Routing-Algorithmen sind gewichtete Graphen, die das Netzwerk modellieren. Ein Graph besteht aus einer Menge von Knoten, die durch Kanten miteinander verbunden sind. In gewichteten Graphen ist zusätzlich jeder Kante eine Zahl zugeordnet, die ausdrückt, welche Kosten entstehen, wenn man diese Kante nutzt, um zum direkten Nachbarknoten zu gelangen.
Bei der Nutzung von Graphen für die Formulierung von Routing-Algorithmen stellen die Knoten die Transitsysteme dar, in denen die Routing-Entscheidungen getroffen werden. Die Kanten repräsentieren die Kommunikationsverbindungen zwischen den Transitsystemen. Die Gewichte an den Kanten geben die Kosten der Nutzung dieser Verbindung an, z. B. die aktuelle Wartezeit bei Nutzung der Verbindung oder die Länge der Verbindung (interkontinentale Verbindungen können teurer als lokale Verbindungen sein).

Beispiel: Pfadermittlung

Die Aufgabe eines Routing-Algorithmus ist nun die Ermittlung des billigsten Pfades zwischen einem Quellknoten und einem Zielknoten. Die billigsten Kosten von einem Quellknoten zu einem Zielknoten sind das Minimum aller Kosten über alle möglichen Pfade zwischen der Quelle und dem Ziel.
Die folgende Abbildung zeigt ein Beispiel für die Modellierung eines Netzwerks aus 6 Transitsystemen von A bis F und 10 Kommunikationsverbindungen. Der billigste Pfad zwischen A und C hat die Kosten 3 und führt von A über D und E zu C.

rn9.png

Quelle
https://www.eecs.yorku.ca/course_archive/2010-11/F/3213/CSE3213_17_NetLayer_IP_F2010.pdf [letzter Zugriff: 22.12.2019 21:08]



0
0
0.000
2 comments