5 Protokolle
5.1 Beispiel für Kommunikation im Alltag
Unter einem Protokoll verstehen wir eine Menge von Regeln und Vorschriften, die genau festlegen, wie ein Kommunikationsprozess ablaufen soll. Im Alltag befolgen wir diese Regeln meist ganz "automatisch", d.h. ohne dass wir uns ihrer eigentlich bewußt sind. Um den Begriff des Protokolls durch das Studium mehrerer alltäglicher Kommunikationssituationen zu klären, bearbeiten Sie bitte die folgende
Aufgabe:
-
Protokolle bei gewöhnlicher Kommunikation:
Schreiben Sie für die folgenden vier Situationen jeweils genau die Regeln auf, mit deren Hilfe Sie den Vorgang der Kommunikation organisieren würden:
- Freies Gespräch zwischen mehreren Personen
- Moderiertes Gespräch in einer großen Gruppe
- Telefongespräch, in dem wichtige Informationen übermittelt werden
- Gespräch mit dem Banknachbarn während einer Klassenarbeit
Bei der Bearbeitung der obigen Aufgabe wird klar, dass je nach Situation und Problemstellung unterschiedliche Protokolle erforderlich sind:
In den Situationen 1 (Freies Gespräch) und 2 (Moderiertes Gespräch) muss das Protokoll vor allem den zeitlichen Ablauf der Aktivitäten der Beteiligten regeln, also die Fragen: wann redet wer, und wie lange? Man redet hier von Zugriffs-Protokollen, die also den Zugriff der beteiligten Kommunikationspartner auf den "Informationskanal" regeln:
- Beim freien Gespräch zwischen mehreren Personen sollte stets nur einer reden. Also kann jeder der Teilnehmer nur dann mit seinem Beitrag beginnen, wenn gerade kein anderer redet. Starten zwei (oder mehrere) Teilnehmer gleichzeitig, kommt es zu einer Kollision, und die Verständlichkeit sinkt ab. Üblicherweise einigen sich die an der Kollision beteiligten dann durch kurzen Blickkontakt, wer denn nun tatsächlich als nächster reden soll.
- Beim moderierte Gespräch in einer Gruppe wird das Rederecht hingegen von einer zentralen Instanz, dem Diskussionsleiter, verwaltet: er führt eine Liste der Wortmeldungen, er erteilt dem einzelnen Teilnehmer das Rederecht und er wacht darüber, dass kein Teilnehmer länger als die ihm zugestandene Zeit redet. Das funktioniert natürlich nur dann, wenn sich alle Beteiligten an die Vorgaben des Diskussionsleiters halten. Bei konkreten moderierten Gesprächen im Alltag ist dies nicht immer der Fall: allzu engagierte Teilnehmer können eine moderierte Diskussion gelegentlich ins Chaos führen.
In Situation 3 (Übermittlung wichtiger Daten per Telefon) steht die Sicherheit der Datenübertragung im Mittelpunkt. Diese wird durch ein entsprechendes Übertragungsprotokoll gewährleistet: der Empfänger kann z. B. die übermittelte Information zur Kontrolle wiederholen, d.h. das, was er empfangen hat, gleich nochmal an den Sender zurückschicken, woraufhin dieser vergleichen kann, ob das, was da (zweimal!) über das Telefon übermittelt wurde, mit der ursprünglichen Nachricht übereinstimmt.
In der Situation 4 (verbotene Informationsübermittlung während einer Klassenarbeit) ist der wichtigste Aspekt: wie kann bei der Kommunikation verhindert werden, dass die Kommunikation an sich von einem Dritten bemerkt wird? Man erreicht dies gewöhnlich dadurch, dass man sehr leise redet, sodass die Kommunikation nur noch für den direkten Empfänger erkennbar ist. Damit steigt natürlich die Gefahr von Fehlern bei der Datenübermittlung an. Bei der Rechner-Kommunikation gehören solche Fragen in den Bereich "Datenschutz", und der hier genannte Aspekt in die Unterabteilung "Steganografie" (das ist "die Technik des Verbergens der bloßen Existenz von Nachrichten").
5.2 Informationstransport zwischen Rechnern
Bei der Informationsübermittlung in einem Rechner-Netz sind gleich mehrere Protokolle beteiligt. Fachleute sprechen von einem "Protokoll-Stack", was dem Eingeweihten sagt, dass hier mehrere Geräte so hintereinandergeschaltet sind, dass der Ausgang des einen mit dem Eingang des nächsten verbunden ist. Wir wollen die im Detail schrecklich komplizierten Zusammenhänge im folgenden durch ein stark vereinfachtes Modell zumindest im Prinzip klären:
Das Bild zeigt als oberstes "Gerät" das Anwenderprogramm. Wenn das Anwenderprogramm einen Netzwerk-Dienst nutzen will, dann gibt es dem Betriebssystem einen entsprechenden Auftrag. Das dabei verwendete Kommunikationsprotokoll hängt vom jeweils verwendeten Dienst ab; soll zum Beispiel eine Datei auf einem entfernten Server gespeichert werden, dann kann das FTP-Protokoll benutzt werden; soll hingegen eine EMail verschickt werden, wird gewöhnlich das SMTP-Protokoll benutzt. Weitere Details zu den dienste-spezifischen Protokollen gibt es im nächsten Kapitel über das Internet.
Das Betriebssystem seinerseits bemüht zur Erledigung des Auftrags den "Netzwerk-Adapter", um die Übertragung der Daten zum Zielcomputer zu veranlassen. Die Kommunikation zwischen Betriebssystem und Netzwerktreiber wird nun unabhängig vom angeforderten Dienst in einem für das jeweilige Netz spezifischen Übertragungs-Protokoll abgewickelt. In den meisten gängigen Netzen ist dies derzeit das TCP/IP-Protokoll:
Das TCP/IP-Protokoll arbeitet mit Datenpaketen, die häufig nicht größer als etwa ein KByte sind. Die zu sendenden Daten werden auf einzelne Pakete aufgeteilt, die durchnummeriert werden. Jedes einzelne Paket wird mit der IP-Nummer des Empfängers und der des Absenders versehen; außerdem werden noch verschiedene Verwaltungsinformationen hinzugefügt, wie z.B. eine Prüfsumme, mit deren Hilfe ein Empfänger Übertragungsfehler erkennen kann. Auf der Ebene des Übertragungsprotokolls wird also die Integrität der übertragenen Daten gesichert. Die Pakete werden dann an den Netzwerkadapter geschickt, der für die weitere Übermittlung zum Empfänger sorgt.
Der Netzwerkadapter des sendenden Rechners schickt die Datenpakete über das Netzwerkkabel an den Netzwerkadapter des empfangenden Rechners. Die Kommunikation zwischen den Netzwerkadaptern wird dabei über ein Zugriffs-Protokoll abgewickelt. Erst auf dieser hardware-nahen Stufe wird also dafür gesorgt, dass nur gesendet wird, wenn die Leitung auch frei ist! Im folgenden werden die beiden derzeit am häufigsten verwendeten Zugriffsprotokolle beschrieben, nämlich das Ethernet-Protokoll und das Token-Ring-Protokoll:
- Das Ethernet-Protokoll funktioniert analog zum freien Gespräch zwischen mehreren Personen: will eine Station senden, wartet sie, bis gerade keine Übertragung im Netz stattfindet. Dann beginnt sie mit der Übertragung. Versuchen mehrere Stationen gleichzeitig zu senden, so kommt es zu einer Kollision, die von allen beteiligten Stationen erkannt wird. Nach einem zufällig gewählten Zeitraum versuchen die kollidierten Teilnehmer erneut zu übertragen. Kommt es noch mal zu einer Kollision, so wird schrittweise das Zeitintervall vergrößert, aus dem die Wartezeit bis zum jeweils nächsten Versuch ausgewählt wird. Die tatsächlich verwendete Wartezeit wird jedoch stets zufällig gewählt, um die Kollisionswahrscheinlichkeit insgesamt klein zu halten. Netze mit diesem Zugriffsverfahren sind einfach zur realisieren; allerdings kann nicht vorausgesagt werden, wie schnell die Datenübertragung vor sich gehen wird, speziell wenn viele Rechner auf das Netz zugreifen wollen (nicht-deterministisches Übertragungsverhalten).
- Das Token-Ring-Protokoll funktioniert analog zum moderierten Gespräch in einer Gruppe, wo die Redeberechtigung von einer höheren Instanz verwaltet wird. Die Berechtigung zum Senden (also das "Rederecht") wird mit Hilfe eines sogenannten "Tokens" vergeben: dies ist ein Software-Kennzeichnung, von der es im Netz zu einer Zeit nur genau ein Exemplar geben darf, und das von der Station, die es gerade besitzt, spätestens nach einer festgelegten Zeit zur jeweils nächsten Station weitergereicht werden muss. Senden darf jeweils nur diejenige Station, die gerade das Token besitzt. Auf diese Weise werden Kollisionen vermieden. Das Zugriffsverfahren für einen Token-Ring ist wesentlich aufwändiger als das für ein Ethernet. So muss dafür gesorgt werden, dass beim An- und Abschalten von Stationen diese in den Tokenumlauf aufgenommen oder aus ihm gestrichen werden. Ebenso muss eine Regelung für einen Tokenverlust getroffen werden, wenn nämlich die Station, die gerade das Token besitzt, ausfällt. Im Gegensatz zum Ethernet kann aber bei Token-Ring-Netzen sehr genau vorausgesagt werden, wie schnell die Datenübertragung geschehen wird (deterministisches Übertragungsverhalten). Das ist besonders dann wichtig, wenn eine bestimmte Datenübertragungsrate eingehalten werden muss (z.B. bei der Übermittlung von Sprache oder Video-Daten in Echtzeit).
Kommen die Datenpakete schließlich beim Empfänger an, durchlaufen sie dort dieselben Geräte in umgekehrter Reihenfolge:
der Netzwerkadapter übergibt das ankommende Paket an das Betriebssystem; dort werden die IP-Nummern von Sender und Empfänger entfernt, die eigentlichen Daten ausgepackt, mit Hilfe der Prüfsumme verifiziert und an das zuständige Anwenderprogramm weitergeleitet. Außerdem wird dem Sender eine Empfangsbestätigung zurückgeschickt, sodass dieser nun weiß, dass die Übertragung dieses Paketes erfolgreich abgeschlossen wurde.