2.3 Das OSI-Referenzmodell und das TCP/IP-Schichtenmodell

2.3.1 Das OSI-Referenzmodell

Im folgenden wird das in Abb.1 dargestellte OSI-Referenzmodell

genauer betrachtet, um einen Eindruck zu gewinnen, wo das Routing abläuft.

Das Modell basiert auf einem Vorschlag, der von der ISO entwickelt wurde und den ersten Schritt auf dem Weg zur inter-nationalen Standardisierung der verschiedenen Protokolle (Day und Zimmerman, 1983) darstellt. Das Modell trägt deshalb den Namen ISO-OSI-Referenzmodell, weil es sich damit beschäftigt, offene Systeme miteinander zu verbinden, d.h. Systeme, die für die Kommunikation mit anderen Systemen offen sind. Es wird kurz als OSI-Modell bezeichnet.

Das OSI-Modell besteht aus sieben Schichten, wobei folgende Prinzipien zu der Siebenschichtigkeit geführt haben:

1. Eine neue Schicht sollte an der Stelle entstehen, an der ein neuer Abstraktionsgrad benötigt wird.

2. Jede Schicht sollte eine genau definierte Funktion erfüllen.

3. Bei der Funktionswahl sollte die Definition international genormter Protokolle berücksichtigt werden.

In den folgenden Abschnitten werden nun die einzelnen Schichten des OSI-Modells, mit der untersten Schicht beginnend, beschrieben.

Das Modell selbst stellt keine Netzarchitektur dar, da es die auf Dienste und Protokolle der einzelnen Schichten nicht definiert.

Es sagt lediglich etwas darüber aus, was die einzelnen Schichten bewirken sollen. Die ISO hat neben dem OSI-Modell auch Normen für alle Schichten ausgearbeitet, die jedoch nicht Teil des Referenzmodells sind. Diese Definitionen wurden als getrennter öffentlicher Standard veröffentlicht.

Abbildung 1 - OSI-Modell [Tan96, S.45]

Die Bitübertragungsschicht

Die Bitübertragungsschicht (Physical Layer) betrifft die Übertragung von rohen Bits über einen Kommunikationskanal. Ein Bit, das eine Seite mit der Wertigkeit l schickt, muß an der anderen Seite auch als Bit mit der Wertigkeit 1 empfangen werden. Es kommt hierbei auf die mechanischen, elektrischen und prozeduralen Schnittstellen und das physische Übertragungsmedium an, das sich unterhalb der Bitübertragungsschicht befindet.

Die Sicherungsschicht (Verbindungsschicht)

Die Hauptaufgabe der Sicherungsschicht (Data Link Layer) ist es, eine "rohe" Übertragungseinrichtung in eine Leitung zu verwandeln, die sich als frei von unerkannten Übertragungs-fehlern darstellt.

Um dem Strom von Bits, den die Bitübertragungsschicht annimmt und absendet, in eine sinnvolle Form zu bringen, ist es Aufgabe der Sicherungsschicht, Rahmengrenzen einzufügen und zu erkennen.

Ein weiteres Problem, das auf der Sicherungsschicht (und auf den meisten höheren Schichten) auftritt, ist die Datenüber-schwemmung. Diese entsteht, wenn der Sender schneller arbeitet als der Empfänger.

Um dieses Problem zu lösen, muß eine Art Verkehrsregelung vorhanden sein, die dem Sender mitteilt, wieviel Pufferbereich beim Empfänger noch verfügbar ist. Häufig werden sowohl diese Flußregelung als auch eine Fehlerbehandlung integriert.

Broadcast-Netze haben auf der Sicherungsschicht ein zusätz-liches Problem: Der Zugriff auf den gemeinsamen Kanal muß in irgendeiner Form gesteuert werden. Gelöst wird dieses Problem durch eine spezielle Zwischenschicht der Sicherungsschicht, die MAC-Teilschicht.

Die Vermittlungsschicht (Netzwerkschicht)

Die Vermittlungsschicht (Network Layer) hat die Steuerung des Teilnetzbetriebs zur Aufgabe. Eine der wichtigsten Design-aufgaben ist hier die Auswahl der Paketrouten bzw. das Routing vom Ursprungs- zum Bestimmungsort.

Die Leitwegtabellen, mit deren Hilfe der Weg der Datenpakete durch das Netzwerk bestimmt wird, können auf vielfältige Weise aufgebaut werden:

Bei Broadcast-Netzen ist das Routing-Problem sehr einfach, da jedes Datenpaket automatisch zu jeder Maschine gelangt, was zur Folge hat, daß die Vermittlungsschicht hier dünn oder gar nicht vorhanden ist.

Die Transportschicht

Die Transportschicht (Transport Layer) sorgt dafür, daß die Daten, die von der Sitzungsschicht übernommen werden, gege-benenfalls in kleinere Einheiten zerlegt, danach an die Vermittlungsschicht übergeben werden und daß alle Teile richtig bei der Zielmaschine ankommen.

