Aký je rozdiel medzi TCP a UDP?
Pravdepodobne ste videli odkazy na protokoly TCP a UDP pri nastavovaní presmerovania portov na smerovači alebo pri konfigurovaní softvéru brány firewall. Tieto dva protokoly sa používajú pre rôzne typy údajov.
TCP / IP je sada protokolov používaných zariadeniami na komunikáciu cez internet a väčšinu lokálnych sietí. Je pomenovaná podľa dvoch z jeho pôvodných protokolov - Transmission Control Protocol (TCP) a Internet Protocol (IP). Služba TCP poskytuje aplikáciám spôsob, ako doručiť (a prijať) riadený a chybne kontrolovaný tok informačných paketov cez sieť. Protokol užívateľských dátových paketov (UDP) používajú aplikácie na poskytovanie rýchlejších informácií, a to tým, že odstraňujú kontrolu chýb. Pri konfigurácii niektorého sieťového hardvéru alebo softvéru možno budete musieť poznať rozdiel.
Čo majú spoločné
Obe protokoly TCP a UDP sú protokoly používané na odosielanie bitov dát známych ako pakety - cez internet. Oba protokoly sa opierajú o IP protokol. Inými slovami, či posielate paket cez TCP alebo UDP, tento paket sa posiela na adresu IP. Tieto pakety sa zaobchádza podobne, ako sú prenesené z vášho počítača na sprostredkujúce smerovače a na miesto určenia.
TCP a UDP nie sú jedinými protokolmi, ktoré fungujú na vrchole IP. Sú však najrozšírenejšie.
Ako funguje protokol TCP
TCP je najbežnejšie používaný protokol na internete.
Keď požiadate o webovú stránku vo vašom prehliadači, váš počítač odošle TCP pakety na adresu webového servera a požiada ju o zaslanie webovej stránky späť k vám. Webový server reaguje odoslaním prúdu paketov TCP, ktoré váš webový prehliadač spojí a vytvorí webovú stránku. Keď kliknete na odkaz, prihlásite sa, uverejníte komentár alebo urobíte niečo iné, váš webový prehliadač pošle TCP pakety na server a server pošle TCP pakety späť.
TCP je všetko o spoľahlivosti-pakety odosielané s TCP sú sledované tak žiadne údaje sú stratené alebo poškodené v tranzite. Z tohto dôvodu sa sťahovanie súborov nezhoršuje ani v prípade, že sa vyskytne sieťová štikóza. Samozrejme, ak je príjemca úplne v režime offline, počítač sa vzdá a zobrazí sa chybové hlásenie, že nemôže komunikovať so vzdialeným hostiteľom.
TCP to dosiahne dvomi spôsobmi. Po prvé, objednáva pakety ich číslovaním. Po druhé, chyba kontroluje tým, že príjemca pošle odpoveď späť na odosielateľa, ktorý hovorí, že prijal správu. Ak odosielateľ nedostane správnu odpoveď, môže odoslať pakety tak, aby príjemca ich správne dostal.
Process Explorer a ostatné systémové nástroje môžu zobrazovať typ pripojení procesu - tu môžeme vidieť prehliadač Chrome s otvorenými pripojeniami TCP k rôznym webovým serverom.
Ako funguje UDP
Protokol UDP pracuje podobne ako protokol TCP, ale vyhodí všetky chyby. Všetka spätná komunikácia zavádza latenciu a spomaľuje to.
Keď aplikácia používa službu UDP, pakety sa odosielajú príjemcovi. Odosielateľ nečaká na ubezpečenie, že príjemca prijal paket - jednoducho pokračuje v odosielaní ďalších paketov. Ak príjemca zmeškal niekoľko paketov UDP tu a tam, strácajú sa, odosielateľ ich nepredloží. Strata všetkých týchto režijných nákladov znamená, že zariadenia môžu komunikovať rýchlejšie.
UDP sa používa, ak je požadovaná rýchlosť a korekcia chýb nie je potrebná. Napríklad UDP sa často používa na živé vysielanie a online hry.
Povedzme napríklad, že sledujete živý video stream, ktorý je často vysielaný pomocou UDP namiesto protokolu TCP. Server iba posiela konštantný tok paketov UDP do počítača, ktorý sleduje. Ak stratíte pripojenie na niekoľko sekúnd, video sa môže na chvíľu zmraziť alebo zmäknúť a potom prejsť na aktuálny bit vysielania. Ak sa vyskytne menšia strata paketov, môže byť video alebo zvuk na chvíľu skreslené, pretože video pokračuje v prehrávaní bez chýbajúcich údajov.
To funguje podobne v online hrách. Ak vynecháte niektoré pakety UDP, znaky prehrávača sa môžu zobraziť ako teleport po celom mape, keď dostanete novšie pakety UDP. Nemá žiaden dôvod požiadať staré pakety, ak ste im vynechali, pretože hra pokračuje bez teba. Všetko, čo je dôležité, je to, čo sa práve teraz deje na hernom serveri - nie to, čo sa stalo pred niekoľkými sekundami. Odchýlka Oprava chýb TCP pomáha urýchliť pripojenie k hre a skracuje latenciu.
No a čo?
Či aplikácia používa protokol TCP alebo UDP, závisí od vývojára a výber závisí od toho, čo aplikácia potrebuje. Väčšina aplikácií potrebuje korekciu chýb a robustnosť protokolu TCP, ale niektoré aplikácie potrebujú rýchlosť a zníženú režijnú kapacitu UDP. Ak spustíte nástroj na analýzu siete, ako Wireshark, môžete vidieť rôzne typy paketov, ktoré sa pohybujú tam a späť.
Pokiaľ ste správcom siete alebo vývojárom softvéru, nemalo by to príliš vplyv na vás. Ak konfigurujete softvér smerovača alebo brány firewall a nie ste si istí, či aplikácia používa protokol TCP alebo UDP, môžete vo všeobecnosti vybrať možnosť "Both", aby váš smerovač alebo brána firewall uplatňovali rovnaké pravidlo pre prevádzku TCP a UDP.