Architekturmodelle von RechnernetzenKomplexe Systeme, wie Rechnernetze sie zweifellos darstellen, werden heute von vielen Personen entworfen und realisiert. Um die Zusammenarbeit bei diesem Prozess zu unterstützen, ist eine geeignete Strukturierung des gesamten Problems in Teilprobleme erforderlich. Die Umsetzung eines Rechnernetzkonzepts erfordert darüber hinaus moderne softwaretechnische Methoden, wie die Modularisierung in einzelne, übersichtliche Aufgabenbereiche; in der Informatik wird eine solche Softwarestruktur auch als Softwarearchitektur bezeichnet. Für Kommunikationssysteme wurde 1978 von der internationalen Standardisierungsorganisation (ISO) eine Softwarearchitektur entworfen (OSI=Open System Interface), die heute breite Beachtung findet und als Entwurfsrichtlinie für die meisten Kommunikationssysteme verwendet wird. Nach diesem ISO/OSI-Basisreferenzmodell wird ein Kommunikationssystem in Schichten (layer) aufgeteilt, wobei jeder Schicht eine Menge von Funktionen zugeordnet wird, und einer 'höheren' Schicht sämtliche Funktionen aller 'unteren' Schichten zur Verfügung gestellt wird; jede Schicht implementiert selbst weitere Funktionen, die sie den jeweils höheren Schichten zusätzlich zur Verfügung stellt. Somit erscheint auf der obersten Schicht, auf welche die Anwendungsprozesse zugreifen können, eine große Anzahl von Funktionen, die von den "Anwendern" beliebig verwendet werden könnten. OSIBasisreferenzmodell: Schichtenarchitektur Tatsächlich ist diese Vielfalt an Funktionen nicht erwünscht, da der Anwender (meist ein Prozess auf dem lokalen Rechner) möglichst nur einen Dienst zur Verfügung haben möchte, der sein spezielles Kommunikationsproblem löst. Details der Realisierung dieses Dienstes würden seine Arbeit nur behindern. Aus diesem Grunde fasst die oberste Schicht, die Anwendungsschicht (application layer) genannt wird, sämtliche Funktionen der unteren Schichten zusammen, und bietet dem Teilnehmer einige wenige Dienste an, die er über einfache Dienstprimitive (service primitive) benutzen kann (das Primitiv, vom lat. primitivum).
Zur ersten Grobstrukturierung der OSI-Architektur wird das System in zwei Teile untergliedert, die Übertragungs- und Anwendungsprotokolle genannt werden.
Die Anwendungsprotokolle werden in die Schichten
eingeteilt. Mit der Darstellungsschicht (presentation layer) soll erreicht werden, dass die zu übertragende Information (d.h. die Bedeutung einer Nachricht) innerhalb des Rechnernetzes eindeutig ist. Gegenwärtige Rechensystem stellen Zahlen und Zeichen unterschiedlich dar, so dass ein bloße Übertragung der Datenbits auf verschiedenen Rechensystemen unterschiedlich interpretiert wird.
Wenn alle Teilnehmer ihre Information auf genau eine Weise kodieren, wird die Information von allen Rechnern nur auf genau eine Weise ins Netz geschickt, bzw. vom Netz an die Rechner abgegeben wird. Dadurch kann jeder Rechner mit jedem anderen Rechner kommunizieren, ohne dass sich der einzelne Anwender mit Fragen der Kodierung beschäftigen muss. Der Darstellungsschicht kommt somit die Aufgabe zu, die Kodierung der Information derart durchzuführen, dass sie im Netz einheitlich vorliegt. Die Darstellungsmethode kann zwischen den Kommunikationspartnern ausgehandelt werden. Zur Zeit gibt es nur einen offiziellen Standard für die Darstellung der Information im Netz: ASN.1 (Abstract Syntax Notation Number One). In ASN.1 wird die abstrakte Transfersyntax der Daten beschrieben, d.h. der Wertebereich und die Bedeutung von Daten; die konkrete Transfersyntax, d.h. die Kodierung der Daten in transportierbare Bytes, wird durch die BER (basic encoding rules) festgelegt. Allerdings wird ASN.1 nur bei wenigen Anwendungen eingesetzt, da heute vorwiegend noch proprietäre (herstellerspezifische) Protokolle verwendet werden. Die Kommunikationssteuerungsschicht (session layer) hat die Aufgabe, die geregelte Kommunikation zwischen zwei Teilnehmern sicherzustellen, d.h. festzulegen, wann Teilnehmer A oder wann Teilnehmer B senden darf. Außerdem können Kontrollpunkte (Synchronisationspunkte) gesetzt werden, so dass während einer längeren Kommunikation bei einem Fehler des Netzes die Kommunikation wieder geordnet aufgenommen werden kann. Es wird sogar ermöglicht, die Kommunikation an einem beliebigen Punkt für eine beliebige Zeit zu unterbrechen und später wieder fortzusetzen. Die Funktionalitäten der unteren vier Schichten der OSI-Architektur werden als Übertragungsprotokolle bezeichnet.
Die Transportschicht (transport layer) hat die Aufgabe, den höheren Schichten eine einheitliche Schnittstelle zum Netz zur Verfügung zu stellen. Sie baut End-zu-End-Verbindungen auf und ab und kann mehrere virtuelle Verbindungen gleichzeitig unterhalten (multiplexen). Sie stellt somit das Bindeglied zwischen den Anwendungs- und den Übertragungsschichten dar und wird von uns auch entsprechend als Schnittstelle zwischen der Netzwerkumgebung und der Anwendungsumgebung behandelt. Die Vermittlungsschicht (network layer) bestimmt einen Weg durch ein Netz von Vermittlungsstationen zu einem gewünschten Ziel; während der Datenübertragung zerlegt sie die Datenpakete (packet) in Blöcke (block), welche die Sicherungsschicht übertragen kann; gegebenenfalls führt sie eine Adressumsetzung zur Identifikation von Datenpaketen auf verschiedenen Links durch. Die Datensicherungsschicht (data link layer) garantiert den zuverlässigen Transport von Information zwischen zwei benachbarten (d.h. durch die gleiche Leitung (link) verbundenen) Rechnern. Hier wird die Information in Rahmen (frame) eingepackt und mit zusätzlicher Kontrollinformation zu einem benachbarten Rechner geschickt; in der Regel wird durch ein geeignetes Protokoll die sichere, fehlerfreie Übertragung solcher Rahmen garantiert Die Bitübertragungsschicht (physical layer) ist für die Übertragung einzelner Bits zwischen zwei Rechnern am gleichen Link verantwortlich. Zu diesem Zweck werden im ISO/OSI-Basisreferenzmodell, Spannungswerte, Steckergrößen, Kabeleigenschaften usw. empfohlen (bzw. es wird sich auf den Standard X.21 bezogen, in dem solche Größen festgelegt sind). Das folgende Bild stellt die unteren vier Schichten des ISO/OSI-Basisreferenzmodells dar. Die unteren drei Schichten werden in der Empfehlung X.25 der CCITT festgelegt. Während die oberen Schnittstellen offenbar systematisch aufgebaute Namen verwenden, sind die Namen der PDUs (Protokolldateneinheiten; protocol data units) an den unteren Schnittstellen ganz anders gewählt, da hier das bereits vor dem ISO/OSI-Basisreferenzmodell eingeführte HDLC-Protokoll verwendet wird. X.25Protokoll, Schichten und PDUs
Man sieht an diesem Beispiel, dass sich die Kommunikation mit dieser Architektur relativ gut strukturieren lässt. Allerdings wird dieses Schema in den meisten Anwendungen nicht vollständig eingehalten, da es häufig unnötig kompliziert ist (z.B. in lokalen Netzen), oder weil es andere Protokolle gibt, die bereits früher entwickelt waren, und die sich in der Praxis bereits bewährt haben. Insbesondere wird heute im Internet der sog. TCP/IP-Protokollstapel verwendet, der teilweise eine andere Strukturierung vornimmt. Dennoch eignet sich dieses Modell insbesondere zur Darstellung der Problematik der Kommunikationstechnik, weshalb es häufig in der Literatur verwendet wird. |