Mandl, Peter, Andreas Bakomenko, und Johannes Weiß. Grundkurs Datenkommunikation: TCP/IP-basierte Kommunikation: Grundlagen, Konzepte und Standards. 1. Aufl. Studium. Wiesbaden: Vieweg + Teubner, 2008. S.2ff
Die gesamte Funktionalität, die hinter der Rechnerkommunikation steckt, ist zu
komplex, um ohne weitere Strukturierung verständlich zu sein. Im Rahmen der
Standardisierungsbemühungen der ISO hat man sich daher gemäß dem Konzept
der virtuellen Maschinen mehrere Schichten ausgedacht, um die Materie etwas
übersichtlicher zu beschreiben.
Das ISO/OSI-Referenzmodell (kurz: OSI-Modell) teilt die gesamte Funktionalität in
sieben Schichten (siehe Abbildung 1-1) ein, wobei jede Schicht der darüberliegen-
den Schicht Dienste für die Kommunikation bereitstellt. Die unterste Schicht be-
schreibt die physikalischen Eigenschaften der Kommunikation und darüber liegen
Schichten, die je nach Netzwerk teilweise in Hardware und teilweise in Software
implementiert sind.
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 Maschi-
ne 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:
Das von der Internet-Gemeinde entwickelte TCP/IP-Referenzmodell (vgl. Abbildung 1-6) ist heute der Defacto-Standard in der Rechnerkommunikation. Es hat vier Schichten, wobei die Schicht 3 (Internet-Schicht) und die Schicht 4 die tragenden Schichten sind. In der Schicht 3 wird neben einigen Steuerungs- und Adressierungsprotokollen (ARP, ICMP)6 im Wesentlichen das Protokoll IP (Internet Protocol) benutzt. In Schicht 4 gibt es zwei Standardprotokolle. Das mächtigere, verbindungsorientierte TCP (Transmission Control Protocol) und das leichtgewichtige, verbindungslose UDP (User Datagram Protocol). TCP gab dem Referenzmodell seinen Namen.
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 Nach-
richten 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 Funktio-
nalitä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 Datenkommunikati-
onsspezialisten sehen die Notwendigkeit für ein Transportsystem, wenn auch die
Funktionalität je nach Protokolltyp hier sehr unterschiedlich sein kann. Beispiels-
weise gibt es verbindungsorientierte (wie TCP) und verbindungslose (wie UDP)
Protokolle mit recht unterschiedlichen Anforderungen.
Ein weiterer, heute im Internet weit verbreiteter Dienst ist der E-Mail-Dienst zum
Austausch von elektronischen Nachrichten (Electronic Mails). Auch hier handelt es
sich um eine Client-/Serveranwendung. Ein Benutzer verwendet einen E-Mail-
Client, Mail User Agent (MUA) genannt, um E-Mails zu senden und zu empfangen
und das Weiterreichen der E-Mails wird über E-Mail-Gateways abgewickelt. Je-
dem Benutzer, der E-Mails senden und empfangen möchte wird eine elektronische
Mailbox mit einer eindeutigen E-Mail-Adresse (z. B. mandl@cs.fhm.edu) in einem
E-Mail-Gateway zugeordnet. Die Mailboxen werden üblicherweise in den E-Mail-
Gateways von Internet-Providern verwaltet. Die E-Mail-Gateways sind Server-
rechner mit speziellen Softwarebausteinen für die Mail-Abwicklung. Sie haben in
der Regel eine Doppelrolle. Zum einen nehmen sie Nachrichten von den MUAs
entgegen. Diese Aufgabe wird als Mail Submission Agent (MSA) bezeichnet. Zum
anderen leiten sie Nachrichten (E-Mails) für den Transport bis zum adressierten
Empfänger in der Rolle von sog. Mail Transfer Agents (MTA) an andere E-Mail-
Gateways weiter.
Ein Web-Server wartet auf ankommende Verbindungsaufbauwünsche standard-
mäß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 empfan-
gen 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.