Du har förmodligen sett referenser till TCP och UDP när du konfigurerar vidarebefordring av port på en router eller när du konfigurerar brandväggsprogram. Dessa två protokoll används för olika typer av data.
TCP / IP är en serie protokoll som används av enheter för att kommunicera via Internet och de flesta lokala nätverk. Den är uppkallad efter två av sina ursprungliga protokoll - Transmission Control Protocol (TCP) och Internet Protocol (IP). TCP ger appar ett sätt att leverera (och ta emot) en beställd och felkontrollerad ström av informationspaket över nätverket. User Datagram Protocol (UDP) används av appar för att leverera en snabbare informationsström genom att göra sig av med felkontroll. När du konfigurerar någon nätverkshårdvara eller programvara kan du behöva veta skillnaden.
Vad de har gemensamt
RELATERAD: Hur du hittar dina privata och offentliga IP-adresser
Både TCP och UDP är protokoll som används för att skicka bitar av data - så kallade paket - över Internet. Båda protokollen bygger på IP-protokollet. Med andra ord, oavsett om du skickar ett paket via TCP eller UDP, skickas det paketet till en IP-adress . Dessa paket behandlas på samma sätt eftersom de vidarebefordras från din dator till mellanliggande routrar och vidare till destinationen.
TCP och UDP är inte de enda protokollen som fungerar ovanpå IP. De är dock de mest använda.
Hur TCP fungerar
TCP är det vanligaste protokollet på Internet.
När du begär en webbsida i din webbläsare skickar din dator TCP-paket till webbserverns adress och ber den skicka webbsidan tillbaka till dig. Webbservern svarar genom att skicka en ström av TCP-paket, som din webbläsare syr ihop för att bilda webbsidan. När du klickar på en länk, loggar in, lägger upp en kommentar eller gör något annat skickar din webbläsare TCP-paket till servern och servern skickar tillbaka TCP-paket.
TCP handlar om tillförlitlighet - paket som skickas med TCP spåras så att ingen data går förlorad eller skadas under transport. Det är därför som nedladdningar av filer inte skadas även om det finns nätverkshicka. Naturligtvis, om mottagaren är helt offline, kommer din dator att ge upp och du får ett felmeddelande som säger att den inte kan kommunicera med fjärrvärden.
TCP uppnår detta på två sätt. Först beställer den paket genom att numrera dem. För det andra kontrollerar den fel genom att mottagaren skickar tillbaka ett svar till avsändaren och säger att den har fått meddelandet. Om avsändaren inte får ett korrekt svar kan den skicka paketen på nytt för att säkerställa att mottagaren tar emot dem korrekt.
RELATERAD: Förstå Process Explorer
Process Explorer och andra systemverktyg kan visa vilken typ av anslutningar en process gör - här kan vi se Chrome-webbläsaren med öppna TCP-anslutningar till en mängd olika webbservrar.
Hur UDP fungerar
RELATERAD: Hur latens kan göra att även snabba internetanslutningar känns långsamma
UDP-protokollet fungerar på samma sätt som TCP, men det slänger ut alla felkontroll grejer. All kommunikation fram och tillbaka introduceras latens , saktar ner saker.
När en app använder UDP skickas paket bara till mottagaren. Avsändaren väntar inte på att mottagaren har fått paketet - den fortsätter bara att skicka nästa paket. Om mottagaren saknar några UDP-paket här och där förlorar de bara - avsändaren skickar dem inte igen. Att förlora allt detta kostar att enheterna kan kommunicera snabbare.
UDP används när hastighet är önskvärd och felkorrigering inte är nödvändig. Till exempel används UDP ofta för direktsändningar och onlinespel.
Låt oss till exempel säga att du tittar på en live videoström, som ofta sänds med UDP istället för TCP. Servern skickar bara en konstant ström av UDP-paket till datorer som tittar på. Om du förlorar anslutningen i några sekunder kan videon frysa eller bli hoppande ett ögonblick och sedan hoppa till den aktuella biten i sändningen. Om du upplever mindre paketförlust kan videon eller ljudet förvrängas ett ögonblick då videon fortsätter att spelas utan data som saknas.
Detta fungerar på samma sätt i onlinespel. Om du saknar några UDP-paket kan det hända att spelartecken teleporterar över kartan när du får de nyare UDP-paketen. Det är ingen mening att begära de gamla paketen om du missade dem, eftersom spelet fortsätter utan dig. Allt som betyder något är vad som händer just nu på spelservern - inte vad som hände för några sekunder sedan. Ditching TCPs felkorrigering hjälper till att påskynda spelanslutningen och minska latens.
Än sen då?
RELATERAD: Hur man använder Wireshark för att fånga, filtrera och inspektera paket
Huruvida en applikation använder TCP eller UDP är upp till utvecklaren och valet beror på vad en applikation behöver. De flesta appar behöver felkorrigering och robusthet hos TCP, men vissa applikationer behöver UDP: s hastighet och reducerade omkostnader. Om du skjuter ett nätverksanalysverktyg som Wireshark Kan du se de olika typerna av paket som går fram och tillbaka.
Såvida du inte är nätverksadministratör eller programutvecklare bör detta inte påverka dig för mycket. Om du konfigurerar din router eller brandväggsprogramvara och inte är säker på om ett program använder TCP eller UDP, kan du i allmänhet välja alternativet "Båda" för att din router eller brandvägg ska tillämpa samma regel på både TCP- och UDP-trafik.