Von Diensten, Schnittstellen  und Protokollen

Nach dem einleitenden Beispiel betrachten wir uns Protokollhierarchien nun noch einmal etwas abstrakter.

Die obige Abbildung zeigt eine vierschichtiges Hierarchie. Schicht 4 links kommuniziert mit Schicht 4 rechts über Protokoll 4. Ebenso kommuniziert Schicht 3 links mit Schicht 3 rechts über Protokoll 3, usw.

Tatsächlich werden keine Daten direkt zwischen den Schichten n übertragen. Vielmehr übergibt jede Schicht Daten und Steuerinformationen an die angrenzende Schicht bis die unterste Schicht erreicht ist.

Unterhalb der untersten Schicht befindet sich das Übertragungsmedium, auf dem die tatsächliche Datenübertragung stattfindet.

Jede Schicht n ist  ein Dienstanbieter ( Service Provider ) für die Schicht n +1, den Dienstnutzer ( Service User ). Dabei kann eine Schicht durchaus mehrere Dienste anbieten, wie etwa billige und unzuverlässige Kommunikation oder teure und zuverlässige.

So bietet etwa die Post an ihre Briefe entweder normal (billig, aber sie wissen nicht sicher ob er angekommen ist) oder per Einschreiben mit Rückschein ( teurer, aber sie wissen immerhin ob der Brief den Empfänger erreicht hat) zu verschicken.

Zwischen je zwei Schichten befindet sich eine Schnittstelle. Die Schnittstelle definiert, welche Dienste die Schicht der darüber liegenden Schicht anbietet.

Es gibt in Netzwerken im wesentlichen zwei Arten von Diensten:

  1.  Verbindungsorientierte Dienste analog dem Telefonsystem. Wenn Sie mit jemandem sprechen wollen, dann heben sie den Hörer ab , wählen die Telefonnummer (Verbindungsaufbau), sprechen mit demjenigen ( Datenübermittlung) und legen auf (Verbindungsabbau).
  2. Verbindungslose Dienste analog dem Postsystem, Jede Sendung enthält eine Adresse und wird unabhängig von der anderen verschickt. Normalerweise kommen die Sendungen zwar in der Reihenfolge in der sie abgeschickt wurden beim Empfänger an, aber das ist keineswegs  garantiert.

Dienste können nach ihrer Zuverlässigkeit eingeteilt werden. Ein zuverlässiger Dient wird normalerweise dadurch implementiert, das der Empfänger den Empfang jeder Nachricht quittiert.

Ein Beispiel für einen zuverlässigen, verbindungsorientierten Dienst, ist zum Beispiel die Dateiübertragung per FTP. Es wäre für die meisten Dateiarten nicht tolerabel, wenn einzelne Bits bei der Übertragung verloren gingen, oder in der faschen Reihenfolge ankämen.

Auf der anderen Seite sind verbindungsorientierte Dienste nicht immer notwendig, und verbindungslose Dienste meist schneller. Wenn Sie zum Beispiel an einer Videokonferenz teilnehmen, dann würde sich das eine oder andere verlorene Bit kaum bemerkbar machen, und schlimmstenfalls zu einer sehr leichten Bildstörung führen. Hier werden Sie die schnellere, verbindungslose Kommunikation vorziehen.

Dienste werden auf sogenannten Dienstzugriffspunkten ( Service Access Point ) oder kurz SAP angeboten. Ein SAP ist die Stelle, an der auf den von einer Schicht angebotenen Dienst zugegriffen werden kann. Bei der Post sind SAPs zum Beispiel der Briefkasten an der Ecke,  das Postamt oder der Briefträger wenn er denn etwas für Sie hat.

Kommen wir schließlich noch zu den Protokollen. Dienst und Protokolle werden gerne verwechselt, deshalb hier noch einmal eine Definition.

Der Dienst sagt aus, welche Operationen eine Schicht der darüber liegenden Schicht zur Verfügung stellt. In unserem Postbeispiel also zum Beispiel normaler Brief, Einschreiben, Pakete, usw.

Das Protokoll definiert welche Form die Nachricht zwischen zwei Einheiten der jeweiligen Schicht annehmen kann, in unserem Postbeispiel also wo auf dem Umschlag der Absender steht,  ob eine Betreffzeile auf dem Brief ist, welche Anrede zu wählen ist, in welcher Sprache der Brief geschrieben ist, usw.

Die Zusammenstellung aller Schichten mit ihren Protokollen, Schnittstellen  und Diensten nennt man eine Netzwerkarchitektur.