logo

TCP-flagg

I TCP-tilkobling brukes flagg for å indikere en bestemt tilkoblingstilstand eller for å gi noe ekstra nyttig informasjon som feilsøkingsformål eller for å håndtere en kontroll av en bestemt tilkobling. De mest brukte flaggene er SYN, ACK og FIN . Hvert flagg tilsvarer 1 bit informasjon.

Typer flagg:



    Synkronisering (SYN) – Den brukes i første trinn av tilkoblingsetableringsfasen eller 3-veis håndtrykkprosess mellom de to vertene. Bare den første pakken fra avsender og mottaker skal ha dette flagget satt. Dette brukes for å synkronisere sekvensnummer, dvs. å fortelle den andre enden hvilket sekvensnummer de skal akseptere. Acknowledgement (ACK) – Den brukes til å bekrefte pakker som er vellykkede mottatt av verten. Flagget settes dersom bekreftelsesnummerfeltet inneholder et gyldig bekreftelsesnummer.
    I diagrammet nedenfor sender mottakeren en ACK = 1 så vel som SYN = 1 i det andre trinnet av forbindelsesetablering for å fortelle senderen at den mottok sin første pakke.
    Fullfør (FIN) – Den brukes til å be om tilkoblingsavslutning, dvs. når det ikke er flere data fra avsenderen, ber den om tilkoblingsavslutning. Dette er den siste pakken sendt av avsender. Det frigjør de reserverte ressursene og avslutter tilkoblingen elegant.
    Tilbakestill (RST) – Den brukes til å avslutte forbindelsen hvis RST-avsenderen føler at noe er galt med TCP-forbindelsen eller at samtalen ikke burde eksistere. Den kan sendes fra mottakersiden når pakken sendes til en bestemt vert som ikke forventet det. Urgent (URG) – Det brukes til å indikere at dataene i pakken skal prioriteres og håndteres raskt av mottakeren. Dette flagget brukes i kombinasjon med Urgent Pointer-feltet for å identifisere plasseringen av de hastende dataene i pakken. Push (PSH) – Den brukes til å be om umiddelbar datalevering til den mottakende verten, uten å vente på at tilleggsdata skal bufres på avsenderens side. Dette flagget brukes ofte i applikasjoner som lyd- eller videostrømming i sanntid. Vindu (WND) – Det brukes til å kommunisere størrelsen på mottaksvinduet til avsenderen. Vindustørrelsen er mengden data som den mottakende verten er i stand til å akseptere til enhver tid. Avsenderen bør begrense mengden data den sender basert på størrelsen på vinduet som er annonsert av mottakeren. Sjekksum (CHK) – Den brukes til å verifisere integriteten til TCP-segmentet under overføring. Kontrollsummen beregnes over hele segmentet, inkludert overskriften og datafeltene, og beregnes på nytt ved hvert hopp langs nettverksbanen. Sekvensnummer (SEQ) – Det er et unikt nummer som tildeles hvert segment av avsenderen for å identifisere rekkefølgen pakker skal mottas av mottakeren. Sekvensnummeret brukes sammen med bekreftelsesnummeret for å sikre pålitelig dataoverføring og for å forhindre dupliserte pakker. Kvitteringsnummer (ACK) – Det brukes til å bekrefte mottak av et TCP-segment og for å kommunisere det neste forventede sekvensnummeret til avsenderen. Bekreftelsesnummerfeltet inneholder sekvensnummeret til det neste forventede segmentet, i stedet for nummeret til det sist mottatte segmentet.

Fullfør (FIN) v/s Reset (RST) –

    Push (PSH) – Transportlag venter som standard en stund på at applikasjonslaget sender nok data lik maksimal segmentstørrelse, slik at antallet pakker som sendes på nettverket minimeres, noe som ikke er ønskelig av noen applikasjoner som interaktive applikasjoner (chatting). På samme måte bufferer transportlaget ved mottakerenden pakker og sender til applikasjonslaget hvis det oppfyller visse kriterier.

    Dette problemet løses ved å bruke PSH. Transportlaget setter PSH = 1 og sender umiddelbart segmentet til nettverkslaget så snart det mottar signal fra applikasjonslaget. Mottaker transportlag, ved å se PSH = 1 sender umiddelbart dataene videre til applikasjonslaget.
    Generelt ber den mottakeren om å behandle disse pakkene etter hvert som de mottas i stedet for å bufre dem.
    Urgent (URG) – Data inne i et segment med URG = 1 flagg sendes umiddelbart til applikasjonslaget selv om det er flere data som skal gis til applikasjonslaget. Den brukes til å varsle mottakeren om å behandle de hastepakkene før alle andre pakker behandles. Mottakeren vil bli varslet når alle kjente hastedata er mottatt.



Push (PSH) v/s Urgent (URG) –