Folge uns

Folge uns auf Facebook Folge uns auf Twitter Folge uns auf Google Abonniere unseren RSS-Feed Abonniere unseren Newsletter

Das Buch zu dieser Webseite

Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel

Käufer der Netzwerktechnik-Fibel Kundenmeinung:
Die Netzwerktechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht.

Netzwerktechnik-Fibel
jetzt bestellen!

 

Die Netzwerktechnik-Fibel ist im iBookstore erhältlich

Die Netzwerktechnik-Fibel für Amazon Kindle erhältlich

Die Netzwerktechnik-Fibel bei Google Play erhältlich

Netzwerktechnik-Fibel als PDF-Datei ohne DRM

Das Buch zu dieser Webseite

KommunikationstechnikFibel

Die Kommunikationstechnik-Fibel

Käufer der Kommunikationstechnik-Fibel Kundenmeinung:
Die Kommunikationstechnik-Fibel ist sehr informativ und verständlich. Genau das habe ich schon seit langem gesucht. Endlich mal ein Buch, das kurz und bündig die moderne Informationstechnik beleuchtet.

Kommunikationstechnik-Fibel
jetzt bestellen!

 

Die Kommunikationstechnik-Fibel ist im iBookstore erhältlich

Die Kommunikationstechnik-Fibel für Amazon Kindle erhältlich

Kommunikationstechnik-Fibel als eBook von Google Play Store

Kommunikationstechnik-Fibel als PDF-Datei ohne DRM

TCP - Transmission Control Protocol

Das Transmission Control Protocol, kurz TCP, ist Teil der Protokollfamilie TCP/IP. TCP ist ein verbindungsorientiertes Protokoll und soll maßgeblich Datenverluste verhindern, Dateien und Datenströme aufteilen und Datenpakete Anwendungen zuordnen können.

Das Transmission Control Protocol (TCP) im TCP/IP-Protokollstapel

Schicht Dienste / Protokolle / Anwendungen
Anwendung HTTP IMAP DNS SNMP
Transport TCP UDP
Internet IP (IPv4 / IPv6)
Netzzugang Ethernet, ...

Aufgaben und Funktionen von TCP

Für die Anwendungen ist TCP transparent. Die Anwendungen übergeben ihren Datenstrom an den TCP/IP-Stack und nehmen ihn von dort auch wieder an. Mit der für die Übertragung nötige TCP-Paketstruktur sowie die Parameter der ausgehandelten Verbindung haben die Anwendungen nichts zu tun.
Die Funktionsweise von TCP besteht darin, den Datenstrom verschiedener Anwendungen aufzuteilen (Segmentierung) und beim Empfang wieder zusammengesetzt. Die Segmente werden mit einem Header versehen, in dem Steuer- und Kontroll-Informationen enthalten sind. Danach wird das Segment an das Internet Protocol (IP) übergeben. Beim Empfänger werden die Datenpakete in die richtige Reihenfolge gebracht und an die adressierte Anwendung übergeben.

Durch TCP stehen Sender und Empfänger ständig in Kontakt zueinander (Verbindungsmanagement und Fehlerbehandlung). Obwohl es sich eher um eine virtuelle Verbindung handelt, werden während der Datenübertragung ständig Kontrollmeldungen ausgetauscht, weshalb man von einer verbindungsorientierten Kommunikation spricht. Der Empfänger bestätigt dem Sender jedes empfangene Datenpaket. Trifft keine Bestätigung beim Absender ein, wird das Paket noch mal verschickt.
Da es bei Übertragungsproblemen zu doppelten Datenpaketen und Quittierungen kommen kann, werden alle TCP-Pakete und TCP-Meldungen mit einer fortlaufenden Sequenznummer gekennzeichnet. So sind Sender und Empfänger in der Lage, die Reihenfolge und Zuordnung der Datenpakete und Meldungen zu erkennen.

TCP hat einen Algorithmus, der die Datenrate dynamisch an die Netzauslastung anpasst (Flusssteuerung). TCP erhöht nach dem Verbindungsaufbau die Übertragungsrate kontinuierlich, bis irgendwo auf dem Weg zum Empfänger Pakete verloren gehen. TCP reagiert dann umgehend mit der Halbierung der Datenrate.

Der kleine Bruder: UDP - User Datagram Protocol

Neben dem verbindungsorientierten TCP gibt es auch das verbindungslose und unsichere UDP. Das User Datagram Protocol (UDP) ist ebenso auf der Schicht 4, der Transportschicht, des OSI-Schichtenmodells angeordnet. Es hat die selbe Aufgabe wie TCP, nur das ihm nahezu alle Kontrollfunktionen fehlen und dadurch schlanker daher kommt und einfacher zu verarbeiten ist.

