next up previous contents
Nächste Seite: Lokale Netzwerke - Grundlagen Aufwärts: netzall Vorherige Seite: Internet Standards   Inhalt

Das ISO/OSI-Referenzmodell

Die Netzwerkarchitekturen der einzelnen Hersteller verfolgen unter anderem das here Ziel, den gemischten Einsatz unterschiedlicher Hardwareplattformen in Netzen unter Sicherstellung der vollen Funktionalität zu ermöglichen. Einzelne Architekturen haben sich im Laufe der Zeit zu Quasistandards entwickelt, beispielsweise SNA von IBM, DECnet von DEC oder Ethernet von XEROX. Dritthersteller erhalten dadurch die Möglichkeit, eigene Hard- und Software zu produzieren, die dann kompatibel zu Systemen anderer Hersteller sind. In der Regel reicht es nicht aus, einfach zwei Rechner, die miteinander kommunizieren sollen, durch ein Stück Klingeldraht zu verbinden. Dazu braucht's auch jede Menge geeigneter Software, damit diese Hardware (in Form eines Drahtstückes) vom Anwender auch genutzt werden kann2.1. Solange es sich um Datenaustausch innerhalb eines homogenen Systems handelt (Geräte und Software ein und desselben Hersteller), ist das alles (mit Einschränkungen) ohne größere Probleme in den Griff zu bekommen. So richtig problematisch wird die Vernetzung, wenn unterschiedliche Systeme untereinander und miteinander verkabelt werden sollen und darüber hinaus soll dann auch noch ein einwandfreier Datenaustausch gewährleistet sein. Herstellerabhängige Systeme, die ganz bestimmte Protokolle, Übertragungssequenzen, Zeichensätze und Übertragungsmedien einsetzen, werden oft auch als geschlossene Systeme oder proprietäre Systeme bezeichnet. Bei der Festsetzung der entsprechenden Konventionen wurde nicht beabsichtigt, Fremdsysteme anderer Hersteller einzubinden. Im Gegensatz zu diesen geschlossenen Systemen bestehen bei offenen Systemen bestimmte Regeln, die jedem Hersteller zur Verfügung stehen. Hält sich jeder Hard- bzw. Softwarehersteller an diese vereinbarten Konventionen, sind diese untereinander kompatibel und Netzwerkkarten verschiedener Hersteller können in einem einzigen Netz verwendet werden. Da in der EDV Branche jeder Hard- und Software-Hersteller seine eigene Suppe kocht, wurde von Seiten der Standardisierungsgremien schon frühzeitig der Versuch unternommen, gewisse Richtlinien festzulegen, um diese Problematik in den Griff zu bekommen. Bereits im Jahre 1977 wurde von der Internationalen Standardisierungsorganisation (ISO) der Bedarf an Standards für heterogene Netzwerke als dringenst anerkannt. Aufgrund dessen wurde ein Ausschuß für ''Offene Systemzusammenschaltung'' (Open Systems Interconnection, OSI) ins Leben gerufen. Der Grund, warum dieses Modell Open System Interconnection getauft wurde, liegt darin, daß sich dieses Modell mit der Verbindung offener Systeme befaßt, also mit Systemen, die offen sind für die Kommunikation mit völlig anderen Systemen. Fünf bis sechs Jährchen später wurde von diesem Gremium das Architekturmodell für offene Netze präsentiert. Nach diesem Modell läßt sich der Kommunikationsvorgang zwischen autonomen Systemen genau beschreiben. Die Welt der Datenkommunikation wird dabei in sieben hierarchisch angeordnete Ebenen - oder Schichten - zerlegt. Daher firmiert dieses Modell auch unter dem Namen
ISO Sieben Schichtenmodell
oder
ISO/OSI-Referenzmodell
Das Modell selbst macht keinerlei Aussagen über die technische (also hardware- oder softwaretechnische) Realisierung und hat auch keinerlei Spezifikationen bezüglich Rechnerarchitekturen, Betriebssystemen oder Programmiersprachen. Es sei an dieser Stelle klipp und klar gesagt, daß es sich bei dem ISO/OSI Modell um ein Modell handelt und nicht etwa um eine Realisierung von Netzwerkprotokollen oder eine Netzwerkarchitektur. Das ISO/OSI Modell spezifiziert in keiner Weise die exakten Dienste und Protokolle, die in jeder Schicht benutzt werden. Das Modell beschreibt lediglich die Aufgabe jeder Schicht. In [40] wird diskutiert, warum heutzutage das ISO/OSI Modell lediglich ein Referenzmodell ist und nicht realisiert wurde. Bei der Erstellung des ISO/OSI Modells wurden folgende Prinzipien angewendet:
  1. Eine neue Schicht wird genau dann erzeugt, wenn ein neuer Abstraktionsgrad der Kommunikation benötigt wird.
  2. Jede Schicht soll eine genau definierte Funktion ausführen.
  3. Die Funktion, die jede Schicht des Modells ausführt, soll im Hinblick auf die Möglichkeit definiert werden, daß dafür internationale Standards geschaffen werden können.
  4. Die Schichtgrenzen sollen so gewählt werden, daß der Informationsaustausch zwischen den aufeinanderfolgenden Schichten möglichst minimal ist.
  5. Die Anzahl der Schichten soll groß genug gewählt werden, daß die verschiedenen Funktionen nicht in einer Schicht interferieren, aber klein genug, damit die Netzwerkarchitektur nicht vollkommen unübersichtlich wird.
