
Mehr zum Thema von
Prof. Dr. Christoph Meinel
Um die Protokoll-Designer in ihrer Arbeit zu unterstützen, wurden Werkzeuge und Modelle entwickelt, die den Gesamtprozess der Netzwerk-Kommunikation feingliedrig aufschlüsseln und hierarchisch aufeinander aufbauend anordnen. So werden klare Schnittstellen zwischen den einzelnen Hierarchiestufen festgelegt, die die weitgehend unabhängige Entwicklung und Verbesserung der auf diesen Stufen jeweils angesiedelten Netzwerkprotokolle ermöglichen und so weit wie möglich vereinfachen. Die bekannteste Modellvariante ist das Schichtenmodell (Layering Model, Protocol Stack). Der gesamte Netzwerk-Kommunikationsprozess wird dabei in einzelne übereinander angeordnete Schichten (Layers) aufgeteilt, wobei jede Schicht ein bestimmtes Teilproblem der Netzwerkkommunikation adressiert und eine neue Abstraktionsebene der Kommunikation hinzugefügt. Die oberste Schicht bietet schließlich das Interface für Anwendungsprogramme, die Nachrichten mit Anwendungen auf anderen Rechnern austauschen wollen. Auf der Basis eines solchen Schichtenmodells konstruiert der Protokoll-Designer eine vollständige Protokollfamilie, den sogenannten Protokollstapel, bei dem die einzelnen Protokolle jeweils genau die auf einer Schicht adressierten Aufgaben lösen. Prinzipiell ist in einem solchen Schichtenmodell die Übertragung einer Nachricht von einem Anwendungsprogramm des einen Rechners zu einem Anwendungsprogramm des anderen Rechners so organisiert, dass die Nachricht auf dem Ursprungsrechner über die verschiedenen Protokollschichten von oben nach unten durchgereicht und teilverarbeitet wird, dann physikalisch über das Übertragungsmedium übertragen und am Bestimmungsrechner dieselben Protokollschichten in umgekehrter Reihenfolge, also von unten nach oben, durchlaufend schließlich an die Anwendung übergeben wird (siehe Abb. 2.1).

Im Schichtenmodell ist jede Schicht für die Lösung eines bestimmten Teils der zahlreichen Aufgaben verantwortlich, die im Rahmen der Netzwerk-Kommunikation anfallen. Um diese Aufgaben korrekt erledigen zu können, werden auf Seiten des sendenden Rechners auf jeder einzelnen Schicht des Protokollstapels Kontroll- und Steuerinformationen kreiert und verwendet, die den zu übertragenden Daten hinzugefügt werden (siehe Abb. 2.2). Beim empfangenden Rechner werden diese Zusatzinformationen von der zur jeweiligen Schicht korrespondierenden Protokoll- Software ausgelesen und weiterverarbeitet, so dass die zu übertragenden Daten am Ende korrekt und in Originalgestalt abgeliefert werden können.
Gemäß dem Schichtenmodell der Netzwerkkommunikation muss die Protokoll- Software einer bestimmten Schicht k auf dem Rechner des Empfängers genau die Nachricht empfangen, die von der Protokoll-Software der Schicht k des sendenden Rechners übertragen wurde. Dies bedeutet, dass jede Veränderung, die die Protokolle einer bestimmten Schicht an den zu übertragenden Daten vornehmen, beim Empfänger wieder vollständig rückgängig gemacht werden muss. Fügt Schicht k den zu übertragenden Daten zusätzliche Steuer- und Kontrollinformationen an, muss Schicht k auf dem Empfängerrechner diese wieder entfernen. Findet in Schicht k eine Verschlüsselung der Daten statt, müssen auf Empfängerseite in der Schicht k die verschlüsselten Daten wieder entschlüsselt werden.

Die eigentliche Kommunikation erfolgt in den Protokollstapeln also immer in vertikaler Richtung. Beim Versenden von Daten fügt jede Protokollschicht ihre Steuerund Kontrollinformationen zu diesen Daten hinzu. Typischerweise werden diese Informationen dann dem von der darüberliegenden Schicht zur Übertragung übergebenen Datenpaket als Header vorangestellt, man sagt, das Datenpaket wird ” gekapselt“. Aus diesen Zusatzdaten erhält die Protokollsoftware auf der Empfängerseite bzw. in einem Zwischensystem in der korrespondierenden Protokollschicht die notwendigen Steuer- und Kontrollinformationen, die eine korrekte und zuverlässige Weiterverarbeitung der übertragenen Daten gewährleisten. Auf den einzelnen Protokollschichten erscheint das so, als würde die Protokollsoftware auf beiden Seiten, bei Sender und Empfänger, direkt miteinander kommunizieren, während die Daten aber tatsächlich vertikal durch den Protokollstapel weitergeleitet werden. Diese scheinbar direkte Kommunikation auf den einzelnen Schichten wird auch als virtuelle Kommunikation bezeichnet.
Damit definiert jede Protokollschicht zwei verschiedene Schnittstellen. Damit Anwendungen die Dienste eines Protokolls auf dem eigenen Computer nutzen können, wird das sogenannte Dienst-Interface (Service Interface) definiert. Das Dienst- Interface legt sämtliche Operationen fest, die lokale Anwendungen mit dem Protokoll ausführen können. Zusätzlich wird in jeder Protokollschicht auch eine Schnittstelle zum Gegenstück bei der entsprechenden Protokollschicht auf einem anderen Computer definiert, das sogenannte Partner-Interface (Peer Interface).