Care este diferența dintre TCP și UDP?
Probabil că ați văzut referințe la TCP și UDP atunci când configurați port forwarding pe un router sau când configurați software-ul firewall. Aceste două protocoale sunt utilizate pentru diferite tipuri de date.
TCP / IP este o suită de protocoale utilizate de dispozitive pentru a comunica pe Internet și în majoritatea rețelelor locale. Se numește după două protocoale originale - Protocolul de control al transmisiei (TCP) și Protocolul de Internet (IP). TCP oferă aplicațiilor o modalitate de a livra (și primi) un flux comandat și erorat de pachete de informații prin rețea. Protocolul User Datagram Protocol (UDP) este utilizat de aplicații pentru a furniza un flux mai rapid de informații, eliminând verificarea erorilor. Când configurați unele componente hardware sau software de rețea, este posibil să fie nevoie să cunoașteți diferența.
Ce au în comun
Atât protocoalele TCP și UDP sunt utilizate pentru trimiterea de biți de date cunoscute ca pachete - prin Internet. Ambele protocoale se bazează pe protocolul IP. Cu alte cuvinte, dacă trimiteți un pachet prin TCP sau UDP, acel pachet este trimis la o adresă IP. Aceste pachete sunt tratate în mod similar, deoarece sunt redirecționate de pe computerul dvs. către routerele intermediare și către destinație.
TCP și UDP nu sunt singurele protocoale care funcționează în partea de sus a IP-ului. Cu toate acestea, acestea sunt cele mai utilizate pe scară largă.
Cum funcționează TCP
TCP este cel mai frecvent utilizat protocol pe Internet.
Când solicitați o pagină web în browserul dvs., computerul trimite pachete TCP pe adresa serverului web, solicitându-i să trimită pagina Web înapoi la dvs. Serverul web răspunde prin trimiterea unui flux de pachete TCP, pe care browserul dvs. web le creează împreună pentru a forma pagina web. Când faceți clic pe un link, vă conectați, postați un comentariu sau faceți altceva, browserul dvs. web trimite pachete TCP către server și serverul trimite pachetele TCP înapoi.
TCP este vorba despre fiabilitatea-pachetele trimise cu TCP sunt urmărite astfel încât nu se pierde sau se corupe datele în tranzit. Acesta este motivul pentru care descărcările de fișiere nu devin corupte chiar dacă există sughițe în rețea. Desigur, dacă destinatarul este complet offline, calculatorul dvs. va renunța și veți vedea un mesaj de eroare care spune că nu poate comunica cu gazda la distanță.
TCP realizează acest lucru în două moduri. Mai întâi, ordonează pachetele numerotându-le. În al doilea rând, se verifică erorile prin faptul că destinatarul trimite un răspuns înapoi către expeditor spunând că a primit mesajul. Dacă expeditorul nu primește un răspuns corect, acesta poate retrimite pachetele pentru a se asigura că destinatarul le primește corect.
Procesorul Explorer și alte utilitare de sistem pot arăta tipul de conexiuni pe care le produce un proces - aici vedem browserul Chrome cu conexiuni TCP deschise către o varietate de servere web.
Cum funcționează UDP
Protocolul UDP funcționează similar cu TCP, dar aruncă toate chestiile de verificare a erorilor. Întreaga comunicare înapoi și înapoi introduce latență, încetinind lucrurile în jos.
Atunci când o aplicație utilizează UDP, pachetele sunt trimise doar destinatarului. Expeditorul nu așteaptă să se asigure că destinatarul a primit pachetul - pur și simplu trimite în continuare pachetele următoare. Dacă destinatarul pierde câteva pachete UDP aici și acolo, acestea sunt doar pierdute - expeditorul nu le va retrimite. Pierderea tuturor acestor cheltuieli înseamnă că dispozitivele pot comunica mai repede.
UDP este utilizat atunci când viteza este de dorit și corectarea erorilor nu este necesară. De exemplu, UDP este frecvent utilizat pentru emisiunile live și jocurile online.
De exemplu, să presupunem că vizionați un flux video live, care sunt difuzate adesea folosind UDP în loc de TCP. Serverul trimite doar un flux constant de pachete UDP la calculatoarele care urmăresc. Dacă vă pierdeți conexiunea pentru câteva secunde, videoclipul poate îngheța sau se poate săruta pentru un moment, apoi treceți la bitul curent al emisiunii. Dacă vă confruntați cu o pierdere minoră de pachete, este posibil ca videoclipul sau sunetul să fie distorsionate pentru o clipă, deoarece videoclipul continuă să fie redat fără datele lipsă.
Acest lucru funcționează similar în jocurile online. Dacă pierdeți unele pachete UDP, este posibil ca caracterele player-ului să teleporteze pe hartă, pe măsură ce primiți pachetele UDP mai noi. Nu are rost să cereți vechile pachete dacă le-ați pierdut, deoarece jocul continuă fără tine. Tot ce contează este ceea ce se întâmplă acum pe serverul jocului - nu ceea ce sa întâmplat acum câteva secunde. Scăderea corecției de eroare a TCP-ului contribuie la accelerarea conexiunii jocului și la reducerea latenței.
Și ce dacă?
Dacă o aplicație utilizează TCP sau UDP, este de până la dezvoltator, iar alegerea depinde de ce are nevoie o aplicație. Cele mai multe aplicații au nevoie de corectarea erorilor și de robustețea TCP, dar unele aplicații au nevoie de viteză și de reducerea cheltuielilor generale ale UDP. Dacă declanșați un instrument de analiză a rețelei precum Wireshark, puteți vedea diferitele tipuri de pachete care călătoresc înainte și înapoi.
Cu excepția cazului în care sunteți administrator de rețea sau dezvoltator de software, acest lucru nu ar trebui să vă afecteze prea mult. Dacă configurați software-ul router sau firewall și nu sunteți sigur dacă o aplicație utilizează TCP sau UDP, puteți selecta în general opțiunea "Both" pentru ca routerul sau paravanul de protecție să aplice aceeași regulă pentru traficul TCP și UDP.