Direkt zum Inhalt

Meinels Web-Tutorial: TCP oder woher weiß ich, dass mein Datenpaket angekommen ist?

Was für den Briefeschreiber das Einschreiben mit Rückschein, ist für den Internetcomputer das TCP-Protokoll. Es stellt sicher, dass keine verlorene Sendung unbemerkt bleibt.
Alles da? TCP protokolliert den Eingang aller PaketeLaden...

Physische Netzwerke und die Protokolle auf der Internetschicht (IPv4/IPv6) bieten die Grundlage dafür, dass wir über das Internet kommunizieren und Nachrichten verpackt in Datenpakete von einem Sender zu einem Empfänger abgeschickt werden können. Trotzdem wäre das Netz der Netze bei Weitem nicht so erfolgreich geworden, wenn nicht zusätzlich Protokolle entwickelt worden wären, die auf der Transportschicht garantieren, dass die Datenpakete auch tatsächlich dort ankommen, wo sie hingeschickt werden.

Das Problem ist klar: Dank der Internetprotokolle können wir Datenpakete an beliebige Geräte im Netz adressieren und über Zwischensysteme (Netze und Router) verschicken. Aber weder die Zwischenstationen noch das Protokoll selbst kümmern sich darum, ob ein Paket auch ankommt. Es ist wie bei einer einfachen Postsendung: Wenn man einen Brief verschickt, weiß man zwar, dass er abgeschickt wurde und die für den Empfänger bestimmte Nachricht enthält, eine Bestätigung, dass er beim Adressaten angekommen ist, erhält man jedoch nicht. Im schlimmsten Fall bleibt es unbemerkt, dass die Sendung fehlgeschlagen ist, weil der Empfänger ja gar nicht wusste, dass ihm ein Brief hätte zugestellt werden sollen.

Ein solches Dilemma kann ohne zusätzliche Mechanismen nicht gelöst werden. Im Postwesen hat man dafür ein System mit Einschreiben und Rückantwort eingeführt, in der Welt des Internets dient dazu das »Transmission Control Protocol« (TCP), das ganz ähnlichen Mechanismen folgt. Unter anderem stellt es sicher, dass alle Datenpakete, die über das Internet versendet werden, unbeschädigt bei ihrem Empfänger ankommen. Wegen der herausragenden Bedeutung jener Kombination aus IP-Protokoll und TCP-Protokoll wird das »Betriebssystem des Internets« gemeinhin nach diesen beiden als TCP/IP-Protokollsuite bezeichnet, selbst wenn es in Wirklichkeit noch aus vielen weiteren Protokollen besteht.

TCP gaukelt den Computern eine Direktverbindung vor

Die IP-Protokolle operieren, wie bereits beschrieben, ohne eine Direktverbindung zwischen Sender und Empfänger – die Datenpakete werden einfach abgesendet. Das TCP-Protokoll stellt dagegen einen verbindungsorientierten Dienst bereit. Dabei wird eine softwarebasierte virtuelle Verbindung zwischen Sender und Empfänger hergestellt, die sich wie eine tatsächliche physische Verbindung verhält, obwohl auf dieser Ebene eine solche gar nicht hergestellt werden könnte. Damit gelingt es TCP trotz der Unzuverlässigkeit des Paketdiensts des IP-Protokolls den beiden Endsystemen »vorzugaukeln«, dass es wie beim Telefondienst eine direkte physische Verbindung zwischen den beiden Systemen gäbe, auf der die Datenpakete transportiert werden.

Zwei Werkzeuge sind wichtig dafür: Zum einen kann TCP die empfangenen Datenpakete quittieren, also ihren Empfang bestätigen, zum anderen erlaubt das Verfahren, alle Datenpakete durchzunummerieren. Wird eine neue Verbindung aufgebaut, teilt der Sender dem Empfänger mit, dass er Nachrichten übermitteln will, und der Empfänger bestätigt, dass er bereit ist, diese zu empfangen und auch selbst Nachrichten zurücksenden möchte. Dann tauschen beide Partner die initialen Paketnummern aus, von denen ab dann alle nachfolgend gesendeten Datenpakete durchnummeriert werden. Die beiden Kommunikationspartner können dann im Kommunikationsverlauf anhand der Paketnummerierungen erkennen, dass und wie viele Datenpakete in welcher Reihenfolge in jeder Richtung auf die Reise geschickt wurden. Geht ein Paket unterwegs verloren, fällt dies durch die Lücke in der Zählung auf. Wurde es beschädigt, quittiert es der Empfänger einfach nicht. TCP ermöglicht also, dass alle Daten übertragen, fehlerfrei und in der richtigen Reihenfolge vom Zielsystem empfangen und zusammengesetzt werden können.

TCP verbindet die Endgeräte rein virtuellLaden...
TCP verbindet die Endgeräte rein virtuell | Sender und Empfänger sind durch eine vom TCP-Protokoll bereitgestellte virtuelle Verbindung (obere gestrichelte Linie) verbunden, während die TCP-Nachrichten in Wirklichkeit als Nutzlast in gewöhnlichen IP-Paketen gekapselt vermittels des IP-Protokolls über Zwischensysteme hinweg durch das Internet transportiert werden.

Die TCP-Nachrichten selbst werden »gekapselt« in IP-Datagrammen versendet, also als Nutzlast in den durchnummerierten IP-Paketen transportiert. Das TCP stellt also eine Ende-zu-Ende-Übertragung zwischen den Endsystemen einer Kommunikation her, die eine bidirektionale Versendung von Daten ermöglicht. Welchen Weg das Paket auf seiner Reise nimmt und wie es überhaupt an seinen Bestimmungsort gelangt, spielt dabei keine Rolle, das wird mit Hilfe der Mechanismen des IP-Protokolls erledigt. Die mit TCP aufgebaute Verbindung zwischen den beiden Kommunikationspartnern ist virtuell, weil sie nur bei den beiden Endsystemen zu spüren ist. Auf allen Zwischensystemen werden die Datenpakete mit der TCP-Nutzlast und über die üblichen Mechanismen des IP-Protokolls weitergeleitet.

TCP gleicht darüber hinaus Störungen aus, die durch Fehler und Überlastungssituationen im Netzverbund entstehen, oder wenn einmal der Sendebetrieb und die Verarbeitung der empfangenen Daten in den Endsystemen nicht synchron laufen. Doch diesen Problemen widmen wir uns erst in der nächsten Kolumne.

Lesermeinung

Beitrag schreiben

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Leserzuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Leserzuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmer sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Lesermeinungen können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!

Partnervideos