|
ISO-Referenzmodell für die DatenkommunikationEine wesentliche Forderung in der Datenfernverarbeitung ist das Zusammenschalten unterschiedlicher Stationen (verschiedener Hersteller). Dazu ist eineSchematisierung und Gliederung des Kommunikationsprozesses in wohldefinierte, hierarchische Ebenen (Schichten, Layers) notwendig. Es erfolgt eine Zuordnung der einzelnen Kommunikationsfunktionen zu bestimmten logischen Schichten. Wird in einer Schicht eine Anpassung (Änderung, Erweiterung) vorgenommen, bleiben die anderen Ebenen davon unberührt. ISO (International Standard Organisation) hat für offene Netze ein 7-Schicht-Modell, das OSI-Modell (OSI = Open Systems Interconnection), geschaffen. Dieses Modell liegt nahezu allenKommunikationsgeräten und -Verfahren zugrunde (zur Not werden vorhandene Protokolle in das Schema von ISO/OSI gepreßt). Im OSI-Modell werden die grundsätzlichen Funktionen der einzelnen Ebenen und die Schnittstellen zwischen den Ebenen festgelegt. So ergibt sich eine universell anwendbare logische Struktur für alle Anforderungen der Datenkommunikation verschiedener Systeme. Das OSI-Model liefert- Eine Basis für die Interpretation existierender Systeme und Protokolle in der Schichten-Perspektive (wichtig bei Änderungen).
- Eine Referenz für die Entwicklung neuer Kommunikationsverfahren und für die Definition neuer Protokolle, also eine Grundlage für kompatible Protokolle.
Wesensmerkmale der hierarchischen Schichtenstruktur bei Rechnernetzen sind:
- Das Gesamtsystem wird in eine geordnete Menge von Teilsystemen gegliedert.
- Teilsysteme des gleichen Ranges bilden eine Schicht (engl. Layer).
- Die einzelnen Schichten liegen entsprechend ihrer hierarchischen Rangordnung
übereinander.
- Eine hierarchisch tieferliegende Schicht dient der Erfüllung der
Kommunikationsfunktion der jeweils übergeordneten Schicht.
- Jede Schicht stellt definierte Dienste bereit. Diese Dienste realisieren
bestimmte Kommunikations- und Stuerungsaufgaben.
Die einzelnen Schichten stellen somit definierte Schnittstellen zu ihren Nachbarn
bereit (Schicht 4 hat z. B. Schnittstellen zu den Schichten 3 und 5). Die
Kommunikation findet nur über diese Schnittstellen statt (in der Grafik
senkrecht).
Die rein logische Kommunikation zwischen den beteiligten Stationen A und
B erfolgt jedoch auf der Basis gleicher Schichten (in der Grafik waagrecht,
mit '.' gekennzeichnet). Lediglich bei Schicht 1 handelt es sich um eine
physikalische Verbindung.
Aufgabe der einzelnen Schichten:
- Die Schichten 1 - 4 werden der Transportfunktion zugeordnet
- Die Schichten 5 - 7 werden den Anwenderfunktionen zugeordnet
Zunächst eine kurze Beschreibung der einzelnen Schichten.
Dabei ist auch der zur Schicht gehörende
Datenblock gezeigt. Jede Schicht kann (muß aber nicht) die Daten mit
einem eigenen Header (bzw. Datenrahmen) versehen, der zur Kommunikationssteuerung
auf dieser Schicht dient. Der Datenblock einer Schicht (mit Rahmen) wird
von der Schicht als reine Nutzdaten betrachtet, sie kann so auch an dem
Header der übergeorneten Schicht nichts ändern.
- 7. Anwendungs-Schicht (Application)
Verbindung zum Anwenderprogramm und Dialog mit den Programmen. Eine Standardisierung
ist hier noch in weiter Ferne. Es gibt aber eine Reihe von grundsätzlichen
Diensten, die angeboten werden müssen:
- Austausch von Dateien, d. h. Dateizugriffsdienste über das Netz.
Für das eigentliche Anwenderprogramm ist nicht erkennbar, ob auf eine
Datei lokal oder über das Netz zugegriffen wird.
- Verwaltungsprotokolle für Benutzerzugang, Dateizugriffsrechte,
electronische Post, usw.
- Remote Job Entry, d. h. absetzen von Rechenaufträgen an entfernte
Systeme
- Virtuelle Terminals, d. h. Umleitung der Ein-/AUsgabe eines Programms
auf dem fernen Rechner an den lokalen Bildschirm und die lokale Tastatur.
- Message-Handling-Systeme: Austausch und Verwaltung von Mitteilungen
an Benutzer anderer Systeme.
Die Schicht 7 besteht also trotz ihrens Namens nicht aus den eigentlichen
Anwenderprogrammen - diese setzen auf dieser Schicht auf. Das kann einerseits
direkt geschehen, z. B. beim Zugriff auf Dateien eines anderen Rechners
(Datei-Server) andererseits auch nur durch (lokale) Übergabe von Dateien
an das Message-Handling-System.
- 6. Darstellungs-Schicht (Presentation)
Hier werden für die Anwendung die Daten interpretiert. Überwachung
des Informationsaustausches und Codierung/Decodierung (z. B. EBCDIC in ASCII)
der Daten sowie Festlegung der Formate und Steuerzeichen. Diese Schicht
bildet oft eine Einheit mit der Anwendungsschicht oder sie fehlt ganz, falls
sie nicht benötigt wird. Hier können z. B. "virtuelle Terminals"
eingebunden werden. Wie wir früher schon besprochen haben, besitzen
Terminals ganz unterschiedliche Codes für die Tastatur und die Steuerung
der Darstellung auf dem Bildschirm. In Schicht 6 können diese Codes
in einen einheitlichen Code übersetzt werden.
- 5. Kommunikationssteuerung (Session)
Diese Ebene steuert die Aufbau, Durchführung und Beendigung der Verbindung.
Überwachung der Betriebsparameter, Datenfluß-Steuerung (bei Bedarf
mit Zwischenspeicherung der Daten), Wiederaufbau der Verbindung im Fehlerfall
und Synchronisation. Der Verbindungsaufbau ist ein bestätigter Dienst,
d. h. beide Partner tauschen Parameterübergabe und Bestätigung
im Wechselspiel aus. Danach befinden sich beide Partner in einem definierten
Zustand.
Das trifft nicht für die nächste Phase, den Datentransfer zu.
Es ist aus Zeitgründen z. B. nicht sinnvoll nach dem Senden eines Datenblocks
auf die Bestätigung zu warten. Es wird gleich der nächste Block
geschickt und die Bestätigungen laufen zeitversetzt ein (immerhin muß
alles die Schichten 4 - 1 durchlaufen). Durch sogenannte "Synchronisation
Points" wird die Datentransferphase in Abschnitte unterteilt. Bei einer
Störung oder Unterbrechung kann der Transfer an einen definierten Punkt
wieder aufgenommen werden.
Beide Partner können den Verbindungsaufbau beenden. Das kann ordnungsgemäß
nach Beendigung aller Transfers geschehen (Ende mit Synchronisation) oder
durch Unterbrechen der Verbindung (Ende ohne Synchronisation).
In diese Ebene fallen auch das Ein- und Ausgliedern von Stationen beim Token-Ring
und die Adressierung eines bestimmten Partners.
- 4. Transport (Transport)
Reine Transportfunktion. Diese Schicht stellt sicher, daß alle Datenpakete
den richtigen Empfänger erreichen. Aufbau der Datenverbindung zwischen
zwei Partnern, Datentransport, Flußkontrolle, Fehlererkennung und
-korrektur. Diese Schicht verbirgt die Charakteristika des Netzes (LAN,
WAN, ...) vor den darüberliegenden Schichten. Die Transportschicht
kann z. B. auch bei einer Forderung nach höherem Datendurchsatz mehrere
Verbindungen zum Parner aufbauen und die Daten in Teilströmen leiten
(splitting/combining). Auch das Aufteilen der Daten in passende Blöcke
und die Flußkontrolle obliegen dieser Schicht. Die Dienste der Transportschicht
werden in fünf Klassen unterschieden:
- Klasse 0 ist die einfachste. Es findet gegenüber der Schicht
3 keine Fehlerkontrolle statt und einer Transportverbindung enspricht genau
eine Netzverbindung.
- In der Klasse 1 kommt zwar keine Fehlerbehandlung hinzu, es wird
jedoch versucht, von der Schicht 3 gemeldete Fehler zu beheben und nicht
an die Schicht 5 weiterzuleiten. Z. B. kann bei Unterbrechung der
Transportverbindung versucht werden, diese wieder aufzubauen, ohne
daß dies oberhalb der Schicht 4 bemerkt wird.
- Klasse 2 kann mehrere Transportverbindungen aufbauen (Multiplexverbindung).
In diesem Fall darf die Netzverbindung erst dann getrennt werden, wenn die
letzte Transportverbindung abgebaut ist.
- Klasse 3 deckt die Leistungen der Klassen 1 und 2 ab, d. h. einfache
Fehlerbehandlung und Multiplexen.
- Klasse 4 enthält neben den Funktionen der Klasse 3 zusätzliche
Mechanismen zur Fehlererkennung und -behandlung. Speziell bei Datagramm-orientieren
Netzen (LAN) kann so ein verbindungsorientierter Dienst bereitgestellt werden
(Sicherstellen von Vollständigkeit, Eindeutigkeit und Reihenfolge der
Datenblöcke).
- 3. Vermittlung-/Paket-Schicht (Network)
Diese Ebene dient haptsächlich der Datenpaket-Übertragung. Sie
ist zusändig für die Wahl der Datenwege (routing), für das
Multiplexen mehrerer Verbindungen über einzelne Teilstrecken, für
Fehlerbehandlung und Flußkontrolle zwischen den Endpunkten einer Verbindung
(nicht zwischen den Anwenderprozessen).
Die Flußkontrolle auf dieser Ebene schützt den Endpunkt einer
virtuellen Verbindung für Überlastung. Die Fehlerbehandlung in
dieser Schicht bezieht sich nicht auf Übertragungsfehler (dafür
ist Schicht 2 ausreichend), sondern auf Fehler, die bei der virtuellen Verbindung
auftreten: Erkennen und Beseitigen von Duplikaten, Beseitigen permanent
kreisender Blöcke, wiederherstellen der richtigen Datenpaket-Reihenfolge,
usw.
Bei WANs behandelt diese Schicht die Umsetzung eines Protokolls in ein anderes
(internetworking). Man kann daher die Schicht 3 in drei Teilschichten unterteilen:
- 3a (Subnetwork Access): Abwickeln der Protokolle des jeweiligen
Teilnetzes.
- 3b (Subnet Enhancement): Funktionen der Teilnetze so ergänzen,
daß die Anforderungen von 3c erfüllt werden.
- 3c (Internetworking): Teilnetzunabhängige Protokolle abwickeln
(Routing, globale Adressierung)
- 2. Sicherungs-Schicht (Data Link)
Sicherstellen einer funktionierenden Verbindung zwischen zwei direkt benachbarten
Stationen. Diese Schicht stellt einen definierten Rahmen für den Datentransport,
die Fehlererkennung und die Synchronisierung der Daten zur Verfügung.
Typische Protokolle: BSC, HDLC, TCP, usw. Die Information wird in Blöcke
geeigneter Länge unterteilt, die als Datenrahmen (frames) bezeichnet
werden und mit Prüfinfo für die Fehlererkennung und -korrektur
versehen werden.
Auf dieser Ebene erfolgt auch die Flußkontrolle für die Binärdaten.
Es muß nicht jeder einzelne Rahmen bestätigt werden, sondern
es kann auch eine vorgegebene Maximalzahl von Frames gesendet werden, bevor
die Bestätigung abgewartet werden muß. Über die Bestätigung
der Gegenstation wird der Datenfluß gesteuert. Datenrahmen und Bestätigungen
müssen also nur innerhalb eines Bereichs ("Fenster") liegen.
Bei lokalen Netzen wird diese Schicht nochmals unterteilt:
- 2a (Media Access Control, MAC): Regelt den Zugriff auf das
Übertragungsmedium
- 2b (Logical Link Control, LLC): Vom übertragungsmedium abhängige
Funktionen der Schicht 2
- 1. Bitübertragung (Pysical)
Hier erfolgt die physikalische Übertragung der Daten. Diese Ebene legt
die elektrischen, mechanischen, funktionalen und prozeduralen Parameter
für die physikalische Verbindung zweier Einheiten fest (z. B. Pegel,
Modulation, Kabel, Stecker, Übertragungsrate, etc.)
Veranschaulichung des Schichtenmodells mit einem Beispiel
Das Beispiel arbeitet nur mit drei Schichten. Die Ausgangssituation besteht
in zwei Wissenschaftlern in Arabien und China, die ein Problem diskutieren
wollen. Nun sprechen beide nur Ihre Landessprache und auch Dolmetscher,
die Arabisch und Chinesisch können, sind nicht aufzutreiben. Beide
suchen sich nun Dolmetscher, die Englisch können. Der Weg der Nachrichten:
|
|
|