Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenMittwoch, 22. Mai 2019 

Transmission Control Protocol


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.

TCP im TCP/IP-Protokollstapel
Anwendung FTP SMTP HTTP ...
Transport TCP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...

Das Transmission Control Protocol ( TCP ) ist ein zuverlässiges verbindungsorientiertes Transportprotokoll in Computernetzwerken . Es ist Teil der TCP/IP -Protokollfamilie.

TCP stellt einen virtuellen Kanal zwischen Rechnern (genauer: Endpunkten) her. Auf diesem Kanal in beide Richtungen Daten übertragen werden. TCP in den meisten Fällen auf das IP -Protokoll auf. Es ist in Schicht 4 OSI-Netzwerkschichtenmodells angesiedelt.

Inhaltsverzeichnis

Verbindungsauf- und -abbau

Ein Endpunkt stellt ein Tupel bestehend aus IP-Adresse und Port dar. sind 16-bit Zahlen und reichen von 1 65535. Ports unterhalb von 1024 sind reserviert well known ports ) und werden von der IANA vergeben z. B. ist Port 25 das SMTP Protokoll für elektronische Post reserviert.

Jede TCP-Verbindung wird eindeutig durch zwei definiert. So ist es möglich dass ein Webserver auf Port 80 mehr als eine zu einem anderen Rechner geöffnet haben kann.

Ein Server-Rechner der einen Dienst wie elektronische Post anbietet generiert einen Endpunkt mit Port und seiner Adresse (er kann auch Adressen zulassen). Dies wird als passive open bezeichnet.

Will ein Client eine Verbindung aufbauen er einen eigenen Endpunkt aus seiner Rechneradresse einer noch freien Portnummer. Mit Hilfe eines bekannten Ports und der Adresse des Servers dann eine Verbindung aufgebaut werden. Für den der Verbindung sind drei Pakete erforderlich (3-Wege Handshake ).

Während der Datenübertragungsphase ( active open ) sind die Rollen von Client und (aus TCP -Sicht) vollkommen symmetrisch. Insbesondere kann jeder der beteiligten Rechner einen Verbindungsabbau einleiten. Während des kann die Gegenseite noch Daten übertragen die kann also halb -offen sein. Ein 4-Wege- Handshake wird benutzt um die Verbindung abzubauen.

Datenintegrität und Zuverlässigkeit

Im Gegensatz zum paketorientierten UDP implementiert TCP einen bidirektionalen byte-orientierten zuverlässigen Datenstrom zwischen Endpunkten. Das darunterliegende Protokoll (meist IP ) ist paketorientiert wobei Datenpakete verlorengehen können in verkehrter Reihenfolge ankommen und sogar doppelt empfangen werden können. TCP die Integrität der Daten mittels einer Prüfsumme und stellt die Reihenfolge durch Sequenznummern sicher. Der Sender wiederholt das Senden von Paketen falls keine innerhalb einer bestimmten Zeitspanne (Timeout) eintrifft. Die der Pakete werden im Empfänger in einem Puffer zu einem Datenstrom zusammengefügt und doppelte verworfen.

Bestätigungen

Die jeweilige Länge des Puffers bis der keine Lücke im Datenstrom existiert wird ( Windowing ). Dadurch ist die Ausnutzung der Netzwerk-Bandbreite bei großen Strecken möglich. Bei einer Übersee- Satellitenverbindung dauert das Eintreffen des ersten Acknowledges (ACK) aus technischen Gründen mehrere 100 in dieser Zeit können unter Umständen mehrere Pakete gesendet werden. Der Sender kann den füllen bevor die erste Bestätigung eintrifft. Alle im Puffer können gemeinsam bestätigt werden. Bestätigungen zusätzlich zu den Daten in die Paket-Header entgegengesetzen Datenstrom eingefügt ( Piggybacking ).

Weitere Protokolleigenschaften

Über ein Dringlichkeitsbit ( Urgent ) können Daten als vorrangig gekennzeichnet werden. ist beispielsweise die bevorzugte Behandlung von CTRL-C bei einer Terminalverbindung (TELNET) möglich.

Um Bandbreite zu sparen wird auf TCP Ebene meistens der Nagle-Algorithmus eingesetzt.

Problematik der Datenwiederholung

Die Wiederholung von Daten für die keine Bestätigung empfangen wurde ist nicht unproblematisch. Internet in dem viele Netzwerke mit unterschiedlichen verbunden werden ist Datenverlust einzelner Pakete durchaus Die Verlustrate nimmt zu falls bestimmte Netzwerke der Verbindung an ihre Auslastungsgrenze kommen. Eine Implementierung von TCP/IP würde die verlorenen Pakete wiederholen was zu noch größerer Auslastung führen und unter Umständen zum Zusammenbruch des Netzwerks könnte. TCP/IP Implementierungen verwenden daher Algorithmen die verhindern. Normalerweise wird langsam gestartet (Slow Start) die Senderate dann bis zum Datenverlust erhöht. Datenverlust verringert die Senderate insgesamt nähert sich Datenrate dem jeweiligen zur Verfügung stehenden Maximum.

Protokolle die in der Regel auf aufsetzen


Weblinks



Bücher zum Thema Transmission Control Protocol

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/TCP.html">Transmission Control Protocol </a>