Ein kleines, fast alltägliches Beispiel, illustriert den Grundgedanken dieses Sieben Schichtenmodells zur Datenkommunikation. Ein russischer Erdenbürger - nennen wir ihn Igor - hat im Urlaub eine nette chinesische Mitbürgerin kennengelernt - diese nennen wir Li - und hegt den dringenden und verständlichen Wunsch, mit jener Dame in Briefkontakt zu bleiben. Das kleine Problemchen ist nur, daß Igor halt mal nur russisch lesen und schreiben kann, Madame Li beherrscht nur Chinesisch in Schrift und Sprache. Wir konstatieren: Damit die Kommunikation zwischen den beiden stattfinden kann, müssen Regeln geschaffen werden, wie der Ablauf der Kommunikation stattfinden soll. Also wird festgelegt, daß Igor seinen in kyrillischer Schrift abgefaßten Brief einem Freund gibt, der diesen in die englische Sprache übersetzt und in lateinischer Schrift zu Papier bringt. Dann wird der Brief vom Freund eingetütet, ausreichend frankiert und zur Post befördert. Diese Institution befördert den Brief an die angegebene Adresse in China. Diese Adresse ist die einer Bekannten von Li, die in der Lage ist, den in englischer Sprache geschriebenen Brief ins Chinesische zu übersetzen (chinesische Schrift). Erst wenn Lis Bekannte ihre Tat vollbracht hat, liegt Li der Brief in einer Form vor, mit der sie etwas anfangen kann. Dieser Informationsaustausch ist in Abbildung 2.1 noch einmal skizziert. In diesem Briefverkehr Schichtenmodell erkennen wir drei Schichten:
Oberste Schicht Anwenderschicht Igor und Li
Mittlere Schicht Präsentationsschicht Übersetzer
Unterste Schicht physikalische Schicht Postbeförderung

Abbildung 2.1: Schichtenmodell für den Briefverkehr.