Dies alles muß so effizient wie möglich sein und so implementiert werden, daß die höheren Schichten bei unver-meidbaren Änderungen der Hardware-Technik nicht verändert werden müssen.

Die in der Praxis am häufigsten eingesetzte Art von Transport-verbindungen ist ein fehlerfreier Punkt-zu-Punkt-Kanal, der die Reihenfolge der Datenpakete nicht verändert.

Die Transportschicht ist, wie alle höheren Schichten auch, eine echte Ende-zu-Ende-Schicht (siehe Abb. 1).

Viele Hostrechner arbeiten im Mehrprogrammbetrieb, wodurch viele Verbindungen zum und vom Host entstehen. Deshalb muß bestimmt werden, welche Nachricht zu welcher Verbindung gehört. Der Transport-Header (H4 in Abb. 2) ist eine dafür geeignete Stelle.

Außerdem wird ein Mechanismus zur Steuerung des Informations-flusses benötigt, damit einer schneller Sender einen langsamen Empfänger nicht überholen kann. Ein solcher Mechanismus heißt Flußsteuerung und spielt auf der Transportschicht eine wichtige Rolle (auf anderen Schichten aber auch).

Abbildung 2 - Informationsfluß, der eine virtuelle Kommuni- kation auf Schicht 5 unterstützt. [Tan96, S.36]

Die Sitzungsschicht (Verbindungsschicht)

Die Sitzungsschicht (Session Layer) ermöglicht es Benutzern verschiedener Maschinen, Sitzungen untereinander aufzubauen. Eine Sitzung ermöglicht Datentransporte, bietet aber zusätzlich erweiterte Dienste, die für bestimmte Anwendungen von Bedeutung sind. Ein Benutzer kann sich z.B. in einer Sitzung an einem entfernten System anmelden oder Dateien zwischen zwei Maschinen übertragen.

Die Darstellungsschicht

Die Darstellungsschicht (Presentation Layer) führt Funktionen aus, die durch ihre häufige Verwendung eine allgemeine Lösung rechtfertigen, anstatt jedem Benutzer die Lösung der damit verbundenen Aufgaben zu übertragen.

Der wichtigste Unterschied zu den bisher betrachteten Schichten ist, daß die Darstellungsschicht nicht nur Wert auf das zuverlässige Übertragen von Bits von einem Ort zum anderen legt, sondern sich auch auf die Syntax und die Semantik der übertragenen Informationen kümmert.

Hierunter fällt z.B. die Kodierung von Daten auf standard-isierte und vereinbarte Weise.

Verschiedene Computer haben verschiedene Darstellungscodes für Zeichenketten (z.B. ASCII oder Unicode), Ganzzahlen (z.B. das Komplement von Eins oder Zwei) usw., so daß die auszu-tauschenden Datenstrukturen abstrakt definiert und ihnen eine Standardkodierung mitgebenen werden muß. Diese Aufgabe über-nimmt die Darstellungsschicht, indem sie die interne Darstellungsform des Computers in die Standarddarstellung des Netzes konvertiert.

Die Verarbeitungsschicht (Anwendungsschicht)

Die Verarbeitungsschicht (Application Layer) enthält eine Vielzahl häufig benötigter Protokolle, wie z.B.:

Datenübertragung im OSI-Modell

Abb. 3 zeigt ein Beispiel, wie Daten unter Verwendung des OSI-Modells übertragen werden können.

Vom Senderprozeß werden die Daten nicht direkt an den Empfängerprozeß gesandt, sondern durchlaufen erst die verschiedenen Schichten des OSI-Modells.

Die unterschiedlichen Schichten geben die Daten an die jeweils darunterliegende Schicht weiter, wobei dort ein Header an den Anfang jedes Datenpakets gestellt wird.

Erreicht ein Datenpaket nun die Bitübertragungsschicht der Sendermaschine, dann wird es über das physikalische Medium an die Bitübertragungschicht der Empfängermaschine geschickt.

Dort wird der Prozeß umgekehrt durchgeführt, d.h. in jeder Schicht wird ein Header entfernt und die Datenpakete an die nächsthöhere Schicht übergeben, bis die Daten schließlich beim Empfängerprozeß ankommen.

Zu beachten ist, daß die einzelnen Schichten horizontal programmiert sind, obwohl sie vertikal arbeiten. Dies läßt sich an dem Beispiel eines Diplomaten erklären, der zu den Diplomaten anderer Länder spricht, obwohl er eigentlich nur mit seinem Dolmetscher spricht:

Betrachtet man zwei Schichten, wobei die eine die Diplomaten und die andere die Dolmetscher sind, so ist die Schicht der Diplomaten eine Ende-zu-Ende-Schicht (horizontal), wobei der eigentliche Datenfluß vertikal, also zu, zwischen und von der Schicht der Dolmetscher läuft.


Abbildung 3 - Beispiel der Verwendung des OSI-Modells. Einige Header können Null sein [Tan96, S.51]

[Anfang]   [Inhaltsverzeichnis]   [Weiter]

[Abbildungsverzeichnis] [Literaturverzeichnis]