Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Protokolle und OSI-Schichtenmodell

Damit die Kommunikation zwischen Sender und Empfänger funktioniert, müssen beide „dieselbe Sprache sprechen“. Sie müssen genau wissen, wer wann was sagen kann und darf. Nur wenn dies ganz exakt festgelegt ist, wird die Kommunikation zwischen Computern funktionieren. Diese Regeln werden in einem Protokoll festgelegt.

Bei „Protokoll“ denken wir möglicherweise zunächst an das Protokoll einer Besprechung, also an ein Verlaufsprotokoll, dem nachträglich zu entnehmen ist, was in dieser Besprechung gesagt und beschlossen wurde. Darüber hinaus hat das Wort „Protokoll“ aber auch im täglichen Leben noch eine andere Bedeutung: Es bezeichnet nämlich auch die Gesamtheit der im diplomatischen Dienst verwendeten Verhaltensregeln und Zeremonien. Diese Bedeutung kommt unserer informatischen Definition schon recht nahe, handelt es sich doch in beiden Fällen um eine Reihe von Vorschriften, die den Umgang verschiedener Teilnehmer regeln sollen.

Unter einem Protokoll verstehen wir also 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 bewusst sind:

  1. Bei einem 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.

  2. Bei einem moderierten 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.

  3. Sollen wichtige Daten per Telefon übertragen werden, steht die Korrektheit 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.

  4. Sollen während einer Klassenarbeit verbotenerweise Informationen übertragen werden, 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.

Zugriffsprotokolle

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. Im Folgenden werden die beiden derzeit am häufigsten verwendeten Zugriffsprotokolle beschrieben, nämlich das Ethernet-Protokoll und das Token-Ring-Protokoll:

  1. 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. Die Wartezeit wird jedoch stets zufällig gewählt, um die Kollisionswahrscheinlichkeit insgesamt klein zu halten. Netze mit diesem Zugriffsverfahren sind einfach zu realisieren; allerdings kann nicht vorausgesagt werden, wie schnell die Datenübertragung vor sich gehen wird, speziell wenn viele Rechner auf das Netz zugreifen wollen.

    In privaten Computernetzen und auch in den meisten Firmennetzen wird das Ethernetprotokoll verwendet, da die Konfiguration einfach ist.

  2. 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. 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).

Übertragungsprotokolle

In Situation 3 (Übermittlung wichtiger Daten per Telefon) steht die Korrektheit der Datenübertragung im Mittelpunkt. Diese wird durch ein entsprechendes Übertragungsprotokoll gewährleistet: durch Überprüfung der Daten durch den Absender nach der doppelten Übertragung werden Fehler weitgehend ausgeschlossen.

Das Transmission Control Protocol / Internet Protocol ( TCP/IP) hat Mechanismen eingebaut, die korrekte und vollständige Datenübermittlung sicherstellen sollen:

  • Jedem Datenpaket wird eine Prüfsumme angehängt, mit der der Empfänger überprüfen kann, ob das Datenpaket fehlerfrei übertragen wurde. Ist dies nicht der Fall, löscht der Empfänger das Paket. Hat er das Paket korrekt erhalten, sendet er eine Empfangsbestätigung.

  • Der Sender sendet die Datenpakete, für die er noch keine Empfangsbestätigung erhalten hat, so lange immer wieder, bis alle Empfangsbestätigungen eingetroffen sind.

  • Alle gesendeten Daten werden in einzelne Pakete geteilt und dann nummeriert, damit nicht die gesamten Daten bei jedem Fehler erneut gesendet werden müssen. Große Pakete würden außerdem eine Datenleitung lange blockieren, so dass der Datenverkehr für andere Netzteilnehmer stocken würde.

  • Der Empfänger setzt die Pakete wieder in der richtigen Reihenfolge zusammen. Fehlt ein Paket, werden die anderen Pakete so lange zwischengespeichert, bis es eingetroffen ist.

Dieses Verfahren stellt sicher, dass auch bei Verlust eines Datenpakets der Austausch korrekt funktioniert. Würde der Absender nur auf Anfrage des Empfängers die Daten erneut senden, käme der Datenaustausch nicht zustande, da der Empfänger gar nicht weiß, dass er Daten erhalten soll, wenn die Pakete verloren gegangen sind. Er kann daher die erneute Sendung nicht einfordern.

