V povezavi TCP se zastavice uporabljajo za označevanje določenega stanja povezave ali za zagotavljanje nekaterih dodatnih uporabnih informacij, kot so nameni odpravljanja težav ali upravljanje nadzora določene povezave. Najpogosteje uporabljene zastave so SYN, ACK in FIN . Vsaka zastavica ustreza 1 bitni informaciji.
Vrste zastav:
- Sinhronizacija (SYN) – Uporablja se v prvem koraku faze vzpostavitve povezave ali v procesu 3-smernega rokovanja med obema gostiteljema. Samo prvi paket od pošiljatelja in prejemnika mora imeti nastavljeno to zastavico. To se uporablja za sinhronizacijo zaporedne številke, tj. za sporočanje drugi strani, katero zaporedno številko naj sprejme. Potrditev (ACK) – Uporablja se za potrditev paketov, ki jih je gostitelj uspešno sprejel. Zastavica je nastavljena, če polje številke potrditve vsebuje veljavno številko potrditve.
V spodnjem diagramu sprejemnik pošlje ACK = 1 kot tudi SYN = 1 v drugem koraku vzpostavitve povezave, da sporoči pošiljatelju, da je prejel začetni paket.
Dokončaj (FIN) – Uporablja se za zahtevo po prekinitvi povezave, tj. ko od pošiljatelja ni več podatkov, zahteva prekinitev povezave. To je zadnji paket, ki ga je poslal pošiljatelj. Sprosti rezervirana sredstva in elegantno prekine povezavo.
Ponastavitev (RST) – Uporablja se za prekinitev povezave, če pošiljatelj RST meni, da je nekaj narobe s povezavo TCP ali da pogovor ne bi smel obstajati. Lahko prejme pošiljanje s strani prejemnika, ko je paket poslan določenemu gostitelju, ki ga ni pričakoval. Nujno (URG) – Uporablja se za označevanje, da mora prejemnik dati prednost podatkom v paketu in jih nujno obravnavati. Ta zastavica se uporablja v kombinaciji s poljem Urgent Pointer za identifikacijo lokacije nujnih podatkov v paketu. Push (PSH) – Uporablja se za zahtevanje takojšnje dostave podatkov prejemnemu gostitelju, ne da bi čakali, da se dodatni podatki shranijo v medpomnilnik na strani pošiljatelja. Ta zastavica se pogosto uporablja v aplikacijah, kot je pretakanje zvoka ali videa v realnem času. Okno (WND) – uporablja se za sporočanje velikosti prejemnega okna pošiljatelju. Velikost okna je količina podatkov, ki jih sprejemni gostitelj lahko sprejme v danem trenutku. Pošiljatelj mora omejiti količino poslanih podatkov glede na velikost okna, ki ga oglašuje prejemnik. Kontrolna vsota (CHK) – Uporablja se za preverjanje celovitosti segmenta TCP med prenosom. Kontrolna vsota se izračuna za celoten segment, vključno z glavo in podatkovnimi polji, ter se znova izračuna pri vsakem skoku vzdolž omrežne poti. Zaporedna številka (SEQ) – To je edinstvena številka, ki jo pošiljatelj dodeli vsakemu segmentu, da identificira vrstni red, v katerem naj prejemnik prejme pakete. Zaporedna številka se uporablja skupaj s potrditveno številko za zagotavljanje zanesljivega prenosa podatkov in preprečevanje podvojenih paketov. Potrditvena številka (ACK) – Uporablja se za potrditev prejema segmenta TCP in za sporočanje naslednje pričakovane zaporedne številke pošiljatelju. Polje s številko potrditve vsebuje zaporedno številko naslednjega pričakovanega segmenta namesto številke zadnjega prejetega segmenta.
Končaj (FIN) v/s Ponastavi (RST) –
- Push (PSH) – Transportna plast privzeto čaka nekaj časa, da aplikacijska plast pošlje dovolj podatkov, ki so enaki največji velikosti segmenta, tako da se število paketov, poslanih v omrežju, zmanjša, kar nekatere aplikacije, kot so interaktivne aplikacije (klepetanje), niso zaželene. Podobno transportna plast na koncu prejemnika medpomnilnike paketov in prenese v aplikacijsko plast, če izpolnjuje določene kriterije.
Ta problem je rešen z uporabo PSH. Transportni sloj nastavi PSH = 1 in segment takoj pošlje omrežnemu sloju, takoj ko prejme signal iz aplikacijskega sloja. Prejemna transportna plast, ko vidi PSH = 1, takoj posreduje podatke aplikacijski plasti.
Na splošno pove prejemniku, naj te pakete obdela, ko jih prejme, namesto da jih shrani v medpomnilnik.
Nujno (URG) – Podatki znotraj segmenta z zastavico URG = 1 so takoj posredovani aplikacijski plasti, tudi če je več podatkov, ki jih je treba dati aplikacijski plasti. Uporablja se za obveščanje prejemnika, naj obdela nujne pakete, preden obdela vse druge pakete. Prejemnik bo obveščen, ko bo prejel vse znane nujne podatke.
sort arraylist v Javi
Potisni (PSH) v/s Nujno (URG) –