OSI Schichtenmodell


Netzwerkkommunikation kann aus verschiedenen Blickwinkeln betrachtet werden. So ist beispielsweise der Download einer Datei aus dem Internet eine Sicht auf Netzwerkkommunikation, ebenso wie die Lichtimpulse in einer Glasfaserleitung neben der Autobahn. Das „ISO/OSI-Schichtenmodell” ordnet diese unterschiedlichen Sichten.

Das Modell teilt die Kommunikation in sieben Schichten ein. Jede Schicht, abgesehen von der untersten, nutzt die Dienste der darunterliegenden Schicht und stellt außerdem selbst Leistungen für die darüberliegende Schicht zur Verfügung. Für die Netzwerkprogrammierung mit Java sind nicht alle Schichten gleichermaßen relevant. Die folgende Liste gibt einen Überblick:

Jede Ebene bietet Dienste für höhere Ebene

Die 7 Schichten aus dem OSI Schichtenmodell

1. Physikalische Schicht (physical layer, unterste Schicht)
Stellt die Mittel zur Verfügung, um zwischen zwei Systemen Bits zu übertragen. Dabei spielt es keine Rolle, ob die Bits als elektrische Signale, optische Impulse, elektromagnetische Wellen oder in einer anderen Form transportiert werden.
2. Sicherungsschicht (link layer)
Überträgt Bit-Pakete (frame), die mit Prüfsummen versehen sind und so gegebenenfalls als fehlerhaft erkannt werden können. Ein typisches Protokoll auf dieser Ebene ist Ethernet. Die Kommunikationspartner sind hier noch direkt verbunden und identifizieren sich mit „Hardware-Adressen” (Media Access Control Address, MAC-Adresse).
3. Vermittlungsschicht (network layer)
Vermittelt Datenpakete über verschiedene Netzwerke hinweg (routing) und sorgt dabei dafür, dass jedes Datenpaket seinen Weg findet. Protokolle sind beispielsweise IP für den eigentlichen Datentransport und ICMP (Internet Control Message Protocol) für Statusabfragen. Teilnehmer verfügen über logische „IP-Adressen”.
4. Transportschicht (transport layer)
Kann Daten sicher zustellen und korrigiert Fehler, beispielsweise durch Nachsenden fehlender Pakete. Bekannte Protokolle sind TCP und UDP. TCP (Transmission Control Protocol) ist auf Zuverlässigkeit ausgelegt. UDP (User Datagram Protocol) arbeitet schneller, aber auch etwas„sorgloser” und eignet sich zum Beispiel für Liveübertragungen.
5. Sitzungsschicht (session layer)
Regelt komplette Dialogsequenzen zwischen Anwendungen, vom Verbindungsaufbau bis zum Abbau. Diese und die höheren Schichten betreffen nicht mehr allgemeinen Datentransport, sondern orientieren sich an bestimmten Anwendungen.
6. Darstellungsschicht (presentation layer)
Legt bestimmte Datenformate fest, mit denen Anwendungen Informationen austauschen. Hier wird beispielsweise das Encoding von Textdaten oder der Einsatz von Kompressions- und Verschlüsselungsalgorithmen ausgehandelt.
7. Anwendungsschicht (application layer)
Regelt die Kommunikationsverfahren einzelner Anwendungen, wie zum Beispiel FTP (File Transfer Protocol), E-Mail und Webservices.
OSI Schichtenmodell

OSI Schichtenmodell

Untere Schichten klar abgegrenzt

Über die konkreten Aufgaben der Schichten 1 bis 4 herrscht weitgehend Einigkeit. Der Zweck der Schichten 5 bis 7 ist zwar im ISO/OSI-Standard beschrieben, in der Praxis gibt es aber einen gewissen Auslegungsspielraum. Die Bedeutung des Standards liegt daher in den unteren Ebenen.

Für die Programmierung von Netzwerkanwendungen mit Java sind in erster Linie die Schichten 3 und 4 interessant. Um die Kommunikation auf Ebene der Schichten 1 und 2 kümmern sich das Betriebssystem und die virtuelle Maschine. Den höheren Ebenen entsprechen einzelne konkrete Anwendungen, wie beispielsweise Webanwendungen