TCP

Im Jahr 1973 begannen Robert E. Kahn und Vinton G. Cerf das Transmission Control Protocol (TCP) zu entwickeln. Allerdings wurde für die Entwicklung einige Zeit benötigt, so das es erst 1981 erstmals zum Einsatz kam.

Im bekannten ISO-OSI Modell befindet sich TCP auf Schicht 4, der sogenannten Transportschicht (Network Layer). Das OSI Referenzmodell, welches die Problembereiche der Netzwerkkommunikation in sieben aufeinander aufbauenden Schichten darstellt, wurde kontinuierlich entwickelt und standardisiert.

Damit ein zuverlässiger Datentransport gewährleistet wird, verwenden Anwendung TCP. Das Protokoll gewährleistet, dass die Daten korrekt und in richtiger Reihenfolge über das Netzwerk transportiert werden. TCP ist ein zuverlässiges, verbindungsorientiertes und Bytestream-Protokoll.

Die Zuverlässigkeit wird durch den „Positive Acknowledgement with Re-transmission (abk.:PAR; Übersetzung: positive Bestätigung mit Neuübertragung) Mechanismus hergestellt. Das Bedeutet, dass das PAR so lange die Daten neu verschickt, bis es vom Empfänger eine Nachricht erhält, dass die Daten korrekt übersendet wurden.

Die ausgetauschten Dateneinheiten zwischen den TCP-Modulen werden als Segment bezeichnet. Jedes Segment erhält eine sogenannte Prüfsumme, die der Empfänger anwendet, um zu überprüfen, ob die Daten einwandfrei übermittelt wurden. Nach erfolgreichem Abschluss der Übertragung des Datensegments, verschickt der Empfänger wie vorhin schon erwähnt eine positive Bestätigung an den Sender zurück. Ist das Datensegment beschädigt, wird es vom Empfänger aussortiert und ignoriert. Nach einer gewissen Wartezeit, welche Timeout-Period genannt wird, werden vom TCP-Modul alle Datensegmente noch einmal verschickt, bis ein PAR an den Empfänger verschickt wurde.

TCP ist verbindungsorientiert und baut eine logische Rechner-zu-Rechner Verbindung (Host to Host connection) zwischen den beiden kommunizierenden Hosts (Rechner) auf. Bevor die Datenübertragung ausgeführt wird und der Dialog zwischen den beiden Rechnern beginnt, wird eine so genannte Handshake-Methode verwendet um Kontrollinformationen zwischen Sender und Empfänger zu übertragen. Die von TCP verwendete Art des Handshakes wird als 3-Way-Handshake (3-Wege-Handschlag) bezeichnet, weil bei der Übertragung der Kontrollinformationen insgesamt 3 Segmente versendet werden.

In der Abbildung ist die einfachste Form des Handshakes dargestellt.

Host B

SYN

SYN, ACK

ACK, DATEN

 

Host A

 
   

Über Host A beginnt der Verbindungsaufbau, indem Host B ein Segment geschickt wird, bei dem ein SYN-Bit (Synchronize sequence numbers) gesetzt wird. Dieses Segment teilt Host B mit, dass A eine Verbindung mit B aufnehmen möchte und welche Sequenznummer als Startnummer bei Host A verwendet wird. Mit der Sequenznummer wird garantiert, dass die Daten in der richtigen Reihenfolge übertragen werden. Host B antwortet darauf Host A mit einem Segment namens ACK (Acknoledgement à Bestätigung) und setzt ebenfalls ein SYN-Bit. Host B bestätigt dadurch Host A den Verbindungsaufbau und informiert zu dem Host A mit welcher Sequenznummer Host B beginnt. Nach dem Verbindungsaufbau bestätigt wurde, beginnt der Datentransfer.

 

Quellen & weiterführende Links:

Hunt, C.: TCP/IP Netzwerk-Administration, 2. Aufl., Köln 1998

http://www.rvs.uni-bielefeld.de/~heiko/tcpip/
Zugegriffen am: 28.03.2007

http://www.ruhr-uni-bochum.de/~rothamcw/Lokale.Netze/tcpip.html
Zugegriffen am: 29.03.2007

Autor: Torben Sunderkötter

Dieser Artikel ist in folgenden Kategorien:
| | | | | |