TCP garantisce la consegna. L'UDP no.
Questa è la differenza fondamentale. Tutto il resto scaturisce da questo.
TCP (protocollo di controllo della trasmissione)
Garantisce che ogni pacchetto arrivi in ordine e intatto. Se un pacchetto viene perso, TCP lo invia nuovamente. Come la posta certificata con tracciabilità.
Come funziona:
- Stabilisce la connessione prima di inviare i dati
- Conferma che ciascun pacchetto è stato ricevuto
- Reinvia i pacchetti persi
- Consegna i pacchetti nell'ordine corretto
Svantaggio: Più lento. Tutto ciò che controlla e invia di nuovo aggiunge un sovraccarico.
Utilizzato da:
- Navigazione web (HTTP/HTTPS)
- E-mail (SMTP, IMAP)
- Trasferimenti di file (FTP)
- Accesso SSH/remoto
- Qualsiasi situazione in cui la precisione conta più della velocità
UDP (protocollo datagramma utente)
Invia pacchetti senza conferma. Spara e dimentica. Come la posta ordinaria senza tracciamento.
Come funziona:
- Nessuna configurazione di connessione
- Invia i pacchetti immediatamente
- Non controlla se sono arrivati
- Non garantisce l'ordine
Verso: Molto più veloce. Nessun sovraccarico derivante dai riconoscimenti.
Utilizzato da:
- Giochi online (azione in tempo reale)
- Streaming video (Netflix, YouTube)
- Chiamate VoIP (Zoom, Discord)
- Ricerche DNS
- Qualsiasi situazione in cui la velocità conta più della perfezione
Perché i giochi utilizzano UDP
In una partita multiplayer, se un pacchetto contenente la tua posizione all'ora 1:23:45 viene perso, non ha senso inviarlo nuovamente. Quando arriva, è obsoleto. Sei già in una nuova posizione.
Meglio inviare semplicemente il prossimo aggiornamento della posizione e continuare a muoversi. Mancare un fotogramma va bene. L'attesa della ritrasmissione causerebbe un ritardo.
Perché la navigazione Web utilizza TCP
Il caricamento di una pagina web richiede che ogni pezzo (HTML, CSS, immagini) arrivi intatto. Un pacchetto mancante potrebbe interrompere l'intero layout della pagina.
La velocità è meno importante della precisione. Preferiresti aspettare 0,2 secondi in più piuttosto che vedere una pagina rotta.
Qual è il migliore?
Nessuno dei due. Risolvono diversi problemi.
Utilizza TCP quando: I dati devono essere completi e accurati (download, messaggi, transazioni finanziarie).
Utilizza UDP quando: La velocità e le prestazioni in tempo reale contano più della consegna perfetta (giochi, video live, chiamate vocali).
Hai bisogno di scegliere?
Di solito non. Le applicazioni utilizzano automaticamente il protocollo appropriato. Il tuo browser utilizza TCP, il tuo gioco utilizza UDP, la tua videochiamata utilizza UDP.
Ti interessa solo quando:
- Configurazione di un firewall (è necessario consentire porte specifiche per TCP o UDP)
- Port forwarding per i giochi (solitamente UDP)
- Risoluzione dei problemi relativi alla VPN o alla connessione
- Configurazione di server o applicazioni di rete
Conclusione
TCP è affidabile ma più lento (verifica la consegna). UDP è veloce ma inaffidabile (nessuna verifica).
Le applicazioni scelgono in base alle loro esigenze. Le pagine Web necessitano di precisione (TCP). I videogiochi hanno bisogno di velocità (UDP).
Non è necessario scegliere. Il software lo gestisce automaticamente.