Bei TCP-Verbindungen werden Flags verwendet, um einen bestimmten Verbindungsstatus anzuzeigen oder zusätzliche nützliche Informationen bereitzustellen, z. B. zur Fehlerbehebung oder zur Steuerung einer bestimmten Verbindung. Die am häufigsten verwendeten Flaggen sind SYN, ACK und FIN . Jedes Flag entspricht einer 1-Bit-Information.
Arten von Flaggen:
- Synchronisation (SYN) – Wird im ersten Schritt der Verbindungsaufbauphase oder im 3-Wege-Handshake-Prozess zwischen den beiden Hosts verwendet. Nur das erste Paket vom Sender und Empfänger sollte dieses Flag gesetzt haben. Dies wird zum Synchronisieren der Sequenznummer verwendet, d. h. um der Gegenstelle mitzuteilen, welche Sequenznummer sie akzeptieren soll. Bestätigung (ACK) – Wird verwendet, um Pakete zu bestätigen, die erfolgreich vom Host empfangen wurden. Das Flag wird gesetzt, wenn das Bestätigungsnummernfeld eine gültige Bestätigungsnummer enthält.
Im folgenden Diagramm sendet der Empfänger im zweiten Schritt des Verbindungsaufbaus ein ACK = 1 sowie ein SYN = 1, um dem Absender mitzuteilen, dass er sein erstes Paket erhalten hat.
Finish (FIN) – Wird verwendet, um den Verbindungsabbruch anzufordern, d. h. wenn keine Daten mehr vom Absender vorliegen, wird der Verbindungsabbruch angefordert. Dies ist das letzte vom Absender gesendete Paket. Es gibt die reservierten Ressourcen frei und beendet die Verbindung ordnungsgemäß.
Zurücksetzen (RST) – Wird verwendet, um die Verbindung zu beenden, wenn der RST-Absender der Meinung ist, dass etwas mit der TCP-Verbindung nicht stimmt oder dass die Konversation nicht bestehen sollte. Es kann von der Empfängerseite gesendet werden, wenn das Paket an einen bestimmten Host gesendet wird, der es nicht erwartet hat. Dringend (URG) – Wird verwendet, um anzugeben, dass die im Paket enthaltenen Daten vom Empfänger priorisiert und dringend bearbeitet werden sollten. Dieses Flag wird in Kombination mit dem Feld „Urgent Pointer“ verwendet, um den Speicherort der dringenden Daten im Paket zu identifizieren. Push (PSH) – wird verwendet, um eine sofortige Datenlieferung an den empfangenden Host anzufordern, ohne auf die Pufferung zusätzlicher Daten auf der Senderseite zu warten. Dieses Flag wird häufig in Anwendungen wie Echtzeit-Audio- oder Video-Streaming verwendet. Fenster (WND) – Wird verwendet, um dem Absender die Größe des Empfangsfensters mitzuteilen. Die Fenstergröße ist die Datenmenge, die der empfangende Host zu einem bestimmten Zeitpunkt akzeptieren kann. Der Absender sollte die Menge der gesendeten Daten basierend auf der Größe des vom Empfänger angekündigten Fensters begrenzen. Prüfsumme (CHK) – Sie wird verwendet, um die Integrität des TCP-Segments während der Übertragung zu überprüfen. Die Prüfsumme wird über das gesamte Segment einschließlich der Header- und Datenfelder berechnet und bei jedem Hop entlang des Netzwerkpfads neu berechnet. Sequenznummer (SEQ) – Hierbei handelt es sich um eine eindeutige Nummer, die jedem Segment vom Absender zugewiesen wird, um die Reihenfolge anzugeben, in der Pakete vom Empfänger empfangen werden sollen. Die Sequenznummer wird in Verbindung mit der Bestätigungsnummer verwendet, um eine zuverlässige Datenübertragung sicherzustellen und doppelte Pakete zu verhindern. Bestätigungsnummer (ACK) – Sie wird verwendet, um den Empfang eines TCP-Segments zu bestätigen und dem Absender die nächste erwartete Sequenznummer mitzuteilen. Das Bestätigungsnummernfeld enthält die Sequenznummer des nächsten erwarteten Segments und nicht die Nummer des zuletzt empfangenen Segments.
Finish (FIN) vs. Reset (RST) –

- Push (PSH) – Die Transportschicht wartet standardmäßig einige Zeit darauf, dass die Anwendungsschicht genügend Daten sendet, die der maximalen Segmentgröße entsprechen, sodass die Anzahl der im Netzwerk übertragenen Pakete minimiert wird, was für einige Anwendungen wie interaktive Anwendungen (Chatten) nicht wünschenswert ist. In ähnlicher Weise puffert die Transportschicht auf der Empfängerseite Pakete und überträgt sie an die Anwendungsschicht, wenn sie bestimmte Kriterien erfüllt.
Dieses Problem wird durch den Einsatz von PSH gelöst. Die Transportschicht setzt PSH = 1 und sendet das Segment sofort an die Netzwerkschicht, sobald sie ein Signal von der Anwendungsschicht empfängt. Die Transportschicht des Empfängers leitet die Daten sofort an die Anwendungsschicht weiter, wenn PSH = 1 angezeigt wird.
Im Allgemeinen weist es den Empfänger an, diese Pakete beim Empfang zu verarbeiten, anstatt sie zu puffern.
Dringend (URG) – Daten innerhalb eines Segments mit dem Flag URG = 1 werden sofort an die Anwendungsschicht weitergeleitet, auch wenn weitere Daten an die Anwendungsschicht übergeben werden müssen. Es wird verwendet, um den Empfänger zu benachrichtigen, die dringenden Pakete zu verarbeiten, bevor alle anderen Pakete verarbeitet werden. Der Empfänger wird benachrichtigt, wenn alle bekannten dringenden Daten eingegangen sind.
Push (PSH) vs. Dringend (URG) –
