TCP: Unterschied zwischen den Versionen

Aus KGS-Wiki
(ACK & FIN)
(Navigationsleiste ergänzt, Inhalt umstrukturiert)
Zeile 3: Zeile 3:
'''TCP (Transmission Control Protocol)''' ist ein [[Netzwerkprotokoll]] zur Übertragung von Daten zwischen zwei [[Computer]]n. Bei der Datenübertragung mittels TCP wird durch verschiedene Mechanismen sichergestellt, dass die Daten vollständig und in der korrekten Reihenfolge beim Empfänger ankommen.
'''TCP (Transmission Control Protocol)''' ist ein [[Netzwerkprotokoll]] zur Übertragung von Daten zwischen zwei [[Computer]]n. Bei der Datenübertragung mittels TCP wird durch verschiedene Mechanismen sichergestellt, dass die Daten vollständig und in der korrekten Reihenfolge beim Empfänger ankommen.


== ACKs ==
== Segmentierung ==
Bei größeren Datenmengen werden die übertragenen Daten in so genannte Segmente zerlegt, in Einzelteilen übertragen und beim Empfänger wieder zusammengesetzt. Ein TCP-Segment darf maximal 1500 [[Byte]] groß sein, weswegen schon kleine [[Datei|Dateien]] wie Bilder in mehrere Hundert Segmente zerlegt werden müssen.


=== ACKs ===
Für jedes TCP-Segment muss der Empfang quittiert werden. Dies geschieht mit einem so genannten <code>ACK</code>, welches der Empfänger an den Sender zurückschickt. Wenn der Sender nach einer definierten Zeit kein <code>ACK</code> erhalten hat, sendet er das betroffene Segment nochmals. Solange nicht alle Segmente geACKt sind, wird der Sender auch den Kommunikationsvorgang nicht beenden (s.u.)
Für jedes TCP-Segment muss der Empfang quittiert werden. Dies geschieht mit einem so genannten <code>ACK</code>, welches der Empfänger an den Sender zurückschickt. Wenn der Sender nach einer definierten Zeit kein <code>ACK</code> erhalten hat, sendet er das betroffene Segment nochmals. Solange nicht alle Segmente geACKt sind, wird der Sender auch den Kommunikationsvorgang nicht beenden (s.u.)


== Sequenznummern ==
=== Sequenznummern ===
 
Damit die Segmente beim Empfänger in der korrekten Reihenfolge zusammengesetzt werden können, trägt jedes Segment eine '''Sequenznummer'''. Die gesendeten Segmente werden aufsteigend, aber nicht zwingend fortlaufend durchnummeriert.
Bei größeren Datenmengen werden die übertragenen Daten in so genannte '''Segmente''' zerlegt, in Einzelteilen übertragen und beim Empfänger wieder zusammengesetzt. Ein TCP-Segment darf maximal 1500 Byte groß sein, weswegen schon kleine Dateien wie Bilder in mehrere Hundert Segmente zerlegt werden müssen. Damit diese Segmente beim Empfänger in der korrekten Reihenfolge zusammengesetzt werden können, trägt jedes Segment eine '''Sequenznummer'''. Die gesendeten Segmente werden aufsteigend, aber nicht zwingend fortlaufend durchnummeriert.


== Drei-Wege-Handschlag ==
== Drei-Wege-Handschlag ==
Zeile 42: Zeile 43:


Das Ende der Kommunikation muss von beiden Kommunikationspartnern bestätigt werden, damit der Vorgang nicht auf halber Strecke mit einer unfertigen Übertragung beendet werden kann.
Das Ende der Kommunikation muss von beiden Kommunikationspartnern bestätigt werden, damit der Vorgang nicht auf halber Strecke mit einer unfertigen Übertragung beendet werden kann.
{{Navigationsleiste Netzwerkprotokolle}}

Version vom 18. Februar 2023, 23:28 Uhr

🕳
Lückenhaft

In diesem Artikel oder Abschnitt fehlen noch folgende wichtige Informationen:

Schlüsselwörter

Hilf dem KGS-Wiki, indem du sie recherchierst und einfügst.

TCP (Transmission Control Protocol) ist ein Netzwerkprotokoll zur Übertragung von Daten zwischen zwei Computern. Bei der Datenübertragung mittels TCP wird durch verschiedene Mechanismen sichergestellt, dass die Daten vollständig und in der korrekten Reihenfolge beim Empfänger ankommen.

Segmentierung

Bei größeren Datenmengen werden die übertragenen Daten in so genannte Segmente zerlegt, in Einzelteilen übertragen und beim Empfänger wieder zusammengesetzt. Ein TCP-Segment darf maximal 1500 Byte groß sein, weswegen schon kleine Dateien wie Bilder in mehrere Hundert Segmente zerlegt werden müssen.

ACKs

Für jedes TCP-Segment muss der Empfang quittiert werden. Dies geschieht mit einem so genannten ACK, welches der Empfänger an den Sender zurückschickt. Wenn der Sender nach einer definierten Zeit kein ACK erhalten hat, sendet er das betroffene Segment nochmals. Solange nicht alle Segmente geACKt sind, wird der Sender auch den Kommunikationsvorgang nicht beenden (s.u.)

Sequenznummern

Damit die Segmente beim Empfänger in der korrekten Reihenfolge zusammengesetzt werden können, trägt jedes Segment eine Sequenznummer. Die gesendeten Segmente werden aufsteigend, aber nicht zwingend fortlaufend durchnummeriert.

Drei-Wege-Handschlag

Beim Aufbau einer TCP-Verbindung teilen sich beide Kommunikationspartner die Sequenznummern mit, mit denen sie beginnen werden, ihre Datensegmente durchzunummerieren, und bestätigen einander den Empfang. Da die beiden Kommunikationsteilnehmer hier ihre Sequenznummern synchronisieren, wird das Schlüsselwort SYN verwendet.

Dieses Verfahren wird Drei-Wege-Handschlag genannt (engl. Three-way handshake), weil hier drei Nachrichten ausgetauscht werden.

Am Ende des Kommunikationsvorgangs versichern sich die beiden Kommunikationsteilnehmer noch einmal, dass der Vorgang abgeschlossen ist, wieder durch drei Nachrichten, die hin- und hergehen. Zur Finalisierung der Kommunikation wird das Schlüsselwort FIN verwendet.

Das Ende der Kommunikation muss von beiden Kommunikationspartnern bestätigt werden, damit der Vorgang nicht auf halber Strecke mit einer unfertigen Übertragung beendet werden kann.