Probabilmente hai visto riferimenti a TCP e UDP durante la configurazione del port forwarding su un router o durante la configurazione del 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: il protocollo TCP (Transmission Control Protocol) e il protocollo Internet (IP). TCP fornisce alle app un modo per fornire (e ricevere) un flusso di pacchetti di informazioni ordinato e controllato dagli errori sulla rete. Lo User Datagram Protocol (UDP) viene utilizzato dalle app per fornire un flusso di informazioni più veloce eliminando il controllo degli errori. Durante la configurazione di hardware o software di rete, potrebbe essere necessario conoscere la differenza.
Cosa hanno in comune
RELAZIONATO: Come trovare i tuoi indirizzi IP privati e pubblici
Sia TCP che UDP sono protocolli utilizzati per inviare bit di dati, noti come pacchetti, su Internet. Entrambi i protocolli si basano sul protocollo IP. In altre parole, sia che inviate un pacchetto tramite TCP o UDP, quel pacchetto viene inviato a un file indirizzo IP . Questi pacchetti vengono trattati in modo simile, poiché vengono inoltrati dal computer ai router intermedi e alla destinazione.
TCP e UDP non sono gli unici protocolli che funzionano su IP. Tuttavia, sono i più utilizzati.
Come funziona TCP
TCP è il protocollo più comunemente 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 tuo browser web unisce per formare la pagina web. Quando si fa clic su un collegamento, si accede, si pubblica un commento o si esegue qualsiasi altra operazione, il browser Web invia i pacchetti TCP al server e il server restituisce i pacchetti TCP.
TCP è sinonimo di affidabilità: i pacchetti inviati con TCP vengono monitorati in modo che nessun dato venga perso o danneggiato durante il transito. Questo è il motivo per cui i download di file non vengono danneggiati anche in caso di problemi di rete. Ovviamente, se il destinatario è completamente offline, il tuo computer si arrenderà e vedrai un messaggio di errore che dice che non può comunicare con l'host remoto.
TCP ottiene ciò in due modi. In primo luogo, ordina i pacchetti numerandoli. In secondo luogo, verifica gli errori facendo in modo che il destinatario invii una risposta al mittente dicendo che ha ricevuto il messaggio. Se il mittente non riceve una risposta corretta, può inviare nuovamente i pacchetti per assicurarsi che il destinatario li riceva correttamente.
RELAZIONATO: Capire Process Explorer
Process Explorer e altre utilità di sistema possono mostrare il tipo di connessioni effettuate da un processo: qui possiamo vedere il browser Chrome con connessioni TCP aperte a una varietà di server web.
Come funziona UDP
RELAZIONATO: In che modo la latenza può rendere lente anche le connessioni Internet veloci
Il protocollo UDP funziona in modo simile al TCP, ma elimina tutte le cose per il controllo degli errori. Introducono tutte le comunicazioni avanti e indietro latenza , rallentando le cose.
Quando un'app utilizza UDP, i pacchetti vengono semplicemente inviati al destinatario. Il mittente non attende per assicurarsi che il destinatario abbia ricevuto il pacchetto, ma continua a inviare i pacchetti successivi. Se il destinatario perde alcuni pacchetti UDP qua e là, vengono semplicemente persi: il mittente non li rinvierà. Perdere tutto questo overhead 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 tu stia guardando uno streaming video in diretta, che viene spesso trasmesso utilizzando UDP anziché TCP. Il server invia semplicemente un flusso costante di pacchetti UDP ai computer che guardano. Se perdi la connessione per alcuni secondi, il video potrebbe bloccarsi o diventare instabile per un momento e quindi passare alla parte corrente della trasmissione. Se si verifica una piccola perdita 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 perdi alcuni pacchetti UDP, i personaggi dei giocatori potrebbero teletrasportarsi sulla mappa quando ricevi i pacchetti UDP più recenti. Non ha senso richiedere i vecchi pacchetti se li hai persi, poiché il gioco continua senza di te. Tutto ciò che conta è quello che sta accadendo in questo momento sul server di gioco, non quello che è successo pochi secondi fa. Abbandonare la correzione degli errori di TCP aiuta ad accelerare la connessione del gioco e ridurre la latenza.
E allora?
RELAZIONATO: Come utilizzare Wireshark per acquisire, filtrare e ispezionare i pacchetti
Se un'applicazione utilizza TCP o UDP dipende dal suo sviluppatore e la scelta dipende dalle esigenze di un'applicazione. La maggior parte delle app richiede la correzione degli errori e la robustezza del TCP, ma alcune applicazioni richiedono la velocità e il sovraccarico ridotto di UDP. Se spari uno strumento di analisi della rete come Wireshark , Puoi vedere 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 router o il tuo firewall e non sei sicuro che un'applicazione utilizzi TCP o UDP, in genere puoi selezionare l'opzione "Entrambi" per fare in modo che il router o il firewall applichi la stessa regola sia al traffico TCP che UDP.