Neben TCP findet das User Datagram Protocol (UDP) häufig als Transportprotokoll Verwendung. Dabei schickt der Sender die Datenpakete der Reihe nach an den Empfänger. Eine Rückmeldung des Empfängers findet nicht statt. UDP bietet daher im Gegensatz zu TCP keinerlei Garantien, dass die Datenpakete in der richtigen Reihenfolge ankommen oder nicht verloren gehen. Selbst die Korrektheit der Datenpakete wird in der Regel nicht überprüft.

Dafür spart man auf diese Weise viele Nachrichten ein und das Protokoll arbeitet schneller. Es eignet sich daher für Datenübertragungen, bei denen es auf Geschwindigkeit ankommt (z.B. Audioübertragung bei VoIP, Videoübertragung bei Streaming, DNS-Abfragen), aber fehlerhafte Pakete keine große Rolle spielen (ein leichtes Knacken in der Leitung oder einige Pixelfehler spielen keine Rolle).

Protokolle für die geheime Datenübertragung

In der Situation 4 (verbotene Informationsübermittlung während einer Klassenarbeit) ist der wichtigste Aspekt die geheime Datenübertragung. Durch Verschlüsselung kann erreicht werden, dass die Daten von unbefugten Dritten nicht gelesen werden können. Hier geht es aber sogar darum, bei der Kommunikation zu verhindern, dass die Kommunikation an sich von einem Dritten bemerkt wird. Dies bezeichnet man als „Steganografie“. Das ist die Technik des Verbergens der bloßen Existenz von Nachrichten.

OSI-Schichtenmodell

Es wurden im bisherigen Text schon viele Protokolle erwähnt: Ethernet-Protkoll, Transmission Control Protocol (TCP), Internet Protocol (IP-Protocol), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), usw. Insgesamt gibt es über 500 Protokolle, die bei der Datenübertragung im Internet eine Rolle spielen.

OSI-Schichtenmodell

Bild: OSI-Schichtenmodell, Schaller

Bei der Informationsübermittlung in einem Rechner-Netz sind immer mehrere Protokolle beteiligt, wobei jedes Protokoll bestimmte Aufgaben hat. Man kann sich die Protokolle in Schichten übereinander angeordnet vorstellen. Ganz oben stehen die Protokolle der Anwendungen, die der Benutzer nutzt (z.B. HTTP hat jeder schon mal gehört). Ganz unten stehen die Protokolle, die für den Datenaustausch auf Leitungsebene/Netzwerkkartenebene zuständig sind. Dazwischen gibt es weitere Protokolle des Betriebssystems, die der Programmierer einer Anwendung benutzen kann, um sich nicht selbst um die Funktionsweise einer Netzwerkkarte kümmern zu müssen. Wir wollen die im Detail ziemlich komplizierten Zusammenhänge (normalerweise 7 Schichten) im Folgenden anhand eines vereinfachten Modells (4 Schichten) erklären:

Abbildung 2 zeigt als oberste Schicht die Anwendungsschicht. Wenn z.B. ein Browser eine Internetseite aufrufen will, dann formuliert er einen entsprechenden Auftrag gemäß dem HTTP-Protokoll. Die Anfrage wird an die Transportschicht weitergegeben. Genauso gibt aber auch ein E-Mail-Client eine Anfrage an die Transportschicht weiter. Nur wurde diese Anfrage dann gemäß dem SMTP oder POP3-Protokoll formuliert.

Anfrage gemäß HTTP: GET bild.png HTTP/1.1 Host: 141.23.2.222

Anfrage gemäß POP3: RETR 3 (Retrieve = Empfange Nachricht 3)

Das Betriebssystem des Rechners realisiert die Transportschicht und kennt das TCP-Protokoll. Geht also eine Anfrage von einer Anwendung ein, hält es sich an das TCP-Protokoll und verarbeitet die Daten dementsprechend:

Die zu sendenden Daten werden auf einzelne Pakete aufgeteilt, die häufig nicht größer als etwa ein KByte sind. Dann werden die Pakete durchnummeriert. Jedes einzelne Paket wird mit der IP-Nummer des Empfängers und der des Absenders versehen. Außerdem wird die Portnummer für die Anwendung des Empfängers (z.B. Port 80 => an Webserver gerichtet) und die Portnummer der Anwendung des Absenders angehängt. Die Portnummer des Absenders ist eine willkürliche Nummer, die notwendig ist, damit die Antwort an das richtige Anwendungsprogramm weitergeleitet werden kann.

