TCP / IP er en serie protokoller som brukes av enheter som kommuniserer via Internett og de fleste lokale nettverk. Den er oppkalt etter to av dens originale protokoller - Transmission Control Protocol (TCP) og Internet Protocol (IP). TCP gir apper en måte å levere (og motta) en bestilt og feilkontrollert strøm av informasjonspakker over nettverket. Brukerdatagramprotokollen (UDP) brukes av apper til å levere en raskere strøm av informasjon ved å fjerne feilkontroll. Når du konfigurerer noe maskinvare eller programvare på nettverket, må du kanskje vite forskjellen.
Hva de har til felles
Både TCP og UDP er protokoller som brukes til å sende databiter, kjent som pakker over Internett. Begge protokollene bygger på toppen av IP-protokollen. Med andre ord, om du sender en pakke via TCP eller UDP, sendes denne pakken til en IP-adresse. Disse pakkene behandles på samme måte som de blir videresendt fra datamaskinen til mellomledere og videre til destinasjonen.
Slik fungerer TCP
TCP er den mest brukte protokollen på Internett.
Når du ber om en nettside i nettleseren, sender datamaskinen din TCP-pakker til webserverens adresse, og ber om å sende nettsiden tilbake til deg. Web-serveren reagerer ved å sende en strøm av TCP-pakker, som nettleseren din stikker sammen for å danne nettsiden. Når du klikker på en kobling, logger du på, legger inn en kommentar eller gjør noe annet, sender nettleseren din TCP-pakker til serveren og serveren sender TCP-pakker tilbake.
TCP handler om pålitelighetspakker sendt med TCP spores, slik at ingen data går tapt eller ødelagt i transitt. Dette er grunnen til at filnedlastinger ikke blir ødelagt, selv om det er nettverkshikke. Selvfølgelig, hvis mottakeren er helt frakoblet, vil datamaskinen gi opp og du får se en feilmelding som sier at den ikke kan kommunisere med den eksterne verten.
TCP oppnår dette på to måter. Først ordner det pakker ved å nummerere dem. For det andre, feilsøker det ved at mottakeren sender et svar tilbake til avsenderen som sier at den har mottatt meldingen. Hvis avsenderen ikke får riktig svar, kan den sende pakkene igjen for å sikre at mottakeren mottar dem riktig.
Process Explorer og andre systemverktøy kan vise typen tilkoblinger en prosess gjør - her kan vi se Chrome-nettleseren med åpne TCP-tilkoblinger til en rekke webservere.
Slik fungerer UDP
UDP-protokollen fungerer på samme måte som TCP, men det kaster ut alle feilkontrollene. All frem og tilbake kommunikasjon innfører latens, bremser ting ned.
Når en app bruker UDP, blir pakkene bare sendt til mottakeren. Avsenderen venter ikke for å sikre at mottakeren mottok pakken. Det fortsetter bare å sende de neste pakkene. Hvis mottakeren savner noen UDP-pakker her og der, er de bare tapt - avsenderen vil ikke sende dem igjen. Å miste alt dette overhead betyr at enhetene kan kommunisere raskere.
UDP brukes når hastighet er ønskelig og feilkorreksjon er ikke nødvendig. For eksempel brukes UDP ofte til live-sendinger og online spill.
For eksempel, la oss si at du ser på en levende videostrøm, som ofte sendes med UDP i stedet for TCP. Serveren sender bare en konstant strøm av UDP-pakker til datamaskiner som ser på. Hvis du mister forbindelsen din i noen sekunder, kan videoen fryse eller hoppe et øyeblikk og hoppe over til nåværende bit av sendingen. Hvis du opplever mindre tap, kan videoen eller lyden bli forvrengt et øyeblikk ettersom videoen fortsetter å spilles uten de manglende dataene.
Dette fungerer på samme måte i online spill. Hvis du savner noen UDP-pakker, kan det hende at spillertegnene teleporterer over kartet når du mottar de nyere UDP-pakker. Det er ingen grunn til å be om de gamle pakkene hvis du savnet dem, siden spillet fortsetter uten deg. Alt som betyr noe, er hva som skjer akkurat nå på spillserveren - ikke hva som skjedde for noen sekunder siden. Feilsøking av ditching TCP hjelper til med å øke hastigheten på spillforbindelsen og redusere ventetiden.
Og så?
Hvorvidt et program bruker TCP eller UDP, er opp til utvikleren, og valget avhenger av hva et program trenger. De fleste apper krever feilkorrigering og robusthet av TCP, men enkelte programmer trenger hastigheten og redusert overhead av UDP. Hvis du brenner et nettverksanalyseværktøy som Wireshark, kan du se de forskjellige pakketyper som reiser frem og tilbake.