Versions Compared

Key

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

 

TDAT 2004 Datakommunikasjon med nettverksprogrammering

Oppgavenummer 26 -  Tilstandsdiagram
 

Skrevet av Håvard Aasmo og Aner Glavovic

 

1. Innledning

Tilstandsdiagrammer i TCP hører til transportlageret, og blir brukt til å vise livslinjen til en forbindelse. En forbindelsesprosess går igjennom en serie av tilstander gjennom sitt livsløp. For å gjøre det enkelt, er det vanlig å dele disse opp i 3 faser, etablering av forbindelse, dataoverføring og terminering av forbindelse. En forbindelse mellom TCP-enhetene må være i orden før den går videre til neste fase. Når en forbindelse har blitt opprettet, kan dataoverføringen mellom de to TCP-enhetene foregå. Etter at dataoverføringen er fullført går den til siste tilstand som lukker alle kretsene og ressursene mellom de to enhetene.

 

2. Ønsket funksjonalitet

Pålitelig overføring: TCP bruker et sekvensnummer for å identifisere hver byte av data. På denne måten kan data som blir borte bli gjenoppbygget dersom packet loss skulle oppstå under overføringen. Pålitelighet oppnås ved at senderen oppdager tapt data gjennom RTO og DupAcks, og sender den på nytt. Selvom tapt data blir gjensendt er det likevel andre ting som kan forårsake skade når dataoverføringen pågår. Det hender en sjelden gang at en hacker greier å gjette sekvensnummeret, og kan dermed forfalske pakkene som blir sendt til mottakeren. Dette kan igjen bli forhindret ved at senderen konfigurerer ruteren eller brannmuren til å ikke ta inn pakker fra en ukjent IP-adresse.

...

Flytkontroll: Hensikten med flytkontroll er å sikre pålitelig overføring. TCP bruker noe som heter «sliding window protocol» for akkurat dette. Sliding windowfungerer ved at mottakeren kontinuerlig gir beskjed til senderen hvor mye data som kan bli sendt. Når mottakerens buffer er fylt, blir det sendt en beskjed om å stoppe dataoverføringen slik at dataen som har blitt sendt kan behandles.

 Metningskontroll: Hensikten med metningskontrollen i TCP er å oppnå så høy ytelse som mulig, uten at det skulle oppstå trafikkforstoppelse. For dette blir det brukt en rekke mekanismer, som blant annet passer på at raten dataen blir sendt med, holder seg under det som ville forårsaket forstoppelse. 

...

CLOSED

Standard tilstand som alle forbindelser starter i. Representerer at det ikke er noen forbindelse mellom den aktuelle enhetene, og er derfor en ”fiktiv” tilstand.

LISTEN

Enheten venter på en SYN-meding fra en klient. Det er vanligvis servere som er i denne tilstanden.
Når enheten får svar (SYN), sendes en SYN+ACK-melding og den går videre til SYN-RECIEVED.

SYN-SENT

Enhetene har sendt en SYN-melding og venter på svar fra en annen enhet (vanligvis en server).
Når den får et svar (SYN), sender den en SYN+ACK-melding og går videre til SYN-RECIEVED.

SYN-RECIEVED

Enheten har både sendt og fått en SYN-melding fra den andre enheten. Venter på en ACK-melding for å gå videre til ESTABLISHED.

 

 Image Added


Dataoverføring

...