TCP: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) (Navigationsleiste ergänzt, Inhalt umstrukturiert) |
Sn (Diskussion | Beiträge) (Schlüsselwörter) |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[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. | |||
''' | |||
== Segmentierung == | == Segmentierung == | ||
Zeile 16: | Zeile 14: | ||
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 <code>SYN</code> verwendet. | 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 <code>SYN</code> verwendet. | ||
<mermaid> | |||
sequenceDiagram | |||
participant Alice | participant Alice | ||
participant Bob | participant Bob | ||
Zeile 24: | Zeile 23: | ||
note over Alice, Bob: Bob bestätigt die Sequenznummer<br>666 und schickt seinerseits seine<br>Sequenznummer 420 | note over Alice, Bob: Bob bestätigt die Sequenznummer<br>666 und schickt seinerseits seine<br>Sequenznummer 420 | ||
Alice->>Bob: ACK 421 | Alice->>Bob: ACK 421 | ||
note over Alice, Bob: Alice bestätigt Bobs | note over Alice, Bob: Alice bestätigt Bobs Sequenznummern<br>420, die TCP-Verbindung steht | ||
</mermaid> | |||
Dieses Verfahren wird '''Drei-Wege-Handschlag''' genannt (engl. ''Three-way handshake''), weil hier drei Nachrichten ausgetauscht werden. | Dieses Verfahren wird '''Drei-Wege-Handschlag''' genannt (engl. ''Three-way handshake''), weil hier drei Nachrichten ausgetauscht werden. | ||
Zeile 31: | Zeile 30: | ||
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 <code>FIN</code> verwendet. | 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 <code>FIN</code> verwendet. | ||
<mermaid> | |||
sequenceDiagram | |||
participant Alice | participant Alice | ||
participant Bob | participant Bob | ||
Zeile 40: | Zeile 40: | ||
Alice->>Bob: ACK 912 | Alice->>Bob: ACK 912 | ||
note over Alice, Bob: Alice bestätigt Bobs FIN,<br>die Verbindung ist beendet. | note over Alice, Bob: Alice bestätigt Bobs FIN,<br>die Verbindung ist beendet. | ||
</mermaid> | |||
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. | ||
==Schlüsselwörter== | |||
{| class="wikitable" | |||
|+Schlüsselwörter in TCP | |||
!Schlüsselwort | |||
!Bedeutung | |||
|- | |||
|<code>SYN</code> | |||
|''Syn''chronisiere die Sequenznummern der beiden Kommunikationspartner beim 3-Wege-Handschlag | |||
|- | |||
|<code>SEQ</code> | |||
|Die folgende Zahl ist die aktuelle Sequenznummer | |||
|- | |||
|<code>ACK</code> | |||
|Bestätige den Empfang der Nachricht, die die angegebene Sequenznummer trug | |||
|- | |||
|<code>FIN</code> | |||
|Schließe die Verbindung | |||
|- | |||
|<code>RST</code> | |||
|Verweigere einen Verbindungsaufbau, weil z. B. eine [[Firewall]] blockiert | |||
|} | |||
{{Navigationsleiste Netzwerkprotokolle}} | {{Navigationsleiste Netzwerkprotokolle}} | ||
[[Kategorie:Netzwerke]] | |||
[[Kategorie:Protokolle]] |
Aktuelle Version vom 11. März 2024, 20:10 Uhr
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.
Schlüsselwörter
Schlüsselwort | Bedeutung |
---|---|
SYN
|
Synchronisiere die Sequenznummern der beiden Kommunikationspartner beim 3-Wege-Handschlag |
SEQ
|
Die folgende Zahl ist die aktuelle Sequenznummer |
ACK
|
Bestätige den Empfang der Nachricht, die die angegebene Sequenznummer trug |
FIN
|
Schließe die Verbindung |
RST
|
Verweigere einen Verbindungsaufbau, weil z. B. eine Firewall blockiert |