![]() |
Protokolle und Dienste
Definition Protokoll
Unter einem Protokoll versteht man ganz allgemein eine
Sammlung spezieller Verfahren und Regeln für die elektronische
Kommunikation zwischen Rechnern. Internet-Protokolle sind üblicherweise
in sogenannten "Request For Comments" (RFC) dokumentiert. Diese
Dokumentationen sind in der Regel lang und unübersichtlich, sodass sie
sich nur in wenigen Fällen, z. B. bei dem Protokoll RFC 868
("Time-Server Protokoll") für die unterrichtliche Behandlung eignen.
Die TCP/IP Protokoll-Architektur

(Quelle: Heiko Holtkamp, Einführung in TCP/IP, Universität
Bielefeld, 2002)
Definition Dienst
Dienste beleuchten die Zusammenarbeit der Schichten unter einem
anderen Aspekt. Unter einem Dienst versteht man allgemein die
Summe der für einen Benutzer zur Verfügung gestellten Funktionalität.
Aus der Sicht eines Benutzers einer Ressource - hier die übergeordnete
Schicht - bestehen die Dienste der untergeordneten Schicht aus der
Schnittstellenbeschreibung ("Benutzerschnittstelle"). Konkret stellt
also jede Schicht für die
übergeordneten Schichten Operationen zur Verfügung, die es diesem
"Benutzer" gestatten, die untergeordnete Schicht zu benutzen.
Voraussetzung hierfür ist, dass die logische Struktur dieser
Schicht, also die Vorgaben des Protokolls, eingehalten werden.
Vereinfacht gesagt:
|
Beispiel: E-Mail Protokolle
Beispiele für solche Protokolle sind die Protokolle POP und SMTP
zum Empfangen bzw. Versenden von E-Mails. Internet-Anwendungen wie z.
B. Microsoft Outlook verwenden die
zu diesen Protokollen definierten Schnittstellen. Für den
Programmierer einer solchen Anwendung sieht es dann so aus, als ob die
Anwendung mit dem Server kommuniziert
und z. B. "Post abholt" und an das Server-Programm "Post verschickt".

(Quelle: Zeitschrift Log In Nr. 133,
Berlin 2005, S.37)
Tatsächlich kommuniziert die Anwendung mit diesen Protokollen, indem
die Protokolle mit dem TCP Protokoll kommunizieren, das wiederum die
Dienste des IP- und des ICMP Protokolls verwendet. Auf jeder
Ebene des Schichtenmodells benutzt die obere Schicht ausschließlich die
von der unteren Schicht zur Verfügung gestellten Dienste.

(Quelle: Zeitschrift Log In Nr. 133, Berlin 2005, S.37)
Beschreibung von
Protokollen
Besteht die Beschreibung der Schnittstelle eine Schicht aus der Auflistung der verfügbaren Operationen (Funktionen und Prozeduren mit ihren Parameterlisten, Vor- und Nachbedingungen), so besteht die Beschreibung des zugehörigen Protokolls in der Darstellung des zeitlichen Ablaufs der Kommunikation, z. B.
Zur Darstellung des zeitlichen Verlaufs einer Kommunikation sowie gegenseitiger Abhängigkeiten von Anfragen und Antworten sind Zustandsdiagramme, Sequenzdiagramme sowie SDL-Diagramme geeignete Hilfsmittel.
1.
Zustandsdiagramme
Ein Zustand beschreibt die aktuelle Situation,
in der sich der Prozess (hier: Client-Prozess) befindet. Beim Aufbau
einer Socketverbindung mit einem Serversocket ist das immer das Suchen des
Sockets und das Verbinden mit diesem Socket, wenn dieser sich
"verbindungsbereit" gemeldet hat. Dieser Mechanismus findet auf der
Ebene der Internet-Schicht statt.
- Methodenaufruf (z. B. Open, Close)
- Fehler (interner Aufruf, ausgelöst durch Kommunikationsfehler oder -störung)
- Meldung vom Partnerprozess (z. B. "Socket gefunden")
In Delphi sind diese Zustände und Zustandswechsel sehr stark mit dem
Auslösen geeigneter Ereignisse verbunden. Die Anwendung kann dann durch
Erstellen einer zugehörigen Ereignis-Methode auf diesen Zustand oder
den Zustandsübergang reagieren.
Zustandsdiagramm:

2. Sequenzdiagramme
Für Sequenzdiagramme existieren die Synonyme Zeit-Sequenz-Diagramm und Interaktionsdiagramm, und auch die graphische Darstellungen variieren ein wenig. Aber inhaltlich drücken sie immer den zeitlichen Ablauf der Kommunikation zwischen den beteiligen Prozessen aus.
Beispiel: Zeit-Sequenz-Diagramm einer einfachen POP3-Kommunikation

3. SDL -
Specification and Description Langage
Der Nachteil eines Zustandsdiagramms besteht darin, dass nach dem Verbinden eines Clients mit dem Server gleichrangige Prozesse existieren. Für jeden Prozess wird nun ein eigenes Zustandsdiagramm benötigt, bei dem der "Partner" nur indirekt durch die Eingaben, die die Zustandsübergänge bewirken, in Erscheinung tritt. Die Specification and Description Language (SDL) erweitert Zustandsdiagramme um diese Darstellung der Interaktion zwischen solchen gleichrangigen Prozessen, verwendet allerdings eine andere graphische Darstellung. Hier nur die Definition der grundlegenden Bestandteile eines SDL-Diagramms:

SDL-Diagramme werden hier nicht weiter betrachtet.