Kakšna je razlika med TCP in UDP?
Verjetno ste videli sklicevanje na TCP in UDP pri nastavljanju posredovanja vrat na usmerjevalniku ali pri konfiguriranju programske opreme požarnega zidu. Ta dva protokola se uporabljata za različne vrste podatkov.
TCP / IP je zbirka protokolov, ki jih naprave uporabljajo za komunikacijo prek interneta in večine lokalnih omrežij. Imenovan je po dveh izvirnih protokolih - protokolu za nadzor prenosa (TCP) in internetnem protokolu (IP). TCP omogoča aplikacijam način dostave (in prejemanja) urejenega in preverjenega toka informacijskih paketov prek omrežja. Programi za uporabniške datagrame (UDP) uporabljajo aplikacije za zagotavljanje hitrejšega pretoka informacij, tako da odpravijo preverjanje napak. Pri konfiguriranju omrežne strojne ali programske opreme boste morda morali vedeti razliko.
Kaj imajo skupaj
Oba protokola TCP in UDP sta protokola, ki se uporabljata za pošiljanje bitov podatkov, znanih kot paketi, prek interneta. Oba protokola gradita na vrhu protokola IP. Z drugimi besedami, ali pošiljate paket prek TCP ali UDP, se paket pošlje na naslov IP. Ti paketi so obravnavani na podoben način, ko so posredovani iz računalnika v posredniške usmerjevalnike in na cilj.
TCP in UDP niso edini protokoli, ki delujejo na IP. Vendar pa so najpogosteje uporabljeni.
Kako deluje TCP
TCP je najpogosteje uporabljen protokol na internetu.
Ko v brskalniku zahtevate spletno stran, računalnik pošlje naslove TCP na naslov spletnega strežnika in jih prosi, naj vam spletno stran pošlje nazaj. Spletni strežnik se odzove s pošiljanjem paketov TCP, ki jih vaš spletni brskalnik združi v spletno stran. Ko kliknete povezavo, se prijavite, objavite komentar ali naredite kaj drugega, vaš spletni brskalnik pošlje strežniku pakete TCP in strežnik pošlje nazaj pakete TCP.
TCP je vse v zvezi z zanesljivostjo - paketi, poslani s TCP, se sledijo, tako da se podatki v tranzitu ne izgubijo ali poškodujejo. To je razlog, zakaj se prenosi datotek ne poškodujejo, tudi če obstajajo mrežni napadi. Seveda, če je prejemnik popolnoma brez povezave, se bo vaš računalnik odpovedal in videli boste sporočilo o napaki, da ne more komunicirati z oddaljenim gostiteljem.
TCP to doseže na dva načina. Najprej naroči pakete, tako da jih oštevilči. Drugič, preverjanje napak s tem, da prejemnik pošlje odgovor nazaj pošiljatelju, da je prejel sporočilo. Če pošiljatelj ne dobi pravilnega odgovora, lahko ponovno pošlje pakete, da zagotovi, da jih prejemnik pravilno prejme.
Raziskovalec procesov in drugi sistemski pripomočki lahko prikažejo vrsto povezav, ki jih ima proces - tukaj lahko vidimo brskalnik Chrome z odprtimi povezavami TCP na različne spletne strežnike.
Kako deluje UDP
Protokol UDP deluje podobno kot TCP, vendar vrže vse stvari za preverjanje napak. Vse povratne in zadnje komunikacije uvajajo latenco, upočasnjujejo stvari.
Ko aplikacija uporablja UDP, se paketi pošljejo prejemniku. Pošiljatelj ne čaka, da bi se prepričal, ali je prejemnik prejel paket - samo še naprej pošilja naslednje pakete. Če prejemnik tu in tam zgreši nekaj UDP paketov, se zgubi - pošiljatelj jih ne bo ponovno poslal. Če izgubite vse te režijske stroške, lahko naprave hitreje komunicirajo.
UDP se uporablja, kadar je zaželena hitrost in popravljanje napak ni potrebno. Na primer, UDP se pogosto uporablja za prenose v živo in spletne igre.
Recimo, da gledate pretočni videoposnetek, ki se pogosto predvaja z UDP namesto TCP-jem. Strežnik samo pošilja konstanten tok UDP paketov računalnikom, ki jih gledajo. Če za nekaj sekund izgubite povezavo, se lahko videoposnetek za trenutek zamrzne ali pa se pretrese, nato pa preskočite na trenutni del oddaje. Če pride do manjše izgube paketov, je lahko videoposnetek ali zvok za trenutek popačen, ker se video predvaja brez manjkajočih podatkov.
To deluje podobno v spletnih igrah. Če zamudite nekaj UDP paketov, se lahko prikažejo znaki igralcev, ki se prenašajo po zemljevidu, ko prejmete novejše pakete UDP. Nobenega smisla ni zahtevati starih paketov, če ste jih zamudili, saj se igra nadaljuje brez vas. Pomembno je samo to, kar se zdaj dogaja na igralnem strežniku - ne kar se je zgodilo pred nekaj sekundami. Odpravljanje napak TCP-ja pomaga pospešiti povezavo med igro in zmanjšati zakasnitev.
Pa kaj?
Ali aplikacija uporablja TCP ali UDP, je odvisno od njenega razvijalca, izbira pa je odvisna od tega, kaj aplikacija potrebuje. Večina aplikacij potrebuje popravljanje napak in robustnost TCP-ja, vendar pa nekatere aplikacije potrebujejo hitrost in manjše obremenitve UDP. Če požarite orodje za analizo omrežja, kot je Wireshark, lahko vidite različne vrste paketov, ki potujejo naprej in nazaj.
Če niste skrbnik omrežja ali razvijalec programske opreme, to ne bi smelo vplivati na vas preveč. Če konfigurirate usmerjevalnik ali programsko opremo požarnega zidu in niste prepričani, ali aplikacija uporablja TCP ali UDP, lahko na splošno izberete možnost »Oboje«, če želite, da vaš usmerjevalnik ali požarni zid uporablja isto pravilo za promet TCP in UDP.