Hvad er forskellen mellem TCP og UDP?

Du har sandsynligvis set referencer til TCP og UDP, når du konfigurerer portvideresendelse på en router eller når du konfigurerer firewallsoftware. Disse to protokoller bruges til forskellige typer data.

TCP / IP er en række protokoller, der bruges af enheder til at kommunikere over internettet og de fleste lokale netværk. Det er opkaldt efter to af dets originale protokoller - Transmission Control Protocol (TCP) og Internet Protocol (IP). TCP giver apps en måde at levere (og modtage) en bestilt og fejlkontroleret strøm af informationspakker over netværket. User Datagram Protocol (UDP) bruges af apps til at levere en hurtigere strøm af information ved at fjerne fejlkontrol. Når du konfigurerer noget netværkshardware eller software, skal du muligvis kende forskellen.

Hvad de har til fælles

RELATERET: Sådan finder du dine private og offentlige IP-adresser

Både TCP og UDP er protokoller, der bruges til at sende bit data - kendt som pakker - over Internettet. Begge protokoller bygger oven på IP-protokollen. Med andre ord, uanset om du sender en pakke via TCP eller UDP, sendes den pakke til en IP-adresse. Disse pakker behandles ens, da de videresendes fra din computer til mellemliggende routere og videre til destinationen.

TCP og UDP er ikke de eneste protokoller, der fungerer oven på IP. De er dog de mest anvendte.

Sådan fungerer TCP

TCP er den mest anvendte protokol på Internettet.

Når du anmoder om en webside i din browser, sender din computer TCP-pakker til webserverens adresse og beder den om at sende websiden tilbage til dig. Webserveren reagerer ved at sende en strøm af TCP-pakker, som din webbrowser syr sammen for at danne websiden. Når du klikker på et link, logger ind, sender en kommentar eller gør noget andet, sender din webbrowser TCP-pakker til serveren, og serveren sender TCP-pakker tilbage.

TCP handler om pålidelighed - pakker sendt med TCP spores, så ingen data går tabt eller ødelægges under transit. Dette er grunden til, at fildownloads ikke bliver beskadiget, selvom der er netværkshikke. Selvfølgelig, hvis modtageren er helt offline, vil din computer give op, og du får vist en fejlmeddelelse, der siger, at den ikke kan kommunikere med fjernværten.

TCP opnår dette på to måder. For det første bestiller den pakker ved at nummerere dem. For det andet fejler det ved at lade modtageren sende et svar tilbage til afsenderen og sige, at den har modtaget beskeden. Hvis afsenderen ikke får et korrekt svar, kan den sende pakkerne igen for at sikre, at modtageren modtager dem korrekt.

RELATERET: Forstå Process Explorer

Process Explorer og andre systemværktøjer kan vise, hvilken type forbindelser en proces opretter - her kan vi se Chrome-browseren med åbne TCP-forbindelser til en række webservere.

Sådan fungerer UDP

RELATERET: Hvordan latens kan få selv hurtige internetforbindelser til at føles langsomme

UDP-protokollen fungerer på samme måde som TCP, men den smider alle fejlkontrol ting ud. Al den frem og tilbage kommunikation introducerer ventetid og bremser tingene ned.

Når en app bruger UDP, sendes pakker bare til modtageren. Afsenderen venter ikke på at sikre, at modtageren har modtaget pakken - den fortsætter bare med at sende de næste pakker. Hvis modtageren savner et par UDP-pakker her og der, går de bare tabt - afsenderen sender dem ikke igen. At miste alt dette overhead betyder, at enhederne kan kommunikere hurtigere.

UDP bruges, når hastighed er ønskelig, og fejlkorrektion ikke er nødvendig. For eksempel bruges UDP ofte til live-udsendelser og onlinespil.

Lad os for eksempel sige, at du ser en live videostream, som ofte udsendes ved hjælp af UDP i stedet for TCP. Serveren sender bare en konstant strøm af UDP-pakker til computere, der ser på. Hvis du mister din forbindelse i et par sekunder, kan videoen fryse eller blive hoppende et øjeblik og derefter springe til den aktuelle bit af udsendelsen. Hvis du oplever mindre pakketab, kan videoen eller lyden blive forvrænget et øjeblik, da videoen fortsætter med at afspille uden de manglende data.

Dette fungerer på samme måde i onlinespil. Hvis du savner nogle UDP-pakker, ser det muligvis ud til, at spillerkarakterer teleporterer over kortet, når du modtager de nyere UDP-pakker. Der er ingen mening i at anmode om de gamle pakker, hvis du savnede dem, da spillet fortsætter uden dig. Alt, hvad der betyder noget, er hvad der sker lige nu på spilserveren - ikke hvad der skete for få sekunder siden. Ditching TCP's fejlkorrektion hjælper med at fremskynde spilforbindelsen og reducere ventetid.

Og hvad så?

RELATERET: Sådan bruges Wireshark til at fange, filtrere og inspicere pakker

Om en applikation bruger TCP eller UDP er op til udvikleren, og valget afhænger af, hvad en applikation har brug for. De fleste apps har brug for TCP's fejlkorrektion og robusthed, men nogle applikationer har brug for hastigheden og reduceret overhead af UDP. Hvis du affyrer et netværksanalyseværktøj som Wireshark, kan du se de forskellige typer pakker, der kører frem og tilbage.

Medmindre du er netværksadministrator eller softwareudvikler, skal dette ikke påvirke dig for meget. Hvis du konfigurerer din router eller firewall-software, og du ikke er sikker på, om en applikation bruger TCP eller UDP, kan du generelt vælge "Begge" for at få din router eller firewall til at anvende den samme regel på både TCP- og UDP-trafik.