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 for å 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
I SLEKT: Hvordan finne private og offentlige IP-adresser
Både TCP og UDP er protokoller som brukes til å sende biter av data - 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 videresendes 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 får 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.
I SLEKT: Forstå prosessutforsker
Prosessutforsker 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
I SLEKT: Hvordan latens kan gjøre at selv 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 , bremser ting.
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 manglende data.
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 savner dem, ettersom spillet fortsetter uten deg. Alt som betyr noe er hva som skjer akkurat nå på spillserveren - ikke hva som skjedde for noen sekunder siden. Ditching TCPs feilretting hjelper til med å øke spillforbindelsen og redusere ventetiden.
Hva så?
I SLEKT: 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 feilkorrigering og robusthet til TCP, men noen applikasjoner trenger hastigheten og redusert overhead for 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 dette ikke 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.