Transmission Control Protocol/Segment: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „–“ durch „-“ |
K Textersetzung - „ “ durch „ “ |
||
| Zeile 17: | Zeile 17: | ||
; TCP-Segment | ; TCP-Segment | ||
{| class="header" | {| class="header" | ||
! style="text-align:center !important; font-weight: normal;" "width="3%"| 00 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 00 | ||
! style="text-align:center !important; font-weight: normal;" "width="3%"| 01 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 01 | ||
! style="text-align:center !important; font-weight: normal;" "width="3%"| 02 | ! style="text-align:center !important; font-weight: normal;" "width="3%"| 02 | ||
| Zeile 90: | Zeile 90: | ||
|----- | |----- | ||
| Sequence Number | | Sequence Number | ||
| Sequenznummer des ersten Daten-Oktett dieses TCP-Segments, dient zur Sortierung | | Sequenznummer des ersten Daten-Oktett dieses TCP-Segments, dient zur Sortierung Oder die Initialisierungs-Sequenznummer falls das SYN-Flag gesetzt ist | ||
| 4 Byte | | 4 Byte | ||
|----- | |----- | ||
| Acknowledgement Number | | Acknowledgement Number | ||
| Gibt die '' Sequenznummer '' an, die der Absender dieses TCP-Segments als Nächstes erwartet | | Gibt die '' Sequenznummer '' an, die der Absender dieses TCP-Segments als Nächstes erwartet Sie ist nur gültig, falls das ACK-Flag gesetzt ist. | ||
| 4 Byte | | 4 Byte | ||
|----- | |----- | ||
| Zeile 132: | Zeile 132: | ||
| Unterschiedlich groß und enthält Zusatzinformationen. | | Unterschiedlich groß und enthält Zusatzinformationen. | ||
* Müssen ein Vielfaches von 32 Bit lang sein, ansonsten muss mit Nullbits aufefüllt werden (''Padding''). | * Müssen ein Vielfaches von 32 Bit lang sein, ansonsten muss mit Nullbits aufefüllt werden (''Padding''). | ||
* Ermöglicht Verbindungsdaten auszuhandeln, die nicht im TCP-Header enthalten sind, wie beispielsweise | * Ermöglicht Verbindungsdaten auszuhandeln, die nicht im TCP-Header enthalten sind, wie beispielsweise die Maximalgröße des Nutzdatenfeldes. | ||
| 0-40 Byte | | 0-40 Byte | ||
|} | |} | ||
| Zeile 141: | Zeile 141: | ||
|----- | |----- | ||
| ECE-Flag (ECN-Echo) | | ECE-Flag (ECN-Echo) | ||
| | | Teilt dem Sender mit, dass das Netzwerk überlastet ist und die Senderate reduziert werden muss. | ||
* | * Wird für Explicit Congestion Notification (ECN) benötigt | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| CRW-Flag (''Congestion Window Reduced'') | | CRW-Flag (''Congestion Window Reduced'') | ||
| | | Teilt dem Empfänger mit das die Senderate reduziert wurde. | ||
* | * Wird für Explicit Congestion Notification (ECN) benötigt | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| Zeile 159: | Zeile 159: | ||
|----- | |----- | ||
| ACK-Flag (''Acknowledgment'') | | ACK-Flag (''Acknowledgment'') | ||
| | | Hat in Verbindung mit der ''Acknowledgment''-Nummer die Aufgabe, den Empfang von TCP-Segmenten bestätigen. | ||
* | * Die ''Acknowledgment''-Nummer ist nur gültig, wenn das Flag gesetzt ist. | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| PSH-Flag (''Push'') | | PSH-Flag (''Push'') | ||
| | | Sowohl der ausgehende, als auch der eingehende Puffer wird übergangen. | ||
* | * Hilft den Datenstrom von TCP effizienter zu verarbeiten, indem die empfangende Applikation gezielter aufgeweckt werden kann. | ||
* | * RFC 1122 & RFC 793 | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| RST-Flag (''Reset'') | | RST-Flag (''Reset'') | ||
| | | Wird verwendet, wenn eine Verbindung abgebrochen werden soll. | ||
* | * beispielsweise bei technischen Problemen oder zur Abweisung unerwünschter Verbindungen | ||
* | * Oder bei nicht geöffneten Ports, es wird kein ICMP-Paket mit "Port Unreachable" verschickt. | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| SYN-Flag (''Synchronize'') | | SYN-Flag (''Synchronize'') | ||
| | | Pakete mit diesem Flag initiieren eine Verbindung. | ||
* | * Dient der Synchronisation von ''Sequenznummern'' beim Verbindungsaufbau. | ||
* | * Server antwortet normalerweise mit SYN+ACK oder RST. | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
| FIN-Flag (''Finish'') | | FIN-Flag (''Finish'') | ||
| | | Schlussflag, dient zur Freigabe der Verbindung, zeigt an, dass keine Daten vom Sender kommen. | ||
* | * FIN- und SYN-Flags haben Sequenznummern, damit diese in der richtigen Reihenfolge abgearbeitet werden. | ||
| 1 Bit | | 1 Bit | ||
|----- | |----- | ||
Aktuelle Version vom 14. Juni 2026, 00:50 Uhr
Transmission Control Protocol/Segment
Beschreibung
- Teile eine TCP-Segments
| Teil | Beschreibung |
|---|---|
| Header | Steuerung der Kommunikation
|
| Payload | Nutzlast
|
- TCP-Segment
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source Port | Destinations Port | H e a d e r | ||||||||||||||||||||||||||||||
| Sequence Number | ||||||||||||||||||||||||||||||||
| Acknowledgement Number | ||||||||||||||||||||||||||||||||
| Data Offset | Reserved | Flags | Window | |||||||||||||||||||||||||||||
| Checksum | Urgent Pointer | |||||||||||||||||||||||||||||||
| Optionen | Padding | |||||||||||||||||||||||||||||||
|
Payload | ||||||||||||||||||||||||||||||||
Werte werden in der Byte-Reihenfolge Big-Endian angegeben
Felder des TCP-Header
| Feld | Funktion | Größe |
|---|---|---|
| Source Port (Quellport) | Gibt die Portnummer auf der Senderseite an | 2 Byte |
| Destinations Port (Zielport) | Gibt die Portnummer auf der Empfängerseite an. | 2 Byte |
| Sequence Number | Sequenznummer des ersten Daten-Oktett dieses TCP-Segments, dient zur Sortierung Oder die Initialisierungs-Sequenznummer falls das SYN-Flag gesetzt ist | 4 Byte |
| Acknowledgement Number | Gibt die Sequenznummer an, die der Absender dieses TCP-Segments als Nächstes erwartet Sie ist nur gültig, falls das ACK-Flag gesetzt ist. | 4 Byte |
| Data Offset | Gibt die Länge des TCP-Headers in 32-Bit-Blöcken an (ohne Nutzdaten).
|
4 Bit |
| Reserved | Ist für zukünftige Verwendungen reserviert.
|
4 Bit |
| Control-Flags | Zweiwertige Variablen mit den Zuständen gesetzt und nicht gesetzt.
|
8 Bit |
| (Receive) Window | Ist die Anzahl der Bytes die der Sender dieses TCP-Segments bereit ist zu empfangen.
|
2 Byte |
| Checksum | Dient zur Erkennung von Übertragungsfehlern.
|
2 Byte |
| Urgent Pointer | Nur gültig, wenn das URG-Flag gesetzt ist.
|
2 Byte |
| Options | Unterschiedlich groß und enthält Zusatzinformationen.
|
0-40 Byte |
TCP-Flags
| Feld | Funktion | Größe |
|---|---|---|
| ECE-Flag (ECN-Echo) | Teilt dem Sender mit, dass das Netzwerk überlastet ist und die Senderate reduziert werden muss.
|
1 Bit |
| CRW-Flag (Congestion Window Reduced) | Teilt dem Empfänger mit das die Senderate reduziert wurde.
|
1 Bit |
| URG-Flag (Urgent) |
|
1 Bit |
| ACK-Flag (Acknowledgment) | Hat in Verbindung mit der Acknowledgment-Nummer die Aufgabe, den Empfang von TCP-Segmenten bestätigen.
|
1 Bit |
| PSH-Flag (Push) | Sowohl der ausgehende, als auch der eingehende Puffer wird übergangen.
|
1 Bit |
| RST-Flag (Reset) | Wird verwendet, wenn eine Verbindung abgebrochen werden soll.
|
1 Bit |
| SYN-Flag (Synchronize) | Pakete mit diesem Flag initiieren eine Verbindung.
|
1 Bit |
| FIN-Flag (Finish) | Schlussflag, dient zur Freigabe der Verbindung, zeigt an, dass keine Daten vom Sender kommen.
|
1 Bit |