Kommunikationsprotokoll

In der Informatik und in der Telekommunikation ist ein Kommunikationsprotokoll eine Vereinbarung, nach der die Datenübertragung zwischen zwei oder mehreren Parteien abläuft. In seiner einfachsten Form kann ein Protokoll definiert werden als eine Menge von Regeln, die Syntax, Semantik und Synchronisation der Kommunikation bestimmen. Protokolle können durch Hardware, Software oder eine Kombination von beiden implementiert werden. Auf der untersten Ebene definiert ein Protokoll das Verhalten der Verbindungs-Hardware.

Handelt es sich um die Kommunikation in einem Rechnernetz, so spricht man von einem Netzwerkprotokoll.

Typische Eigenschaften

Protokolle unterscheiden sich stark in Zweck und Komplexität. Die meisten Protokolle legen eine oder mehrere der folgenden Vorgehensweisen fest:

  • Feststellen der zugrundeliegenden physikalischen Verbindung (z. B. LAN oder W-LAN) oder der Existenz des anderen Endpunkts der Verbindung
  • Datenflusskontrolle (Handshaking)
  • Vereinbarung der verschiedenen Verbindungscharakteristiken
  • Wie eine Botschaft beginnt und endet
  • Wie eine Botschaft formatiert ist
  • Was mit beschädigten oder falsch formatierten Botschaften getan wird (Fehlerkorrekturverfahren)
  • Wie unerwarteter Verlust der Verbindung festgestellt wird und was dann zu geschehen hat
  • Beendigung der Verbindung

Bedeutung

Kommunikationsprotokolle sind eine Grundlage des Internets und tragen wesentlich zu seiner Leistung und seinem Erfolg bei. Die wichtigsten sind das Internet Protocol (IP) und das Transmission Control Protocol (TCP), zusammengefasst als TCP/IP. Die meisten sind in den RFCs der Internet Engineering Task Force (IETF) beschrieben.

Nur die einfachsten Protokolle werden allein verwendet, die meisten, insbesondere Netzwerkprotokolle, sind aus Schichten aufgebaute Protokollstapel, bei denen die oben aufgeführten Aufgaben unter den einzelnen Ebenen des Stapels aufgeteilt werden.

Während ein Protokollstapel eine bestimmte Kombination von Protokollen kennzeichnet, die zusammenarbeiten, ist ein Referenzmodell eine Softwarearchitektur, die jede Schicht zusammen mit den Diensten aufzählt, die sie erbringen soll. Das klassische Sieben-Schichten-Modell ist das OSI-Modell, das dazu verwendet wird, Protokollstapel und Peer-Einheiten in Begriffe zu fassen. Didaktisch bietet das Referenzmodell auch Gelegenheit, allgemeinere Konzepte der Softwaretechnik zu lehren, wie Kapselung, Modularität und Delegation von Aufgaben. Dieses Modell hat überdauert, obwohl viele seiner ursprünglichen Bestandteile durch die ISO abgelöst wurden. Das OSI-Modell ist allerdings nicht das einzige Referenzmodell.

Literatur

  • Robin Sharp: Principles of protocol design. Springer, Berlin u. a. 2008, ISBN 978-3-540-77540-9.
  • Hartmut König: Protocol Engineering. Prinzip, Beschreibung und Entwicklung von Kommunikationsprotokollen. Teubner, Stuttgart u. a. 2003, ISBN 3-519-00454-2.