Hva er forskjellen mellom TCP og UDP?

Du har sannsynligvis sett referanser til TCP og UDP når du konfigurerer port-videresending på en ruter eller når du konfigurerer brannmurprogramvare. Disse to protokollene brukes til forskjellige typer data.

TCP / IP er en serie protokoller som brukes av enheter til å kommunisere over Internett og de fleste lokale nettverk. Den er oppkalt etter to av de originale protokollene — 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. User Datagram Protocol (UDP) brukes av apper for å levere en raskere informasjonsstrøm ved å gjøre unna feilkontroll. Når du konfigurerer noe nettverksmaskinvare eller programvare, må du kanskje vite forskjellen.

Hva de har til felles

RELATERT: Slik finner du private og offentlige IP-adresser

Både TCP og UDP er protokoller som brukes til å sende databiter - kjent som pakker - over Internett. Begge protokollene bygger på IP-protokollen. Med andre ord, om du sender en pakke via TCP eller UDP, blir den pakken sendt til en IP-adresse. Disse pakkene blir behandlet likt, ettersom de blir videresendt fra datamaskinen din til mellomliggende rutere og videre til destinasjonen.

TCP og UDP er ikke de eneste protokollene som fungerer på toppen av IP. Imidlertid er de mest brukte.

Hvordan TCP fungerer

TCP er den mest brukte protokollen på Internett.

Når du ber om en webside i nettleseren din, sender datamaskinen TCP-pakker til webserverens adresse og ber den sende websiden tilbake til deg. Webserveren svarer ved å sende en strøm av TCP-pakker, som nettleseren din syr sammen for å danne websiden. Når du klikker på en lenke, logger på, legger ut en kommentar eller gjør noe annet, sender nettleseren din TCP-pakker til serveren, og serveren sender TCP-pakker tilbake.

TCP handler om pålitelighet - pakker sendt med TCP spores slik at ingen data går tapt eller blir ødelagt under transport. Dette er grunnen til at filnedlastinger ikke blir ødelagt, selv om det er nettverkstikk. Selvfølgelig, hvis mottakeren er helt frakoblet, vil datamaskinen gi opp og du vil se en feilmelding som sier at den ikke kan kommunisere med den eksterne verten.

TCP oppnår dette på to måter. For det første bestiller den pakker ved å nummerere dem. For det andre feilsjekker den ved at mottakeren sender et svar tilbake til avsenderen og sier at den har mottatt meldingen. Hvis avsenderen ikke får riktig svar, kan den sende pakkene på nytt for å sikre at mottakeren mottar dem riktig.

RELATERT: Forstå prosessutforsker

Process Explorer og andre systemverktøy kan vise hvilken type tilkoblinger en prosess lager - her kan vi se Chrome-nettleseren med åpne TCP-tilkoblinger til en rekke webservere.

Hvordan UDP fungerer

RELATERT: Hvordan latens kan gjøre at raske internettforbindelser føles sakte

UDP-protokollen fungerer på samme måte som TCP, men den kaster ut alle feilkontrollsaken. All frem og tilbake kommunikasjon introduserer ventetid, noe som reduserer sakene.

Når en app bruker UDP, blir pakker bare sendt til mottakeren. Avsenderen venter ikke med å forsikre seg om at mottakeren mottok pakken - den fortsetter bare å sende de neste pakkene. Hvis mottakeren savner noen UDP-pakker her og der, er de bare tapt - avsenderen vil ikke sende dem på nytt. Å miste alt dette overhead betyr at enhetene kan kommunisere raskere.

UDP brukes når hastighet er ønskelig og feilretting ikke er nødvendig. For eksempel brukes UDP ofte til direktesendinger og online spill.

La oss for eksempel si at du ser på en live 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 i noen sekunder, kan videoen fryse eller bli hoppende et øyeblikk og deretter hoppe til den aktuelle biten av sendingen. Hvis du opplever mindre pakketap, kan videoen eller lyden bli forvrengt et øyeblikk når videoen fortsetter å spille uten de manglende dataene.

Dette fungerer på samme måte i online spill. Hvis du savner noen UDP-pakker, kan det hende at spillerkarakterer teleporterer over kartet når du mottar de nyere UDP-pakkene. Det nytter ikke å be om de gamle pakkene hvis du savnet dem, ettersom spillet fortsetter uten deg. Alt som betyr noe er hva som skjer akkurat nå på spillserveren - ikke det som skjedde for noen sekunder siden. Ditching TCPs feilretting hjelper til med å øke spillforbindelsen og redusere ventetiden.

Hva så?

RELATERT: Hvordan bruke Wireshark til å fange, filtrere og inspisere pakker

Hvorvidt et program bruker TCP eller UDP er opp til utvikleren, og valget avhenger av hva et program trenger. De fleste apper trenger feilretting og robusthet til TCP, men noen applikasjoner trenger hastigheten og redusert overhead av UDP. Hvis du fyrer et nettverksanalyseverktøy som Wireshark, kan du se de forskjellige typer pakker som reiser frem og tilbake.

Med mindre du er nettverksadministrator eller programvareutvikler, bør ikke dette påvirke deg for mye. Hvis du konfigurerer ruteren eller brannmurprogramvaren og ikke er sikker på om et program bruker TCP eller UDP, kan du generelt velge alternativet "Begge" for å få ruteren eller brannmuren til å bruke den samme regelen på både TCP og UDP-trafikk.