7Aug

Qual è la differenza tra TCP e UDP?

Probabilmente hai visto riferimenti a TCP e UDP quando configuri il port forwarding su un router o quando configuri un software firewall. Questi due protocolli vengono utilizzati per diversi tipi di dati.

TCP / IP è una suite di protocolli utilizzati dai dispositivi per comunicare su Internet e sulla maggior parte delle reti locali. Prende il nome da due dei suoi protocolli originali: Transmission Control Protocol( TCP) e Internet Protocol( IP).TCP fornisce alle app un modo per consegnare( e ricevere) un flusso di pacchetti di informazioni ordinato e con errori sulla rete. L'UDP( User Datagram Protocol) viene utilizzato dalle app per fornire un flusso più rapido di informazioni eliminando il controllo degli errori. Quando si configura hardware o software di rete, potrebbe essere necessario conoscere la differenza.

Cosa hanno in comune

TCP e UDP sono entrambi protocolli utilizzati per l'invio di bit di dati, noti come pacchetti, su Internet. Entrambi i protocolli si basano sul protocollo IP.In altre parole, se invii un pacchetto via TCP o UDP, quel pacchetto viene inviato a un indirizzo IP.Questi pacchetti vengono trattati in modo simile, poiché vengono inoltrati dal computer ai router intermedi e fino alla destinazione.

TCP e UDP non sono gli unici protocolli che funzionano su IP.Tuttavia, sono i più usati.

Funzionamento di TCP

TCP è il protocollo più utilizzato su Internet.

Quando richiedi una pagina web nel tuo browser, il tuo computer invia pacchetti TCP all'indirizzo del server web, chiedendogli di rispedirti la pagina web. Il server Web risponde inviando un flusso di pacchetti TCP, che il browser Web ricuce per formare la pagina Web. Quando si fa clic su un collegamento, si accede, si invia un commento o si fa qualcos'altro, il browser Web invia pacchetti TCP al server e il server invia di nuovo i pacchetti TCP.

TCP è tutto basato sull'affidabilità: i pacchetti inviati con TCP vengono tracciati, quindi nessun dato viene perso o corrotto durante il transito. Questo è il motivo per cui i download di file non si corrompono anche se ci sono problemi di rete. Naturalmente, se il destinatario è completamente offline, il computer si arrenderà e vedrai un messaggio di errore che dice che non può comunicare con l'host remoto.

TCP realizza questo in due modi. Innanzitutto, ordina i pacchetti numerandoli. In secondo luogo, controlla gli errori facendo in modo che il destinatario risponda al mittente affermando di aver ricevuto il messaggio. Se il mittente non ottiene una risposta corretta, può inviare nuovamente i pacchetti per assicurarsi che il destinatario li riceva correttamente.

Process Explorer e altre utilità di sistema possono mostrare il tipo di connessioni che un processo fa: qui possiamo vedere il browser Chrome con connessioni TCP aperte a una varietà di server web.

Funzionamento di UDP

Il protocollo UDP funziona in modo simile a TCP, ma elimina tutti i problemi di controllo degli errori. Tutta la comunicazione avanti e indietro introduce la latenza, rallentando le cose.

Quando un'app utilizza UDP, i pacchetti vengono semplicemente inviati al destinatario. Il mittente non aspetta per assicurarsi che il destinatario abbia ricevuto il pacchetto: continua semplicemente a inviare i pacchetti successivi. Se il destinatario perde alcuni pacchetti UDP qua e là, sono semplicemente persi - il mittente non li reinvia. Perdendo tutto questo sovraccarico significa che i dispositivi possono comunicare più rapidamente.

UDP viene utilizzato quando la velocità è desiderabile e la correzione degli errori non è necessaria. Ad esempio, UDP viene spesso utilizzato per trasmissioni in diretta e giochi online.

Ad esempio, supponiamo che stai guardando uno streaming video live, che viene spesso trasmesso tramite UDP anziché TCP.Il server invia semplicemente un flusso costante di pacchetti UDP ai computer che guardano. Se si perde la connessione per alcuni secondi, il video potrebbe bloccarsi o rimanere nervoso per un momento e quindi saltare al bit corrente della trasmissione. Se si verificano minori perdite di pacchetti, il video o l'audio potrebbero essere distorti per un momento mentre il video continua a essere riprodotto senza i dati mancanti.

Funziona in modo simile nei giochi online. Se si dimenticano alcuni pacchetti UDP, è possibile che i personaggi dei giocatori si teletrasporino sulla mappa man mano che si ricevono i pacchetti UDP più recenti. Non ha senso chiedere i vecchi pacchetti se li hai persi, visto che il gioco continua senza di te. Tutto quello che conta è cosa sta succedendo in questo momento sul server di gioco, non quello che è successo pochi secondi fa. La correzione degli errori di Ditching TCP aiuta ad accelerare la connessione di gioco e ridurre la latenza.

Quindi cosa?

Se un'applicazione utilizza TCP o UDP è fino al suo sviluppatore e la scelta dipende da ciò che un'applicazione ha bisogno. La maggior parte delle app richiede la correzione degli errori e la robustezza del TCP, ma alcune applicazioni necessitano della velocità e dell'overhead ridotto di UDP.Se si attiva uno strumento di analisi di rete come Wireshark, è possibile visualizzare i diversi tipi di pacchetti che viaggiano avanti e indietro.

A meno che tu non sia un amministratore di rete o uno sviluppatore di software, questo non dovrebbe influire troppo su di te. Se stai configurando il tuo software router o firewall e non sei sicuro che un'applicazione utilizzi TCP o UDP, in genere puoi selezionare l'opzione "Entrambi" in modo che il router o il firewall applichino la stessa regola al traffico sia TCP che UDP.