An diesem Beispiel erkennt man auch einige Aspekte der Kommunikation, die bei der Netzwerkarchitektur eine große Rolle spielen. Zunächst einmal stellt obiges Beispiel den Informationsaustausch in heterogenen Systemen dar, denn beide Partner sprechen völlig unterschiedliche Sprachen. Dann sehen wir, daß es Regeln gibt um die Kommunikation ablaufen zu lassen, wenn sich jeder an der Kommunikation beteiligte an diese Regeln hält, dann klappt dies auch. In der Netzwerkterminologie :
Kommunikationsregel      $ \Leftrightarrow$     Protokoll
Klare Aufgabendefinition      $ \Leftrightarrow$     Schnittstellen
Damit die Kommunikation fehlerfrei funktioniert, muß Igors Freund genau wissen, daß er einen in kyrillischer Schrift verfassten Brief in die englische Sprache (und in lateinischer Schrift) übersetzen muß. Er benötigt außerdem die Adresse der Übersetzerin, die den Brief in die chinesische Schrift und Sprache übersetzt. Es liegt auf der Hand, daß die Kommunikation schiefläuft, wenn Igors Freund einen in italienisch verfaßten Brief auf die Reise schickt, mit dem die Übersetzerin nichts anzufangen weiß. Der Vorteil, die Kommunikation in solchen Schichten abzuwickeln, ist unter anderem darin zu sehen, daß Igor sich nicht um die Details kümmern braucht, wie es sein Freund bewerkstelligt, den Brief aus der russischen Sprache ins Englische zu übersetzen. Für ihn reicht es aus, dem Übersetzer ein kyrillisches Schriftstück auf den Schreibtisch zu legen, und er kann sich darauf verlassen, daß die Dinge ihren Lauf nehmen. Ähnlich werden den Übersetzer die Details der Postbeförderung nicht interessieren. Ist der Brief im Kasten, dann übernimmt die ''physikalische Schicht'' sprich die Post - den Datentransport. Welchen Weg der Brief nun geht, ist für den Übersetzer absolut belanglos, Hauptsache er kommt (irgendwann) an den Adressaten. In ähnlicher Art und Weise wird die Kommunikation zwischen Computeranwendungen geregelt. Beim komplexen Datenaustausch zwischen Rechnern ist es notwendig, diese Kommunikationsregeln nicht in einem einzigen Protokoll - also durch eine einzige Regel - zu beschreiben, sondern mehrere Protokolle zu entwickeln, die aufeinander aufbauen. Das ISO/OSI Modell dient als Rahmen für die Beschreibung von Protokollen. Grundlegendes Prinzip dieser Schichtung ist, daß die obere Schicht die Dienste der unteren Schicht in Anspruch nehmen darf, ohne zu wissen, wie die untere Schicht die Aufgaben erfüllt.

Abbildung 2.2: Die sieben Schichten des ISO/OSI Referenzmodells.
\begin{figure}
\centering
\epsfig {file=../pics/osi.eps,width=6cm}
\end{figure}

