Vergleich OSI- und TCP/IP-Referenzmodell

Das OSI- und das TCP/IP-Referenzmodell haben viele Gemeinsamkeiten, wie die folgende Gegenüberstellung zeigt (Frisch, 95):

OSI TCP/IP
Anwendungsschicht
Spezifiziert Anwendungsprogramme die mit dem Netzwerk kommunizieren und stellt ihnen Dienste zur Verfügung.
Präsentationsschicht
Spezifiziert die Datenrepräsentation für Anwendungen.
Sitzungsschicht
Erzeugt, unterhält und beendet Netzwerkverbindungen.
Transportschicht
Führt Fehlerkorrektur und Sequenzialisierung für über das Netzwerk übertragene Daten durch.
Netzwerkschicht
Verantwortlich für Zieladressierung, Routing und Flußkontrolle.
Sicherungsschicht
Definiert die Zugriffsmethoden für das physische Medium und stellt Sicherungsmechanismen auf Bit-Ebene bereit.
Bitübertragungsschicht
Spezifiziert die physischen und prozeduralen Betriebseigenschaften des physischen Mediums.
Anwendungsschicht
Befasst sich mit allem anderen was die unteren Schichten nicht übernehmen. TCP/IP Dienste der Anwendungsschicht müssen die Arbeit der OSI-Präsentationsschicht und Teile der Sitzungsschicht mit übernehmen.
Transportschicht
Kümmert sich um alle Aspekte des Daten-Routings und der Paket-Zustellung, einschliesslich Auf- und Abbau, Fehlerkontrolle und Sicherstellung der Paket-Reihenfolge.
Internetschicht
Verantwortlich für die Zieladressierung, Zerlegung in Pakete und Zusammensetzung am Zielort, Verteilung auf Kommunikationskanäle.
Netzwerk Zugangsschicht
Spezifiziert Verfahren für das Versenden von Daten über das Netzwerk, einschliesslich Zugangsverfahren zum physischen Medium (hier sind Zugangsverfahren wie CSMA/CD, Token Ring oder FDDI gemeint).

Auch die Funktionalität der Schichten ist ähnlich. So z.B. dienen die Schichten bis einschliesslich zur Transportschicht bei beiden Modellen zur Bereitstellung eines netzunabhängigen Ende-zu-Ende-Transportdienstes. Die Schichten oberhalb der Transportschicht sind bei beiden Modellen anwendungsorientierte Nutzer des Transportdienstes.

Trotz der grundlegenden Gemeinsamkeiten weisen die beiden Modelle auch einige Unterschiede auf.

Das OSI-Modell gründet auf drei Konzepten

  1. Dienste
  2. Schnittstellen
  3. Protokolle

Das OSI-Modell unterscheidet hier sehr sauber:

Mit Dienst wird definiert was die Schicht macht und nicht wie die darüberliegenden Einheiten darauf zugreifen.

Die Schnittstelle einer Schicht teilt den darüberliegenden Prozessen mit, wie sie darauf zugreifen können. Sie definiert welche Parameter anwendbar sind und welche Ergebnisse erwartet werden. Ebenso sagt sie nichts darüber aus, wie sie intern funktioniert.

Die Protokolle einer Schicht sind die 'Privatangelegenheit' der betreffenden Schicht. Die Schicht kann intern Protokolle benutzen solange damit die gestellte Aufgabe ausgeführt werden kann (d.h die gebotenen Dienste bereitgestellt werden können).

Alle diese Konzepte ähneln den Konzepten der objektorientierten oder der modularen Programmierung. Dabei sind die Protokolle der objektinterne Code der ausserhalb des Objekts nicht sichtbar ist. Die Methoden des Objektes bzw. deren Semantik stellen die Dienste dar, die das Objekt anbietet. Die Parameter und Ergebnisse von Methoden stellen die Schnittstelle dar.

Das TCP/IP-Modell unterschied im Gegensatz dazu ursprünglich nicht deutlich zwischen Dienst, Schnittstelle und Protokoll. Der Grund dafür ist hauptsächlich darin zu sehen, dass das OSI-Referenzmodell vor der Erfindung der Protokolle entwickelt wurde. Der Vorteil ist die Allgemeinheit des OSI-Modells, der Nachteil dagegen ist, daß die Entwickler nicht viel Erfahrung mit dem Thema und auch keine entsprechende Vorstellung darüber hatten, welche Schicht mit welcher Funktionalität ausgestattet werden soll.

Beim TCP/IP Modell verlief die Entwicklung anders herum: Zuerst wurden die Protokolle entwickelt, dann wurde das Modell quasi zur Erläuterung nachgeschoben. Das Modell passt allerdings zu keinem anderen Protokollstapel, d.h mit TCP/IP lässt sich das OSI-Modell nur schlecht beschreiben; umgekehrt funktioniert's aber!

Ein weiterer Unterschied liegt in der verbindungslosen gegenüber der verbindungsorientierten Kommunikation. Das OSI-Modell unterstützt auf der Vermittlungsschicht sowohl die verbindungslose als auch die verbindungsorientierte Kommunikation, auf der Transportschicht jedoch nur die verbindungsorientierte. Das TCP/IP Modell hat in der Vermittlungsschicht nur einen Modus (verbindungslos) auf der Transportebene aber beide, so daß der Benutzer eine Wahl hat. Diese Wahl ist wegen der Einfachheit für Anfrage/Antwort-Protokolle besonders wichtig.

Alle diese Argumente stammen aus (Tanenbaum, 1998). Dort werden auch die vielschichtigen Aspekte beleuchtet, die letztlich dazu geführt haben, dass sich in der realen (Netzwerk-)Welt Implementationen nach dem sauberer definierten OSI-Modell nicht durchsetzen konnten - wenngleich sich das OSI-Modell für didaktische Zwecke immer noch allergrösster Beliebtheit erfreut.