Bij een TCP-verbinding worden vlaggen gebruikt om een bepaalde verbindingsstatus aan te geven of om extra nuttige informatie te verschaffen, zoals probleemoplossing of om de controle over een bepaalde verbinding af te handelen. De meest gebruikte vlaggen zijn SYN, ACK en FIN . Elke vlag komt overeen met 1 bit informatie.
Soorten vlaggen:
- Synchronisatie (SYN) – Het wordt gebruikt in de eerste stap van de verbindingsfase of het 3-weg handshake-proces tussen de twee hosts. Alleen voor het eerste pakket van zowel de afzender als de ontvanger moet deze vlag zijn ingesteld. Dit wordt gebruikt voor het synchroniseren van het volgnummer, d.w.z. om de andere kant te vertellen welk volgnummer ze moeten accepteren. Acknowledgement (ACK) – Het wordt gebruikt om pakketten te bevestigen die met succes door de host zijn ontvangen. De vlag wordt gezet als het bevestigingsnummerveld een geldig bevestigingsnummer bevat.
In het onderstaande diagram verzendt de ontvanger zowel een ACK = 1 als een SYN = 1 in de tweede stap van het tot stand brengen van de verbinding om de afzender te vertellen dat hij zijn initiële pakket heeft ontvangen.
Voltooien (FIN) – Het wordt gebruikt om een verzoek tot beëindiging van de verbinding in te dienen, d.w.z. wanneer er geen gegevens meer zijn van de afzender, wordt verzocht om beëindiging van de verbinding. Dit is het laatste pakket dat door de afzender is verzonden. Het maakt de gereserveerde bronnen vrij en beëindigt op elegante wijze de verbinding.
Reset (RST) – Het wordt gebruikt om de verbinding te beëindigen als de RST-afzender vindt dat er iets mis is met de TCP-verbinding of dat het gesprek niet zou mogen bestaan. Het kan worden verzonden vanaf de ontvangerzijde wanneer een pakket wordt verzonden naar een bepaalde host die dit niet had verwacht. Dringend (URG) – Het wordt gebruikt om aan te geven dat de gegevens in het pakket prioriteit moeten krijgen en dringend door de ontvanger moeten worden afgehandeld. Deze vlag wordt gebruikt in combinatie met het veld Urgent Pointer om de locatie van de urgente gegevens in het pakket te identificeren. Push (PSH) – Het wordt gebruikt om onmiddellijke gegevenslevering aan de ontvangende host aan te vragen, zonder te wachten tot aanvullende gegevens aan de kant van de afzender zijn gebufferd. Deze vlag wordt vaak gebruikt in toepassingen zoals realtime audio- of videostreaming. Venster (WND) – Het wordt gebruikt om de grootte van het ontvangstvenster aan de afzender door te geven. De venstergrootte is de hoeveelheid gegevens die de ontvangende host op een bepaald moment kan accepteren. De afzender moet de hoeveelheid gegevens die hij verzendt beperken op basis van de grootte van het venster dat door de ontvanger wordt geadverteerd. Checksum (CHK) – Wordt gebruikt om de integriteit van het TCP-segment tijdens verzending te verifiëren. De controlesom wordt berekend over het gehele segment, inclusief de header- en gegevensvelden, en wordt bij elke sprong langs het netwerkpad opnieuw berekend. Volgnummer (SEQ) – Het is een uniek nummer dat door de afzender aan elk segment wordt toegewezen om de volgorde te identificeren waarin pakketten door de ontvanger moeten worden ontvangen. Het volgnummer wordt gebruikt in combinatie met het bevestigingsnummer om een betrouwbare gegevensoverdracht te garanderen en dubbele pakketten te voorkomen. Bevestigingsnummer (ACK) – Het wordt gebruikt om de ontvangst van een TCP-segment te bevestigen en om het volgende verwachte volgnummer aan de afzender door te geven. Het bevestigingsnummerveld bevat het volgnummer van het volgende verwachte segment, in plaats van het nummer van het laatst ontvangen segment.
Voltooien (FIN) versus resetten (RST) –

- Push (PSH) – De transportlaag wacht standaard enige tijd totdat de applicatielaag voldoende gegevens verzendt die gelijk zijn aan de maximale segmentgrootte, zodat het aantal pakketten dat op het netwerk wordt verzonden, wordt geminimaliseerd, wat niet wenselijk is voor sommige applicaties, zoals interactieve applicaties (chatten). Op dezelfde manier buffert de transportlaag aan het uiteinde van de ontvanger pakketten en verzendt deze naar de applicatielaag als deze aan bepaalde criteria voldoet.
Dit probleem wordt opgelost door PSH te gebruiken. De transportlaag stelt PSH = 1 in en stuurt het segment onmiddellijk naar de netwerklaag zodra het een signaal ontvangt van de applicatielaag. Ontvangertransportlaag stuurt bij het zien van PSH = 1 de gegevens onmiddellijk door naar de applicatielaag.
Over het algemeen vertelt het de ontvanger om deze pakketten te verwerken zodra ze worden ontvangen, in plaats van ze te bufferen.
Dringend (URG) – Gegevens binnen een segment met de vlag URG = 1 worden onmiddellijk doorgestuurd naar de applicatielaag, zelfs als er meer gegevens aan de applicatielaag moeten worden doorgegeven. Het wordt gebruikt om de ontvanger te informeren dat hij de dringende pakketten moet verwerken voordat alle andere pakketten worden verwerkt. De ontvanger krijgt een melding wanneer alle bekende urgente gegevens zijn ontvangen.
Push (PSH) versus urgent (URG) –
