Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • SYN: (synchronized) melding som brukes når forbindelsen skal opprettes.
  • FIN: (finish) Brukes når forbindelsen skal avsluttes.
  • ACK: (acknowledment) Brukes som til å bekrefte en SYN- eller FIN-melding.
Image Added
Opprette forbindelse

Enhver TCP-forbindelse begynner in en lukket (null) tilstand.
For å opprette en forbindelse brukes et treveis håndtrykk.

...

Startes når minst en av enhetene vil avslutte forbindelsen. Her brukes et fireveis håndtrykk, der hver enhet stenger forbindelsen uavhengig av den andre. Dette gjør at en TCP-forbindelse kan være ”halveis” åpen, der en enhet har stengt forbindelsen mens den andre ikke har det.

Image Added

CLOSE-WAIT

Enheten har mottatt en FIN-melding og venter nå på at den lokale brukeren vil bekrefte denne meldingen.
Når den blir bekreftet vil det sendes en ACK-melding og enheten går til LAST-ACK.

LAST-ACK

Enheten har nå fått en FIN-melding og bekreftet denne med en ACK-melding. Nå venter den bekreftelse (ACK) fra den andre enheten. Når det får det vil den gå til CLOSED.

FIN-WAIT-1

Enheten venter på en ACK-melding som den selv har sendt, eller på en FIN-melding fra den andre enheten.
I første tilfellet vil den gå til FIN-WAIT-2.
I andre tilfellet vil den sende en ACK-melding og gå til CLOSING.

FIN-WAIT-2

Enhetene har fått en bekreftelse (ACK) på at den vil avslutte forbindelsen og venter på en FIN-melding fra den andre enheten. Når den får det vil den gå videre til TIME-WAIT.

CLOSING

Enheten har fått en FIN-melding og sendt en ACK-melding, men den har ennå ikke fått en bekreftelse (ACK) for sin egen FIN-melding som er sendt.
Når den får det vil den gå til TIME-WAIT.

TIME-WAIT

Enhetene har nå fått en FIN-melding fra den andre enheten og bekreftet den, og den har sendt sin egen FIN-melding og fått den bekreftet av den andre enheten.
Etter en bestemt venteperiode vil enheten gå til CLOSED.

CLOSED

Se ”Opprette forbindelse” lenger oppe på siden.

Legg merke til at det ligger en timeout på slutten av denne fasen (TIME-WAIT). Dette er for å sikre at vi får bekreftet den siste FIN-meldingen og unngår overlapp med en ny forbindelse på samme port.


Referanser