Was ist das OSI-Modell?
Das Open Systems Interconnection Model (kurz: OSI-Modell) wurde von der International Organization for Standardization (ISO) als Referenzmodell für eine offene Kommunikation über verschiedene technische Systeme hinweg entworfen. Verständlich wird dieser Punkt, wenn man an die Anfänge des Internets zurückdenkt: Ende der 1970er Jahre standen die führenden Hersteller im Bereich der Netzwerktechnologie vor dem Problem, dass sich durch proprietäre Netzwerkarchitekturen lediglich herstellereigene Geräte verbinden ließen. Kaum ein Hersteller dachte daran, Hardware- oder Software-Komponenten nach den Spezifikationen anderer Hersteller zu bauen. Ein Projekt wie das Internet setzt jedoch gewisse Standards voraus, damit eine gemeinsame Kommunikation möglich wird.
Das OSI-Modell ist das Ergebnis eines solchen Standardisierungsversuchs und bietet als konzeptioneller Rahmen eine Design-Grundlage für herstellerunabhängige Kommunikationsstandards. Dazu unterteilt das ISO-OSI-Modell den komplexen Prozess der Netzwerkkommunikation in sieben Ebenen, die sogenannten Schichten (englisch: layer). Man spricht daher auch vom OSI-Schichtenmodell. Innerhalb der Kommunikation zwischen zwei Systemen müssen auf jeder einzelnen Schicht spezifische Aufgaben erledigt werden. Zu diesen gehören beispielsweise die Kommunikationssteuerung, die Adressierung des Zielsystems oder die Übersetzung von Datenpaketen in physische Signale. Das funktioniert jedoch nur, wenn sich alle an der Kommunikation beteiligten Systeme an gewisse Spielregeln halten. Festgelegt sind diese in sogenannten Protokollen, die an einzelnen Schichten ansetzen oder schichtenübergreifend zum Einsatz kommen.
Das ISO-Referenzmodell selbst hingegen ist kein konkreter Netzwerkstandard. Stattdessen beschreibt es in abstrakter Form, welche Vorgänge geregelt werden müssen, damit die Kommunikation über ein Netzwerk funktioniert.
Die Schichten des OSI-Modells
Anwendern mag die Kommunikation zwischen zwei Computern trivial erscheinen. Tatsächlich müssen bei der Datenübertragung über ein Netzwerk jedoch zahlreiche Aufgaben bewältigt und Anforderungen bezüglich der Zuverlässigkeit, Sicherheit und Integrität erfüllt werden. Es hat sich daher bewährt, die Netzwerkkommunikation in Schichten aufzuteilen. Dabei kommt jeder Schicht ein genau definierter Aufgabenbereich zu. Ein Standard deckt daher in der Regel nur einen Teil des Schichtenmodells ab. Dieses ist hierarchisch aufgebaut: Jede Schicht greift über eine Schnittstelle auf die darunter liegende zu und stellt der nächstoberen Dienste zur Verfügung. Dieses Prinzip hat zwei entscheidende Vorteile:
- Die Aufgaben und Anforderungen, die innerhalb einer Schicht bewältigt bzw. erfüllt werden müssen, sind klar definiert. Standards für jede Schicht können so unabhängig voneinander entwickelt werden.
- Dadurch, dass die einzelnen Schichten klar voneinander abgegrenzt sind, haben Änderungen an einem Standard auf der einen Schicht keinen Einfluss auf Prozesse, die auf anderen Schichten ablaufen. Dies erleichtert die Einführung neuer Standards.
Hinsichtlich ihrer Aufgaben lassen sich die sieben Schichten des OSI-Modell in zwei Gruppen unterteilen: anwendungsorientierte und transportorientierte Schichten. Die Prozesse, die auf den einzelnen Schichten ablaufen, lassen sich am Beispiel der E-Mail-Übertragung vom Endgerät zum Mailserver veranschaulichen:
Anwendungsorientierte Schichten
Die oberen Schichten des OSI-Referenzmodells werden als anwendungsorientierte Schichten bezeichnet. Man unterscheidet die Anwendungsschicht, die Darstellungsschicht und die Sitzungsschicht.
- Schicht 7 – Anwendungsschicht (Application Layer): Bei der Anwendungsschicht handelt es sich um die Ebene des OSI-Modells, die direkten Kontakt zu Anwendungen wie E-Mail-Programmen oder Webbrowsern hat. Hier finden Dateneingabe und -ausgabe statt. Die Anwendungsschicht stellt die Verbindung zu den unteren Ebenen des OSI-Modells her und hält Funktionalitäten für Anwendungen bereit. Am Beispiel derE-Mail-Übertragung lässt sich das folgendermaßen verdeutlichen: Ein Anwender tippt eine Nachricht in das E-Mail-Programm auf seinem Endgerät. Diese Nachricht wird in Form eines Datenpakets in die Anwendungsschicht übernommen. Dabei werden den E-Mail-Daten Zusatzinformationen in Form eines Application-Headers hinzugefügt. Man spricht auch von „Kapselung“. Dieser Header enthält u. a. die Information, dass es sich um Daten handelt, die von einem E-Mail-Programm stammen. Zudem wird das Protokoll definiert, das für die Übertragung der E-Mail auf der Anwendungsschicht verwendet wird (im Fall einer E-Mail normalerweise SMTP).
- Schicht 6 – Darstellungsschicht (Presentation Layer): Eine zentrale Aufgabe bei der Netzwerkkommunikation ist es, sicherzustellen, dass Daten in Standardformaten übermittelt werden. Auf der Darstellungsschicht werden lokale Darstellungen daher in standardisierte Formate überführt. Im Fall der E-Mail-Übertragung wird hier definiert, wie die Nachricht dargestellt werden soll. Dazu wird das Datenpaket um einen Presentation-Header ergänzt. Dieser beinhaltet Informationen darüber, wie die E-Mail codiert ist (in Deutschland in der Regel ISO 8859-1 (Latin1) oder ISO 8859-15), in welchem Format etwaige Anhänge vorliegen (z. B. JPEG oder MPEG4) und wie die Daten komprimiert oder verschlüsselt (z. B. SSL/TLS) sind. So lässt sich sicherstellen, dass das Format der E-Mail auch vom Zielsystem verstanden und die Nachricht entsprechend ausgeben wird.
- Schicht 5 – Sitzungsschicht (Session Layer): Die zentrale Aufgabe, die in der Sitzungsschicht bewältigt wird, ist die Organisation der Verbindung zwischen den beiden Endsystemen. Man spricht daher auch von der Kommunikationsschicht. Hier greifen spezielle Steuerungs- und Kontrollmechanismen, die den Verbindungsaufbau, das Aufrechterhalten der Verbindung sowie den Verbindungsabbau regeln. Für diese Kommunikationsteuerung sind zusätzliche Informationen notwendig, die durch einen Session-Header den zu übertragenden E-Mail-Daten hinzugefügt werden. Die meisten gängigen Application-Protokolle wie SMTP oder FTP kümmern sich jedoch selbst um die Sessions oder sind wie HTTP zustandslos. Das zum OSI-Modell konkurrierende TCP/IP-Modell fasst daher OSI 5, 6 und 7 zu einem Application Layer zusammen. Weitere Standards, die an Layer 5 ansetzen, sind NetBIOS, Socks und RPC.
Transportorientierte Schichten
Auf die drei anwendungsorientierten Schichten des OSI-Modells folgen vier transportorientierte Schichten. Man unterscheidet zwischen der Transportschicht, der Vermittlungsschicht, der Sicherungsschicht und der Bitübertragungsschicht.
- Schicht 4 – Transportschicht (Transport Layer): Die Transportschicht fungiert als Bindeglied zwischen den anwendungsorientierten und den transportorientierten Schichten. Auf dieser Ebene des OSI-Modells wird die logische Ende-zu-Ende-Verbindung, der Übertragungskanal, zwischen den kommunizierenden Systemen realisiert. Auch dafür müssen den E-Mail-Daten gewisse Informationen hinzugefügt werden. Das Datenpaket, das bereits um die Header der anwendungsorientierten Schichten erweitert wurde, wird auf Layer 4 nun um einen Transport-Header ergänzt. Dabei kommen standardisierte Netzwerkprotokolle wie TCP oder UDP zum Einsatz. Zudem werden auf der Transportschicht die Ports definiert, über die sich Anwendungen auf dem Zielsystem ansteuern lassen. Auf Layer 4 erfolgt somit auch die Zuordnung eines Datenpakets zu einer bestimmten Anwendung.
- Schicht 3 – Vermittlungsschicht (Network Layer): Mit Layer 3 erreicht die Datenübertragung das Internet. Auf der Vermittlungsschicht erfolgt die logische Adressierung der Endgeräte. Diesen wird auf Layer 3 eine eindeutige IP-Adresse zugeordnet. Einem Datenpaket wie den E-Mail-Daten im Beispiel wird auf der Ebene 3 des OSI-Modells ein Network-Header hinzugefügt, der Informationen zum Routing und zur Datenflusskontrolle beinhaltet. Auch hier greifen Computersysteme auf Internetstandards wie IP, ICMP, X.25, RIP oder OSPF zurück. Beim E-Mail-Verkehr kommt in der Regel TCP over IP zum Einsatz.
- Schicht 2 – Sicherungsschicht (Data Link Layer): Auf der Sicherungsschicht sorgen Funktionen zur Fehlererkennung, Fehlerbehebung und Datenflusskontrolle dafür, dass Übertragungsfehler vermieden werden. Dazu wird das Datenpaket inklusive Application-, Presentation-, Session-, Transport- und Network-Header von einem Frame aus Data-Link-Header und Data-Link-Trail eingerahmt. Zudem findet auf Layer 2 die Hardware-Adressierung statt. Dabei kommen sogenannte MAC-Adressen zum Einsatz. Der Zugriff aufs Medium wird durch Protokolle wie Ethernet oder PPP geregelt.
- Schicht 1 – Bitübertragungsschicht(Physical Layer): Auf der Bitübertragungsschicht erfolgt die Umwandlung der Bits eines Datenpakets in ein zum Übertragungsmedium passendes physikalisches Signal. Nur dieses kann über ein Medium wie Kupferdraht, Glasfaser oder die Luft übertragen werden. Die Schnittstelle zum Übertragungsmedium wird durch Protokolle und Normen wie DSL, ISDN, Bluetooth, USB (physischer Layer) oder Ethernet (physischer Layer) definiert.
Kapselung und Entkapselung
Datenpakete durchlaufen jede Schicht des OSI-Modells sowohl auf dem Absendersystem als auch auf dem Zielsystem. Alle anderen Geräte, die ein Datenpaket auf dem Weg dorthin passiert, setzen lediglich an Layer 1 bis 3 an. Die E-Mail aus dem Beispiel durchläuft als physikalisches Signal zunächst den Router, bevor der Weg durchs Internet weitergeht. Dieses ist auf Layer 3 des OSI-Modells angesiedelt und verarbeitet daher nur Informationen der ersten drei Schichten; Layer 4 bis 7 werden nicht beachtet. Um Zugriff auf benötigte Informationen zu bekommen, muss der Router das gekapselte Datenpaket zunächst entpacken. Man spricht von „Entkapselung“. Dabei werden die Schichten des OSI-Modells in umgekehrter Reihenfolge durchlaufen.
Zunächst kommt es zur Signaldecodierung auf der Bitübertragungsschicht. Anschließend werden MAC-Adressen auf Layer 2 und IP-Adressen und Routing-Protokolle auf Layer 3 ausgelesen. Anhand dieser Informationen ist der Router in der Lage, eine Weiterleitungsentscheidung zu treffen. Das Datenpaket kann somit wieder gekapselt und basierend auf den gewonnenen Informationen an die nächste Station auf dem Weg zum Zielsystem weitergeleitet werden.
In der Regel sind an einer Datenübertragung mehrere Router beteiligt, auf denen der beschriebene Prozess (Entkapselung und Kapselung) abläuft, bis das Datenpaket in Form eines physikalischen Signals beim eigentlichen Ziel (im Beispiel ein E-Mail-Server) ankommt. Auch hier wird das Datenpaket entkapselt, indem die Schichten des OSI-Modells von Layer 1 bis 7 durchlaufen werden. Die über den E-Mail-Client abgeschickte Nachricht ist somit beim E-Mail-Server angekommen, wo sie für den Abruf durch einen anderen E-Mail-Client bereit steht.