TCP

Fra IT2
Hopp til: navigasjon, søk

TCP (Transmission Control Protocol) er en nettverksprotokoll for forbindelsesorientert, pålitelig overføring av informasjon, og opererer på transportlaget i OSI-modellen for datanett.

I protokollsettet for Internett, opererer TCP mellom Internett-protokollen (under), og en applikasjon (over). Applikasjonene trenger som oftest en pålitelig tilkobling mellom endepunktene, noe Internett-protokollen ikke tilbyr alene.

Applikasjonene sender strømmer av 8-biters tegn for å bli sendt gjennom nettverket, og TCP-protokollen deler denne strømmen opp i pakker med en bestemt størrelse (vanligvis bestemt av nettverket som datamaskina er kobla til). TCP sender så pakkene videre til Internett-protokollen som sørger for at de blir sendt til TCP-modulen i den andre enden av forbindelsen. TCP passer på at ingen pakker forsvinner ved å gi hvert tegn i strømmen et sekvensnummer, som også blir brukt for å forsikre at pakkene blir levert i riktig rekkefølge hos mottakeren.

TCP-modulen i mottakerenden sender så tilbake en kvittering for tegn som er blitt mottatt. Hvis kvitteringa ikke er mottatt innen et visst tidspunkt, vil et tidsavbrudd oppstå. Da vil sender anta at pakka er tapt, og pakka må sendes på nytt. TCP sjekker også at datastrømmen ikke er skadd ved å bruke en sjekksum. Sjekksummen blir beregna av senderen, og kontrollert hos mottaker, for hver pakke.

For å lese en mer detaljert oversikt over TCP kan man gå hit: http://en.wikipedia.org/wiki/Transmission_Control_Protocol


Fordeler og ulemper

TCP gir applikasjoner en pålitelig og forbindelsesprientert oppkobling mellom to endepunkter. Men TCP krever en viss regnekraft – et grensesnitt som kjører på 1 Gb/s vil kunne sluke alle ressursene på en 2,4 GHz CPU. Det finnes heldigvis spesialisert maskinvare som tar seg av oppgaven på en mer elegant måte.

TCP egner seg ikke spesielt godt for applikasjoner som krever lav latens eller høy «throughput», slik som VoIP, videostreaming og liknende. UDP vil der ofte være et bedre valg, og applikasjonene kan da korrigere for tapte data med egne algoritmer, for eksempel interpolasjon.