Zur Kommunikation müssen sich – übrigens nicht nur im Falle der digitalen Kommunikation in Rechnernetzen – alle kommunizierenden Parteien auf gemeinsame feste Regeln zum Austausch von Nachrichten einigen. Dies betrifft sowohl die zur Kommunikation verwendete Sprache, als auch alle Verhaltensregeln, die eine effiziente Kommunikation erst ermöglichen. Diese Verhaltensregeln werden in der Fachsprache mit dem Begriff Kommunikationsprotokoll oder Protokoll zusammengefasst. Ein Kommunikationsprotokoll legt sowohl das Format der von den Kommunikationspartnern auszutauschenden Nachrichten fest und spezifiziert auch sämtliche Aktionen, die zur Übermittlung dieser Nachrichten notwendig sind. Im Falle der Kommunikation in Rechnernetzen heißt die Software, mit der das Netzwerkprotokoll auf einem Rechner implementiert wird, Protokoll-Software. Während die Entwicklung der ersten Rechnernetze vornehmlich nur die beteiligte Hardware fokusierte und die Protokollsoftware nur als zweitrangig angesehen wurde, hat sich diese Strategie grundlegend verändert. Protokollsoftware ist heute sehr komplex hochgradig strukturiert. Anstelle ein riesiges, komplexes und universelles Netzwerkprotokoll bereitzustellen, das sämtliche anfallenden Aufgaben der Netzwerk- Kommunikaton regelt, wurde das Problem der Netzwerk-Kommunikation nach dem Prinzip ”Teile-und-Herrsche“ (divide et impera, divide and conquer) in eine Vielzahl einzeln handhabbarer Teilprobleme zerlegt, zu deren Lösung jeweils eigene problemspezifische (Teil-)Protokolle bereitgestellt werden.
Die verschiedenen Teilprobleme werden jeweils von speziellen Protokollen abgehandelt, die aber – und dies ist das zweite zu lösende, in seiner Komplexität nicht zu unterschätzende Problem – alle reibungslos ineinandergreifen und zusammenarbeiten müssen. Um dieses Zusammenspiel zu gewährleisten, wird die Entwicklung der Protokoll-Software als eine umfassend zu lösende Gesamtaufgabe angesehen und durch die Bereitstellung einer zusammengehörigen Familie von Protokollen (Protokollstapel, Protocol Suites) gelöst, in der alle Einzelprotokolle effizient miteinander interagieren und im Zusammenspiel das Gesamtproblem der Netzwerk- Kommunikation lösen.
Zwar besitzen die unterschiedlichen Protokollfamilien viele gemeinsame Konzepte, doch da sie in der Regel unabhängig voneinander entwickelt wurden, sind sie nicht kompatibel. Dennoch ist es möglich, verschiedene Protokollfamilien gleichzeitig und parallel auf den Rechnern eines Netzwerks einzusetzen, und diese alle sogar dieselbe physikalische Netzschnittstelle nutzen zu lassen, ohne dass es dabei zu Störungen kommt.
Der Begriff ” Protokoll“ wird üblicherweise in zwei unterschiedlichen Bedeutungen verwendet. Einerseits bezieht sich der Begriff des Protokolls auf die Definition einer abstrakten Schnittstelle (Interface). Dazu zählen sämtliche Funktionen und Operationen, die über diese Schnittstelle zur Verfügung gestellt werden. Andererseits werden unter dem Protokollbegriff sämtliche zur Kommunikation ausgetauschten Nachrichtenformate und deren Bedeutung zusammengefasst. Die Definition des Protokolls – die Protokollspezifikation – erfolgt meist in einer Kombination aus spezifizierendem Text, Abbildungen, Zustandsübergangsdiagrammen und Algorithmen in Pseudocode. Die Spezifikation muss so präzise sein, dass unterschiedliche Implementationen der Protokolle interoperabel sind, dass also zwei der verschiedenen Implementationen erfolgreich Nachrichten austauschen können.