Außerdem werden noch verschiedene Verwaltungsinformationen hinzugefügt, wie z.B. eine Prüfsumme, mit deren Hilfe ein Empfänger Übertragungsfehler erkennen kann.

Das IP-Protokoll hängt sehr stark mit dem TCP-Protokoll zusammen. Meist werden beide in einem Atemzug genannt (TCP/IP). Das Internet Protokoll regelt aber über das ganze Internet hinweg ( Internetschicht), wie die Datenpakete vom Sender zum Empfänger gelangen sollen. Das Verfahren zum Routing der Datenpakete ist beispielsweise im IP festgelegt. Daher muss ein Router dieses Protokoll beherrschen. Diese Internetschicht heißt im OSI-Schichtenmodell Vermittlungsschicht.

Die unterste Schicht ist die Netzzugangsschicht. Die Daten werden an die Netzwerkkarte weitergereicht, die sie gemäß dem Ethernetprotokoll an eine andere Netzwerkkarte weiterreicht. Diese Netzwerkkarte gehört meistens nicht dem Empfänger, sondern stellt nur eine Zwischenstation dar. Davon hat die Netzzugangsschicht aber keine Ahnung. Sie kümmert sich nur um die Weitergabe von Netzwerkkarte zu Netzwerkkarte im eigenen Netzwerk. Ein Switch muss daher dieses Protokoll beherrschen. Für die korrekte Weiterleitung in andere Netzwerke sorgt die Vermittlungsschicht.

Beim Empfänger wird dieser ganze Prozess umgekehrt durchlaufen. Die Netzwerkkarte (Netzzugangsschicht) nimmt die Daten in Empfang und reicht sie an die Vermittlungsschicht weiter. Diese entscheidet, ob die Daten weitergeleitet werden müssen oder für diesen Rechner bestimmt sind. Die Transportschicht nimmt alle Pakete einzeln in Empfang, kontrolliert die Prüfsumme und sendet ggf. eine Empfangsbestätigung. Dann werden die Pakete in der richtigen Reihenfolge zusammengesetzt und an die Anwendungsschicht weitergegeben.

Die verschiedenen Schichten arbeiten auch mit unterschiedlichen Adressen:

  • Anwendungsschicht: Domain-Namen oder IP-Adressen

  • Transportschicht: IP-Adressen, Portnummern

  • Vermittlungsschicht: IP-Adressen

  • Netzzugangsschicht: MAC-Adressen

Der Vorteil dieses Schichtenmodells ist, dass die unterschiedlichen Funktionen auf verschiedene Programme verteilt und damit unabhängig voneinander sind. Dem Browser ist es völlig egal, ob auf der Netzzugangsschicht das Ethernet oder das Token Ring Protokoll verwendet wird. Er verlässt sich einfach darauf, dass es funktioniert. Auch die Umstellung von IPv4 auf IPv6 ist ohne Änderung des Browsers möglich. Ein Programmierer einer Internetanwendung muss sich keine Gedanken über den kompletten Datenverkehr machen. Er muss nur die Daten an die Transportschicht übermitteln, die sich um alles weitere kümmert.

Beschreibung

Bild Schichtenmodell, Schaller

Ähnliche Schichten gibt es auch bei Betriebssystemen. Ganz unten befindet sich die Hardware, die ja bei jedem Computer anders ist. Darüber liegt das BIOS (Basic Input Output System), das auf diese Hardware zugreift. Es ist fest auf einem Chip auf dem Motherboard gespeichert. Die Installation des Betriebssystems beginnt mit dem HAL (Hardware Abstraction Layer). Durch den HAL werden einheitliche Schnittstellen für die verschiedenen Komponenten eines Computers (incl. BIOS) bereitgestellt. Wenn im Computer spezielle Komponenten (z.B. Hochleistungsgrafikkarten) verbaut sind, deren Funktionen das Betriebssystem standardmäßig nicht alle kennt, dann werden spezielle Treiber in das Betriebssystem eingebunden, die dann die einheitliche Schnittstelle anbieten. Darüber werden verschiedene Systemdienste (z.B. Dateiverwaltung, Benutzerverwaltung, usw.) angeboten. Und erst ganz oben liegen die Anwendungsprogramme, die von der unterschiedlichen Hardware nicht mehr viel mitbekommen. Sie laufen auf jedem beliebigen Computer (zumindest im Prinzip).

 

Hintergrundinformationen: Herunterladen [odt][355 KB]

Hintergrundinformationen: Herunterladen [pdf][533 KB]

 

Weiter zu Kopiervorlagen