Anwendungsunterstützung durch Ports (Application Support)

Zuordnung zwischen Datenpaket und Anwendung: Der TCP-Port

TCP- und UDP-Ports sind eine Software-Abstraktion, um Kommunikationsverbindungen voneinander unterscheiden zu können. Ähnlich wie IP-Adressen Rechner in Netzwerken adressieren, adressieren Ports spezifische Anwendungen, die auf einem Rechner laufen.

TCP-Port-Übersicht

Well Known Ports 0 - 1.023 Diese Ports sind fest einer Anwendung oder einem Protokoll zugeordnet. Die feste Zuordnung ermöglicht eine einfachere Konfiguration durch den Benutzern. Er kommt so mit dem Protokoll TCP in Kontakt.
Registered Ports 1.024 - 49.151 Diese Ports sind für Dienste vorgesehen.
Dynamically Allocated Ports 49.152 - 65.535 Diese Ports werden dynamisch zugewiesen. Jeder Client kann diese Ports nutzen

Aufbau des TCP-Headers

Aufbau des TCP-Headers
Jedem Datenpaket, das TCP verschickt, wird ein Header vorangestellt, der die folgenden Daten enthält:

Aufbau des TCP-Headers TCP-Pakete setzen sich aus dem Header-Bereich und dem Daten-Bereich zusammen. Im Header sind alle Informationen enthalten, die für eine gesicherte TCP-Verbindung wichtig sind. Der TCP-Header ist in mehrere 32-Bit-Blöcke aufgeteilt. Mindestens enthält der Header 5 solcher Blöcke. Somit hat ein TCP-Header eine Länge von mindestens 20 Byte.

Bedeutung der Felder im TCP-Header

FeldinhaltBitBeschreibung
Quell-Port
(Source-Port)
16 Hier steht der Quell-Port, von der die Anwendung das TCP-Paket verschickt. Bei einer Stellenanzahl von 16 Bit beträgt der höchste Port 65.535.
Ziel-Port
(Destination-Port)
16 Hier steht der Ziel-Port, über welchen das TCP-Paket der Anwendung zugestellt wird. Bei einer Stellenanzahl von 16 Bit beträgt der höchste Port 65.535.
Sequenz-Nummer32 Bei jeder TCP-Verbindung werden Nummern zwischen den Kommunikationspartner ausgehandelt. Während der Verbindung werden diese Nummern verwendet um die TCP-Pakete eindeutig zu identifizieren.
Acknowledgement-Nummer32 Alle Datenpakete werden bestätigt. Dazu dient das ACK-Flag und die Acknowledgement-Nummer, die sich aus der Sequenz-Nummer und der Anzahl von empfangenen Bytes errechnet. Damit kann der Sender feststellen, ob die Daten beim Empfänger vollständig angekommen sind.
Data Offset4 Hier steht die Anzahl der 32-Bit-Blöcke des TCP-Headers. Die Mindestmenge beträgt 5.
Reserviert6 Dieser Bereich ist auf 000000 gesetzt und für Erweiterungen des TCP-Headers gedacht.
Flags 6 Kennzeichnung bestimmter für die Kommunikation und Weiterverarbeitung der Daten wichtiger Zustände (URG, ACK, PSH, RST, SYN, FIN).
Window-Größe16 Der Empfänger sendet dem Sender in diesem Feld die Anzahl an Daten, die der Sender senden darf. Dadurch wird das Überlaufen des Empfangspuffers beim Empfänger verhindert. Den Vorgang nennt man Windowing und dient der Datenflusssteuerung.
Check-Summe16 Dieses Feld dient der Kontrolle von Header- und Datenbereich.
Urgent-Pointer16 Zusammen mit der Sequenz-Nummer gibt dieser Wert die genaue Position der Daten im Datenstrom an. Der Wert ist nur gültig, wenn das URG-Flag gesetzt ist.
Optionen/Füllbits
(Options/Padding),
jeweils 32 Bit lang
Dieses Feld beinhaltet optionale Informationen. Um die 32-Bit-Grenze einzuhalten wird das Options-Feld mit Nullen aufgefüllt.

Weitere verwandte Themen:

Die Netzwerktechnik-Fibel

Die Netzwerktechnik-Fibel ist im iBookstore erhältlich Die Netzwerktechnik-Fibel für Amazon Kindle erhältlich