Exzerpt aus: Mandl, Peter, Andreas Bakomenko, und Johannes Weiß.
...
Grundkurs Datenkommunikation: TCP/IP-basierte Kommunikation: Grundlagen, Konzepte und Standards. 1. Aufl. Studium. Wiesbaden: Vieweg + Teubner, 2008.
Das ISO/OSI-Referenzmodell
...
Die Schichten einer Ebene, die in verschiedenen Rechnersystemen (auch offene Systeme genannt) instanziert werden, kommunizieren horizontal miteinander über Protokolle. Jede Schicht innerhalb eines offenen Systems stellt der nächst höheren
in vertikaler Richtung Dienste zur Verfügung. Das Konzept der virtuellen Maschine findet hier insofern Anwendung, als keine Schicht die Implementierungsdetails der darunterliegenden Schicht kennt und eine Schicht n immer nur die Dienste der Schicht n-1 verwendet.
...
Die einzelnen Schichten haben im ISO/OSI-Referenzmodell folgende Aufgaben:
- Die Bitübertragungsschicht (Schicht 1) ist die unterste Schicht und stellt eine physikalische Verbindung bereit. Hier werden die elektrischen und mechanischen Parameter festgelegt. U. a. wird in dieser Schicht spezifiziert, welcher elektrischen Größe ein Bit mit Wert 0 oder 1 entspricht. Hier werden nur Bits bzw. Bitgruppen ausgetauscht.
- Die Sicherungsschicht (Schicht 2) sorgt dafür, dass ein Bitstrom einer logischen Nachrichteneinheit zugeordnet ist. Hier wird eine Fehlererkennung und -korrektur für eine Ende-zu-Ende-Beziehung zwischen zwei Endsystemen bzw. Transitsystemen unterstützt.
- Die Netzwerk- oder Vermittlungsschicht (Schicht 3) hat die Aufgabe Verbindungen zwischen zwei Knoten ggf. über mehrere Rechnerknoten hinweg zu ermöglichen. Auch die Suche nach einem günstigen Pfad zwischen zwei Endsystemen wird hier durchgeführt (Wegewahl, Routing).
- Die Transportschicht (Schicht 4) sorgt für eine Ende-zu-Ende-Beziehung zwischen zwei Kommunikationsprozessen und stellt einen Transportdienst für die höheren Anwendungsschichten bereit. Die Schichten eins bis vier bezeichnet man zusammen auch als das Transportsystem.
- Die Sitzungsschicht (Schicht 5) stellt eine Sitzung (Session) zwischen zwei Kommunikationsprozessen her und regelt den Dialogablauf der Kommunikation.
- Die Darstellungsschicht (Schicht 6) ist im Wesentlichen für die Bereitstellung einer einheitlichen Transfersyntax zuständig. Dies ist deshalb wichtig, da nicht alle Rechnersysteme gleichartige Darstellungen für Daten verwenden. Manche nutzen z. B. den EBCDIC - andere den ASCII-Code und wieder andere den Unicode. Auch die Byte-Anordnung bei der Integer-Darstellung (Little Endian und Big Endian Format) kann durchaus variieren. Unterschiedliche lokale Syntaxen werden in dieser Schicht in eine einheitliche, für alle Rechnersysteme verständliche Syntax, die Transfersyntax, übertragen.
- Die Verarbeitungs- oder Anwendungsschicht (Schicht 7) enthält schließlich Protokolle, die eine gewisse Anwendungsfunktionalität wie Filetransfer oder E-Mail bereitstellen. Die eigentliche Anwendung zählt nicht zu dieser Schicht. Hier sind viele verschiedene Protokolle angesiedelt.
- Für jede Schicht gibt es im Modell mehrere Protokollspezifikationen für unterschiedliche Protokolle. In der Schicht 4 gibt es z. B. verschiedene Transportprotokolle mit unterschiedlicher Zuverlässigkeit. Grob kann man auch festhalten: Die Schicht 2 dient der Verbindung zwischen zwei Rechnern (Endsystemen oder Zwischenknoten), sorgt sich also um eine Ende-zu-Ende-Verbindung zwischen zwei Rechnern. Die Schicht 3 unterstützt Verbindungen im Netzwerk (mit Zwischenknoten), also Ende-zu-Ende-Verbindungen zwischen zwei Rechnern (Endsysteme) über ein Netz. Die Schicht 4 kümmert sich um eine Ende-zu-Ende-Kommunikation zwischen zwei Prozessen auf einem oder unterschiedlichen Rechnern.
...
Im Gegensatz zum OSI-Modell wird im TCP/IP-Modell nicht so streng zwischen Protokollen und Diensten unterschieden. Die Schichten 5 und 6 sind im Gegensatz zum OSI-Modell leer. Diese Funktionalität ist der Anwendungsschicht vorbehalten,
d.h. die Verwaltung evtl. erforderlicher Sessions und die Darstellung der Nachrichten in einem für alle Beteiligten verständlichen Format muss die Anwendung selbst lösen. Kritiker des OSI-Modells sind der Meinung, dass gerade die Funktionalität dieser beiden Schichten sehr protokollspezifisch ist. Es gibt Protokolle, die brauchen hier gar keine Funktionalität und andere, die hier sehr viel tun müssen. Über die unteren Schichten ist man sich prinzipiell einig. Alle Datenkommunikationsspezialisten sehen die Notwendigkeit für ein Transportsystem, wenn auch die Funktionalität je nach Protokolltyp hier sehr unterschiedlich sein kann. Beispielsweise gibt es verbindungsorientierte (wie TCP) und verbindungslose (wie UDP) Protokolle mit recht unterschiedlichen Anforderungen.
...
Ein Web-Server wartet auf ankommende Verbindungsaufbauwünsche standardmäßig auf TCP-Port 80, indem er die Socket-Funktion listen aufruft. Ein klassischer TCP-Verbindungsaufbauwunsch wird entgegengenommen. Steht die Verbindung,
wird vom Web-Browser ein HTTP-Request erzeugt, der vom Web-Server empfangen und üblicherweise in einem eigenen Thread oder Prozess bearbeitet wird. Das gewünschte Dokument wird lokalisiert (wir nehmen hier die Adressierung einer statischen Web-Seite an, wozu im konfigurierten Root-Verzeichnis des Web-Servers gesucht wird.
...
Ein Web-Server (bei Apache auch als httpd-Hintergrundprozess ablaufend) enthält im Allgemeinen neben einer Steuerungskomponente eine Komponente zur Dokumentenverwaltung, evtl. eine Engine für die Servlet-/JSP-Bearbeitung, ASP-
Bearbeitung, PHP-Bearbeitung und einiges mehr15 (vgl. Abbildung 6-13). Bei Java-lastigen Web-Servern ist auch eine JVM im Spiel. Die Server erzeugen für die Bearbeitung bestimmter Anfragen auch noch zusätzliche Prozesse. Insbesondere bei
der relativ alten serverseitigen Programmiertechnik CGI 16 wird für jede Anfrage ein eigener Sohnprozess zur Bearbeitung erzeugt.
...