TCP
Das Transmission Control Protocol (TCP) ist ein verbindungsorientiertes Protokoll, das definiert, wie eine Netzwerkkonversation aufgebaut und aufrechterhalten wird. Alles wichtige hierzu erfährst du in diesem Beitrag und im Video !
Inhaltsübersicht
TCP einfach erklärt
Das Transmission Control Protocol (TCP) ist ein Standard, der festlegt, wie der Austausch von Daten zwischen Netzwerkkomponenten erfolgen soll. Folgende Funktionen soll das TCP erfüllen:
- Verhinderung von Datenverlusten
- Aufteilung von Datenströmen
- Zuordnung der Datenpakete zu den Anwendungen
Die aufgebaute Verbindung wird so lange aufrechterhalten, bis die Anwendungen auf beiden Seiten den Nachrichtenaustausch abgeschlossen haben.
Das Protokoll arbeitet mit dem Internet-Protokoll (IP) zusammen, der für den Transfer der Datenpakete im Computer verantwortlich ist. Zusammen bilden TCP und IP die Grundregeln der Datenübertragung im Internet.
Aufgaben und Funktionen von TCP
Damit die Datenübertragung mit TCP reibungslos funktioniert, hat das Protokoll einige Aufgaben. Die wichtigsten Aufgaben von TCP sind:
- Segmentierung: Zerlegung der Anwendungsdaten in Pakete zur Übertragung, anschließende Wiederherstellung zu einer Datei oder einem Datenstrom
- Verbindungsmanagement: Verbindungsauf- und abbau
- Fehlerbehandlung: erneute Übertragung von verworfenen oder verstümmelten Paketen sowie Zeitüberwachung
- Flusssteuerung: Dynamische Auslastung der Übertragungsstrecke
- Anwendungsunterstützung: Adressierung spezifischer Anwendungen und Verbindungen durch Port-Nummern
Segmentierung (Data Segmenting)
Bei der Segmentierung teilen sich die Datenströme in kleinere Pakete bzw. Segmente auf. Die einzelnen Segmente werden mit Headern versehen, die Steuer- und Kontroll-Informationen enthalten.
Anschließend werden die Segmente zum Internet Protokoll (IP) gesendet. Beim IP-Routing können aber durch unterschiedliche Wege Zeitverzögerungen entstehen, sodass die Datenpakete in einer anderen Reihenfolge ankommen als vorgesehen.
Die Fragmente müssen beim Empfänger daher erst in die richtige Reihenfolge gebracht werden, bevor der Datenstrom zur adressierten Anwendung gelangt. Die Segmente erhalten daher eine spezifische Sequenznummer.
Verbindungsmanagement (Connection Establishment and Termination)
Das verbindungsorientierte TCP bzw. das Verbindungsmanagement ist für den Aufbau und Abbau der Kommunikation verantwortlich. Die Leitung erfolgt dabei zwischen zwei Stationen einer End-to-End-Kommunikation. Dadurch stehen Sender und Empfänger stets in Verbindung.
Fehlerbehandlung (Error Detection)
Auch bei einer virtuellen Verbindung werden während der Datenübertragung Kontrollmeldungen ausgetauscht. Es findet also eine Fehlerbehandlung statt. Dabei bestätigt der Empfänger dem Sender jedes erhaltene Datenpaket. Trifft jedoch keine Bestätigung beim Absender ein, wird das Paket nochmal verschickt.
Alle TCP-Pakete und TCP-Meldungen werden mit einer fortlaufenden Sequenznummer gekennzeichnet. Denn so sind Sender und Empfänger bei Übertragungsproblemen in der Lage, die Reihenfolge und Zuordnung der Datenpakete und Meldungen zu erkennen.
Flusssteuerung (Flow Control)
Ist die zeitliche Zuordnung und der Übertragungsweg bei einer paketorientierten Übertragung unbekannt, erhält das Transport-Protokoll vom Übertragungssystem keine Information über die verfügbare Bandbreite.
Durch die Flusssteuerung werden beliebig langsame oder schnelle Übertragungsstrecken dynamisch ausgelastet und auf unerwartete Engpässe und Verzögerungen reagiert. TCP regelt also, wie schnell und wo die Datenpakete versendet werden.
Anwendungsunterstützung (Application Support)
TCP-Ports sind eine Software-Abstraktion zur Unterscheidung der Kommunikationsverbindungen. Genau wie die IP-Adressen Rechner in Netzwerken adressieren, zielen Ports auf spezifische Anwendungen oder Verbindungen, die auf einem Rechner laufen, ab. Die letzte Aufgabe des TCP ist also die Anwendungsunterstützung.
Vergleich UDP vs. TCP
Abgesehen vom verbindungsorientierten TCP existiert das verbindungslose unsichere UDP (User Datagram Protocol). Genau wie das TCP gehört das UDP zur vierten, also zurTransportschicht des OSI-Modells.
Das UDP wird als verbindungslos eingestuft, weil das Protokoll nicht erkennt, ob beide Anwendungen ihre Kommunikation beendet haben. Das führt dazu, dass das UDP ungültige Datenpakete verwirft, anstatt diese für die weitere Verwendung zu beheben.
Der UDP-Header enthält also aufgrund der fehlenden Kontrollfunktionen viel weniger Informationen als ein TCP-Header. Somit wird der UDP-Header wegen der fehlenden Kontrolle weniger genutzt, um die Verzögerung zu verringern.
TCP ermöglicht die Organisation von Daten, damit die sichere Übertragung gewährleistet ist. Das Transmission Control Protokoll garantiert also die Integrität der über das Netz gesendeten Daten, unabhängig von ihrer Menge.
Es dient zur Übertragung von Daten aus anderen übergeordneten Protokollen, bei denen alle übermittelten Daten ankommen müssen.
Aufbau TCP-Header
Jedes von TCP verschickte Datenpaket enthält einen zusätzlichen Header, der die folgenden Daten enthält
- Sender-Port
- Empfänger-Port
- Paket-Reihenfolge (Nummer)
- Prüfsumme
- Quittierungsnummer
- Flags (Statusindikator, zur Kennzeichnung bestimmter Zustände)
So besteht ein TCP-Header aus einem Header-Bereich und einem Daten-Bereich. Im Header finden sich Informationen, die für eine gesicherte TCP-Verbindung wichtig sind.
Der TCP-Header ist in mehrere 32-Bit Blöcke aufgebaut, wobei jeder mindestens 5 solcher Blöcke besitzt. Das führt dazu, dass ein Header eine Länge von mindestens 20 Byte besitzt.
Bedeutung der Felder im TCP-Header
Im Folgenden haben wir dir die Feldinhalte des Headers mit den entsprechenden Bitgrößen zusammengefasst:
Feldinhalt | Bit | Beschreibung |
Quell-Port (Source-Port) | 16 |
|
Ziel-Port (Destination Port) | 16 |
|
Sequenznummer | 32 |
|
Acknowledgement-Nummer | 32 |
|
Data Offset | 4 |
|
Reserviert | 6 |
|
Flags | 6 |
|
Window-Größe | 16 |
|
Check-Summe | 16 |
|
Urgent-Pointer | 16 |
|
Optionen/Füllbits (Options/Padding) | je 16 |
|
TCP/IP-Modell vs. OSI Modell
Das OSI Modell und das TCP/IP -Modell unterscheiden sich primär im Grad der Spezifität: Das OSI Modell ist hinsichtlich der Art und Weise des Datenaustauschs viel abstrakter. Es beschränkt sich demnach nicht auf ein bestimmtes Protokoll.
Merke: Das OSI-Modell besitzt sieben Schichten, während das TCP/IP-Modell nur vier Schichten umfasst.
Das TCP/IP-Modell ist vergleichsweise viel spezifischer und beschränkt sich weitgehend auf Protokolle für den Datenaustausch. Das Protokoll ist konkret und protokollbasiert, wohingegen das OSI Modell vielmehr auf Funktionalität basiert.
Stärken und Schwächen des TCP-Modells
In der folgenden Tabelle sind die Stärken und Schwächen des TCP-Modells zusammengefasst:
Stärken | Schwächen |
|
|
TCP — häufigste Fragen
-
Was ist das TCP-Modell?
Das Transmission Control Protocol (TCP) ist ein Standard, der definiert, wie der Austausch von Daten zwischen Netzwerkkomponenten erfolgen soll.
-
Auf welcher Schicht befindet sich TCP?
Das Transmission Control Protocol (TCP) ist das wichtigste Protokoll der vierten Schicht des OSI Modells, der Transportschicht. Es stellt Verbindungen zwischen jeweils zwei Netzwerkteilnehmern zum zuverlässigen Versenden von Datenströmen her.
-
Für was wird TCP verwendet?
TCP nutzt zur Übertragung von Daten meist das Internetprotokoll (IP), weshalb auch von einem TCP/IP-Protokoll gesprochen wird. Als Teil des Internetprotokolls ist TCP in die Transportschicht implementiert.
-
Was ist der Unterschied zwischen TCP und UDP?
UDP ist im Gegensatz zum TCP, ein verbindungsloses, paketorientiertes Protokoll. Das bedeutet, es werden einzelne Pakete verschickt, die in der falschen Reihenfolge, doppelt oder sogar gar nicht ankommen können.
OSI Modell
Nun weißt du alles Wichtige zum TCP und ordnest das TCP-Protokoll zur vierten Schicht des OSI Modells zu. Alles wichtige dazu erfährst hier in unserem Video dazu!