Netzwerkprotokolle einfach erklärt: TCP/IP & Co.
Du lernst, warum Geräte gemeinsame Regeln brauchen, wie Daten verpackt werden und wie du Protokolle und Fehlermeldungen zuordnest.
Kurz gesagt
Netzwerkprotokolle sind gemeinsame Regeln für den Aufbau und die Verarbeitung von Nachrichten zwischen Geräten. Sie legen zum Beispiel fest, wie eine Anfrage aufgebaut ist und wie ein Gerät darauf antwortet.
Ein Netzwerk verbindet Geräte, damit sie Daten austauschen können. Dabei arbeiten mehrere Protokolle zusammen und übernehmen verschiedene Aufgaben. Du lernst diese Aufgaben kennen und untersuchst einen vereinfachten Webaufruf.
Deine Lernziele
Ein Netzwerkprotokoll legt Regeln für den Datenaustausch fest: Wie ist eine Nachricht aufgebaut? Was bedeuten ihre Teile? Wie soll der Empfänger sie verarbeiten?
Sender und Empfänger müssen passende gemeinsame Regeln verwenden. Sonst könnte ein Gerät eine Nachricht anders verstehen als das andere. Gemeinsame Regeln ermöglichen den Austausch auch zwischen Geräten mit unterschiedlichen Programmen und Bauteilen. Dafür müssen weder alle Programme noch die Bauteile gleich sein.
Beispiel: Eine erfundene Steuerung für eine Leuchte
- 1Die vereinbarte Regel lautet: Die Nachricht „AN“ bedeutet Einschalten.
- 2Das Steuergerät sendet „AN“.
- 3Die Leuchte verarbeitet die Nachricht nach derselben Regel und schaltet sich ein.
- 4Würde die Leuchte unter „AN“ etwas anderes verstehen, wäre die gemeinsame Regel nicht erfüllt.
Teste dich
Daten werden im Netzwerk in abgegrenzten Einheiten übertragen. Eine solche Einheit nennen wir hier ein Datenpaket. Die Nutzdaten sind der Inhalt, den man aus der betrachteten Sicht übertragen möchte, etwa ein Nachrichtentext. Der Bereich, der diesen Inhalt trägt, heißt Nutzlast.
Zusätzlich braucht ein Paket Steuerinformationen. Sie helfen dabei, das Paket zu verarbeiten, etwa durch eine Zielangabe. Der Header ist der Bereich am Anfang des Pakets. Er enthält solche Steuerinformationen. Manche Protokolle hängen auch einen Trailer an das Ende. Auch er enthält zusätzliche Informationen über das Paket. Ob es einen Trailer gibt, hängt vom Protokoll ab; viele Protokolle verwenden keinen.
Overhead heißt hier: zusätzliche Protokollinformationen gegenüber den betrachteten Nutzdaten. Dazu gehören der Header und ein vorhandener Trailer. Diese Informationen werden zusätzlich zum eigentlichen Inhalt übertragen.
Die betrachtete Verpackung ist wichtig: Eine Nachricht kann bereits eigene Steuerinformationen enthalten. Wird die ganze Nachricht in ein weiteres Paket verpackt, kann sie aus Sicht der äußeren Verpackung vollständig zur Nutzlast gehören.
Overhead
Overhead sind zusätzliche Protokollinformationen gegenüber den betrachteten Nutzdaten. Man muss deshalb angeben, welche Nutzdaten und welche Verpackung man betrachtet.
Beispiel: Ein erfundenes Paketmodell mit Trailer
- 1Header: Absender Gerät R; Ziel Gerät S.
- 2Nutzlast: der Nachrichtentext „Der Roboter ist startklar.“
- 3Trailer: zusätzliche Information zum Prüfen des Pakets.
- 4Betrachten wir den Nachrichtentext als Nutzdaten, zählen Header und Trailer zum Overhead.
Teste dich
Ein Browser ist ein Programm zum Anzeigen von Webseiten. Mit einem Webaufruf fordert er eine Webseite an. Ein Server ist hier ein Programm auf einem anderen Rechner, das Anfragen entgegennimmt und beantwortet.
IP heißt Internet Protocol. Eine IP-Adresse ist eine Adresse, über die ein Anschluss eines Geräts im Netzwerk angesprochen wird. IP dient der Adressierung und Weiterleitung von Datenpaketen. Zwischengeräte bestimmen das nächste Zwischenziel und leiten die Pakete weiter. Pakete können dabei verloren gehen, vertauscht oder doppelt ankommen.
DNS heißt Domain Name System. Es ermittelt zu einem lesbaren Webnamen eine passende IP-Adresse. HTTP heißt Hypertext Transfer Protocol. Es regelt Anfragen nach Webseiten-Dateien und die zugehörigen Antworten des Servers.
TCP heißt Transmission Control Protocol. Es baut eine Verbindung zwischen zwei Teilnehmern auf. TCP sorgt dafür, dass empfangene Daten in der richtigen Reihenfolge bereitgestellt werden und doppelte Daten nicht doppelt weitergegeben werden. Der Empfänger bestätigt Daten. Bleibt eine Bestätigung zu lange aus, kann TCP Daten erneut senden. Trotzdem kann eine Übertragung scheitern. Eine aufgebaute Verbindung garantiert keinen dauerhaften Erfolg.
UDP heißt User Datagram Protocol. Es überträgt einzelne Nachrichten ohne einen eigenen Verbindungsaufbau. UDP selbst garantiert weder ihre Ankunft noch ihre Reihenfolge. Es wiederholt verlorene Nachrichten nicht selbst und ordnet vertauschte Nachrichten nicht selbst. Daraus folgt nicht, dass UDP bei jeder Übertragung schneller ist als TCP.
Für unseren vereinfachten Webablauf gelten diese Annahmen: Der Browser kennt die benötigte IP-Adresse noch nicht, die Suche gelingt und der Webaufruf nutzt TCP. Zuerst ermittelt DNS die IP-Adresse. Danach wird die TCP-Verbindung aufgebaut. Anschließend sendet der Browser eine HTTP-Anfrage und der Server eine HTTP-Antwort. Für eine Webseite können mehrere Dateien angefragt werden. Der Browser setzt die empfangenen Dateien zur sichtbaren Webseite zusammen.
IP befördert während der Übertragung die Pakete unterhalb von TCP. IP ist also kein späterer Schritt nach der HTTP-Antwort. Unser Ablauf ist ein Modell mit ausgewählten Schritten. Nicht jeder Webaufruf nutzt TCP.
TCP hat einen Header und eine Nutzlast, aber keinen eigenen Trailer. Eine ganze HTTP-Nachricht kann TCP-Nutzlast sein. Dann gehören auch die Steuerinformationen innerhalb der HTTP-Nachricht aus TCP-Sicht zur Nutzlast.
| Protokoll | Aufgabe |
|---|---|
| DNS | Zu einem Webnamen eine passende IP-Adresse ermitteln. |
| HTTP | Anfragen nach Webseiten-Dateien und Antworten regeln. |
| TCP | Daten mit Verbindung, Bestätigungen und Wiederholungen geordnet übertragen. |
| UDP | Einzelne Nachrichten ohne eigene Garantie für Ankunft und Reihenfolge übertragen. |
| IP | Pakete adressieren und weiterleiten. |
Merke: Die Protokolle teilen sich Aufgaben. TCP nutzt IP für die Paketübertragung. Auch wenn TCP Bestätigungen nutzt, Daten erneut sendet und sie ordnet, kann eine Übertragung scheitern.
Teste dich
Achte auf das ausdrücklich genannte Protokoll und auf die Art der Meldung. Ein HTTP-Statuscode ist eine Zahl in einer HTTP-Antwort. Er gibt Auskunft über die Bearbeitung der Anfrage.
Bei HTTP 404 meldet der Server, dass er die angeforderte Datei oder einen anderen angeforderten Inhalt nicht gefunden hat. Ein Server kann diesen Code aber auch senden, wenn der Anfragende den Inhalt nicht sehen darf. Damit kann er verbergen, dass es den Inhalt gibt. HTTP 404 beweist deshalb nicht, dass der Inhalt tatsächlich nicht existiert. Der Code ist auch keine Meldung über einen gescheiterten TCP-Verbindungsaufbau.
Timeout bedeutet Zeitüberschreitung: Eine vorgesehene Wartezeit ist abgelaufen. HTTP 408 ist trotz dieser Bedeutung ein HTTP-Statuscode. Einige Server senden ihn, wenn sie eine inaktive Verbindung schließen möchten. Das kann sogar geschehen, ohne dass zuvor eine Anfrage gesendet wurde. Ein Server kann eine solche Verbindung auch ohne diese Antwort schließen.
Ein ausdrücklich gemeldeter TCP-Timeout gehört dagegen zu TCP. Zum Beispiel kann eine erwartete Bestätigung zu lange ausbleiben. TCP kann dann Daten erneut senden; die Übertragung kann trotzdem scheitern.
Steht in einer Meldung lediglich „Timeout“, reicht das für eine eindeutige Protokollzuordnung nicht aus. Außerdem gilt: Die Zuordnung einer Meldung nennt das beteiligte Protokoll. Sie beweist noch nicht die technische Ursache der Störung.
Merke: Das Wort „Timeout“ entscheidet die Zuordnung nicht. HTTP 408 ist eine HTTP-Antwort. Ein ausdrücklich gemeldeter TCP-Timeout gehört zu TCP.
Teste dich
Alles auf einen Blick
Netzwerkprotokoll
Netzwerkprotokolle legen Aufbau und Verarbeitung von Nachrichten fest.
Header und vorhandener Trailer enthalten zusätzliche Informationen gegenüber den betrachteten Nutzdaten.
DNS ermittelt Adressen, HTTP regelt Anfragen und Antworten, IP leitet Pakete weiter.
TCP nutzt Verbindung, Bestätigungen und Wiederholungen; UDP selbst garantiert weder Ankunft noch Reihenfolge.
HTTP-Codes gehören zu HTTP; das Wort „Timeout“ allein nennt noch kein eindeutiges Protokoll.
TCP garantiert keinen dauerhaften Übertragungserfolg, und HTTP 404 beweist keine tatsächliche Nichtexistenz.
Einen erfundenen Webaufruf planen
- 1Aufgabe: Ein Browser soll die erfundene Webseite „sternwarte.example“ anzeigen. Die IP-Adresse ist noch unbekannt. Die Suche gelingt und der Aufruf nutzt TCP.
- 2Zuerst lässt der Browser mit DNS die passende IP-Adresse zum Webnamen ermitteln.
- 3Danach wird eine TCP-Verbindung zum Server aufgebaut.
- 4Anschließend fordert der Browser mit HTTP die benötigten Dateien an. Der Server sendet HTTP-Antworten.
- 5Während der Übertragung übernimmt IP die Adressierung und Weiterleitung der Pakete unterhalb von TCP.
- 6Der Browser verarbeitet die empfangenen Dateien und setzt sie zur sichtbaren Webseite zusammen. Damit ist die Aufgabe im beschriebenen Modell gelöst.
Fehler finden
Fehler in Zeile 3Die Meldung wurde dem falschen Protokoll zugeordnet. Richtig: HTTP 408 ist eine HTTP-Antwort und gehört zu HTTP, auch wenn die Meldung das Wort „Timeout“ enthält.
Lückentext
Steht eine Zielangabe vorn im Paket, gehört sie zum . Für die Zuordnung eines Webnamens zu einer IP-Adresse ist zuständig. Das beschriebene Protokoll mit Verbindungsaufbau und Wiederholung unbestätigter Daten heißt .