TCP (transmission control protocol)

Das Transmission Control Protocol (TCP) ist ein äußerst zuverlässiges, verbindungsorientiertes Transportprotokoll für den Einsatz in paketvermittelten Netzen. Das Protokoll baut auf dem IP-Protokoll auf, unterstützt die Funktionen der Transportschicht und stellt vor der Datenübertragung eine gesicherte Verbindung zwischen den Instanzen her.


Beim TCP-Protokoll werden die Daten der höheren Schichten segmentiert und in einzelnen Datenpaketen versendet, die einen Umfang von bis zu 65 kB haben können. Das TCP-Protokoll ist ein Protokoll der Transportschicht. Das auf der Netzwerkschicht residierende Internet Protocol (IP) fragmentiert die TCP-Datensegmente in kleinere Datenpakete. Jedes Oktett eines Segments wird mit einer Sequenznummer versehen, um empfangsseitig die richtige Reihenfolge wieder herstellen zu können.

Funktionen des TCP-Protokolls

Die wesentlichen Dienstleistungen, die das TCP-Protokoll in Verbindung mit dem IP-Protokoll für die Anwendungsprozesse bereitstellt, sind die Ende-zu-Ende-Kontrolle, das Verbindungsmanagement, die Flusskontrolle, die Zeitkontrolle und das Multiplexen von Verbindungen sowie die Fehlerbehandlung.

Die Ende-zu-Ende-Kontrolle arbeitet mit einer positiven Bestätigung (ACK), bei der alle Datenpakete bestätigt, nicht empfangene erneut angefordert und gesendet werden. Durch diesen Mechanismus ist eine zuverlässige Datenübermittlung gewährleistet. Das Verbindungsmanagement sorgt für einen gesicherten Verbindungsaufbau mittels Handshake-Verfahren. Darüber hinaus sorgt das Verbindungsmanagement für die einwandfreie Bereitstellung der Verbindung während der Übertragungsphase und für einen korrekten Verbindungsabbau.

Da alle übertragenen Datenpakete im TCP-Header fortlaufend nummeriert und bestätigt werden, verhindert die Flusskontrolle Paketverluste. Die Zeitüberwachung durch die Fenstertechnik dient dazu, dass übertragene Datenpakete innerhalb eines bestimmten Zeitraums bestätigt werden. Findet innerhalb dieses Zeitraums keine Bestätigung statt, werden die Datenpakete erneut gesendet. Um mehrere Prozesse gleichzeitig über das TCP-Protokoll zu betreiben, werden für das Multiplexen mehrere Ports zur Verfügung gestellt. Treten Fehler auf, tritt der Fehlermechanismus in Funktion und fordert die fehlerhaften Datensegmente von den höheren Schichten erneut an.

Die Übertragungsphasen des TCP-Protokolls

Das Prinizip der garantierten Übertragung 
   im TCP-Protokoll

Das Prinizip der garantierten Übertragung im TCP-Protokoll

Eine TCP-Übertragung lässt sich in drei Phasen gliedern: die Initialisierungsphase, die Phase der Nutzdatenübertragung und die Phase des Verbindungsabbaus. In der Initialisierungsphase erfolgt der aktive oder passive Verbindungssaufbau in der eine Eins-zu-Eins-Verbindung hergestellt wird, die während der gesamten Dauer des Datentransfers aufrechterhalten wird. Diese Phase, die durch einen Zwei- oder Drei-Weg-Handshake eingeleitet wird, dient auch der Synchronisation der Kommunikationspartner.

In der Datenübertragungsphase, die nach dem Verbindungsaufbau beginnt, erfolgt über die aufgebaute virtuelle Verbindung. Diese Phase ist geprägt durch die Übertragung der Datenblöcke und die Empfangsbestätigung der Sequenznummern durch den Kommunikationspartner. Die Phase des Datentransfers wird durch mehrere Timer überwacht, um beispielsweise unbestätigte Datenblöcke nachzusenden, um die Fenstergröße umzustellen, den Verbindungsabbau einzuleiten oder aber einen erneuten Verbindungsaufbau zu initiieren. Die Datentransferphase wird durch eine Flusssteuerung und durch verschiedene Algorithmen optimiert. Diese Algorithmen sind Steuerungsmechanismen für die Datenmenge, den Datenfluss und die Netzauslastung. Bekannte Algorithmen sind der Karn's Algorithmus und der Nagle-Algorithmus.

Die dritte und letzte Phase, der Verbindungsabbau, kann einerseits nach der Übertragung aller Daten erfolgen, andererseits durch einseitigen Abbruch der Verbindung durch ein höheres Protokoll.

Das TCP-Protokoll ist in RFC 793 veröffentlicht.

Informationen zum Artikel
Deutsch: TCP-Protokoll
Englisch: transmission control protocol - TCP
Veröffentlicht: 02.03.2018
Wörter: 509
Tags: #Transportprotokolle
Links: Abbruch, Algorithmus, Daten, Datenblock, Datenpaket