Die sieben Schichten (siehe Abbildung 2.2) des ISO/OSI-Referenzmodells haben folgende Aufgaben:
$ \ast$
Physical Layer (physikalische Schicht)
Die unterste Schicht beschreibt, mit welchen physikalischen Größen die Daten bitweise über den Übertragungskanal gesendet werden. Das Design dieser Schicht hat zum Beispiel damit zu tun, wenn eine Seite 1 Bit sendet, daß auf der Empfängerseite dann auch 1 Bit ankommt und nicht 0 Bit. Weiter ist die Höhe der Signalspannung ein Thema dieser Schicht, wieviele Mikrosekunden dauert ein Bit, ob Übertragung in beide Richtungen möglich ist oder nur in einer Richtung, wieviele Pins hat der Netzwerkstecker und wozu dient welcher Pin.
$ \ast$
Data Link Layer (Sicherungsschicht)
Aufgabe der Sicherungsschicht ist der Aufbau einer möglichst fehlerfreien Verbindung zwischen Endsystem und Netzzugang. Die von den übergeordneten Schichten kommenden Daten werden in Blöcke zusammengefaßt, es findet eine Blocksynchronisation statt, Fehlererkennung und deren Korrektur.
$ \ast$
Network Layer (Vermittlungsschicht)
Die Vermittlungsschicht - diese nennt man mitunter auch Netzwerkschicht - ist für die Steuerung und Kontrolle des Kommunikations - Subnetzes zuständig. Wichtigstes Designelement dieser Schicht ist die Festlegung, wie die Pakete von der Sendestation zur Empfangsstation geroutet werden. Die Wege können einmal über feste statische Tabellen ermittelt werden. Sie können aber auch erst bei Verbindungsaufbau erstellt werden. Schließlich können die Wege aber auch in einem hohen Maße dynamisch gefunden werden; dabei wird für jedes Paket separat ein Weg zum Zielrechner geroutet, abhängig von der Netzauslastung. Sind gleichzeitig zuviele Pakete im Subnetz, stehen die sich natürlich igendwann im Weg, es entsteht daher ein Flaschenhals. Die Kontrolle dieses Andrangs auf dem Kommunikations-Subnetz ist ebenfalls Aufgabe der Network-Layer. Da die Operators des Subnetzes auch die Butter auf dem Brot verdienen möchten, sind in der Netzwerkschicht Abrechnungsfunktionen integriert. Das Minimum ist eine Funktion, die protokolliert, wieviele Bits, Bytes oder Characters gesendet werden. Damit hat der Subnetz-Betreiber eine Abrechnungsgrundlage in der Hand um das Datenaufkommen kommerziell abrechnen zu können. Interessant wird das Thema dann, wenn die Pakete nationale Grenzen überschreiten, wobei auf der einen Seite ein anderer Abrechnungssatz zählt als auf der anderen. Wenn ein Paket von einem Netz auf ein anderes wandert, um sein Zielrechner zu erreichen, können jede Menge Probleme auftreten. Das Adressierungsschema des zweiten Netzes kann sich von dem des ersten Netzes völlig unterscheiden. Das zweite Netz kann mit dem ankommenden Paket überhaupt nichts anfangen, da es schlichtweg viel zu groß ist. Die Protokolle unterscheiden sich total, usw. Es ist genau die Aufgabe der Netzwerkschicht, diese Probleme zu lösen und die Möglichkeit zu schaffen, heterogene Netzwerke miteinander zu verbinden.
$ \ast$
Transport Layer (Transportschicht)
Die grundlegende Aufgabe der Transportschicht ist, die Daten aus der darüberliegenden Session-Layer entgegenzunehmen, sie - falls erforderlich - in kleinere Pakete aufzusplitten, diese dann an die untergeordnete Netzwerkschicht weiterzugeben und dafür zu sorgen, daß die Pakete alle korrekt das Ziel erreichen. Weiterhin muß dies alles sehr effektiv ablaufen, die Transportschicht muß unvermeidliche Hardwareänderungen vor den darüberliegenden Schichten verbergen. Aufbau und Unterhaltung einer (virtuellen) Verbindung zwischen zwei Endsystemen (end-to-end); Bereitstellung eines netzunabhängigen Transportmechanismus, Adressierung eines Endteilnehmers.
$ \ast$
Session layer (Kommunikationssteuerungsschicht)
Diese Schicht errichtet, erhält und beendet die Kommunikationssitzungen. Dieser Schicht obliegt auch die Zugangskontrolle.
$ \ast$
Presentation Layer (Datendarstellungsschicht)
Die Presentation Layer - im Gegensatz zu den darunterliegenden Schichten, die ausnahmslos damit beschäftigt sind, Bits hin- und herzuschieben - ist mit der Syntax und der Semantik der übertragenen Informationen beschäftigt. Ein typisches Beispiel für Dienste, die die Presentation Layer zur Verfügung stellt ist die Codierung der Daten in einer standardisierten Weise. Die meisten Programme tauschen keine Bits und Bytes aus, sondern Dinge wie Namen, Adressen, Geldbeträge und Rechnungen. Diese Dinge werden im Rechner codiert in Form von Zeichenketten, Ganzzahlen, Floating-Point Zahlen und Datenstrukturen, die sich aus simpleren Variablentypen aufbauen lassen. Verschiedene Computersysteme benutzen unterschiedliche Codierungen, um Zeichen darzustellen (z.B. ASCII und Unicode), um Ganzzahlen darzustellen (z.B. 1er Komplement oder 2er Komplement) oder um Kommazahlen zu codieren, usw. Damit nun Computersysteme mit unterschiedlichen Codierungen miteinander kommunizieren können, müssen diese Datenstrukturen in eine netzweit verstehbare, abstrakte Form umgewandelt werden - eben in eine Netzwerk-Standardcodierung. Genau dies ist die Aufgabe der Presentation Layer: Sie konvertiert die eingesetzte Zeichen- und Zahlencodierung in die Netzwerk - Standard - Darstellung und wieder zurück.
$ \ast$
Application Layer (Anwendungsschicht)
Die Application Layer enthält eine Vielzahl von Protokollen für unterschiedlichste Zwecke. Es gibt beispielsweise hunderte von inkompatiblen Terminaltypen auf der Welt

Abbildung 2.3: Das ISO/OSI Referenzmodell und Realisierung in TCP/IP und DECnet.


next up previous contents
Nächste Seite: Lokale Netzwerke - Grundlagen Aufwärts: netzall Vorherige Seite: Internet Standards   Inhalt
Yasar Arman
2000-05-15