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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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
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.