Protokoll

Protokolle legen die Art der Kommunikation zwischen mehreren Parteien (z.B. einem Client und einem Server) fest. Dabei werden folgende Aspekte betrachtet:

- der erbrachte Dienst,
- Annahmen über die Umgebung, in der das Protokoll ausgeführt wird,
- die Syntax der Nachrichten (Vokabular und Codierung) und
- die Regeln, nach denen der Austausch von Nachrichten stattfindet.

Wohlgeformte Protokolle enthalten keine nicht erreichbaren oder nicht ausführbaren Teile und bei einem Empfänger trifft nie eine Nachricht ein, die unerwartet ist oder nicht beantwortet werden kann. Außerdem überschreiten sie nicht vorgegebene Resourcenlimits (Warteschlangenlängen o.ä.) und erreichen nach einem vorübergehenden Fehler nach einer endliche Zahl von Statusübergängen wieder einen validen Protokollzustand. Wohlgeformte Protokolle können sich an Umgebungsbedingungen (z.B. Datenraten) anpassen.

Konsistente Protokolle vermeiden Deadlocks (siehe Deadlock), Livelocks und erreichen immer einen validen Endzustand.

Außer wohlgeformt und konsistent sollen Protokolle auch einfach, modular und robust sein.

Protokolle können verschiedenen Schichten zugeordnet werden:

- Bitübertragungsschicht,
- Sicherungsschicht,
- Vermittlungsschicht,
- Transportschicht oder
- Verarbeitungsschicht.


Quelle

Gerald J. Holtzmann
"Design and Validation of Computer Protocols"
Prentice Hall 1991
ISBN 0-13-539925-4