Se ti sei mai chiesto perché lo streaming di Netflix è fluido ma il download di un file grosso sembra strisciare, ti sei già imbattuto nella differenza tra TCP e UDP — solo che non ne conoscevi ancora i nomi. TCP e UDP sono i due principali protocolli di trasporto che stanno sotto quasi tutto quello che fai online: navigazione, gaming, streaming, videochiamate, VPN — tutto quanto.

Vediamoli in parole semplici, con un po' di sapore del mondo reale, e capiamo quando ciascuno conta davvero per te.

TCP vs UDP

Prima di tutto, che diavolo sono TCP e UDP?

Immagina internet come un enorme sistema postale. IP è la parte che sa dove spedire le cose (l'indirizzo), e TCP/UDP sono le regole per come spedirle. Sia TCP (Transmission Control Protocol) sia UDP (User Datagram Protocol) stanno sopra IP e spezzettano i tuoi dati in piccoli pezzi chiamati pacchetti, poi fanno arrivare quei pacchetti attraverso la rete.

Hanno lo stesso lavoro di base — spostare i dati da A a B — ma personalità molto diverse:

  • TCP è il corriere attento e ossessionato dai dettagli: un po' lento, controlla tutto, non perde mai un pacco se può evitarlo.
  • UDP è il tipo “lancialo oltre il muro e spera che atterri”: veloce, non ci pensa troppo, non si volta indietro.

Quella differenza di personalità fondamentale — attento contro spensierato — spiega quasi tutto il resto.

Come funziona TCP: il perfezionista educato e affidabile

How TCP works

TCP è quello che chiamiamo un orientato alla connessione protocollo. Prima che qualsiasi dato utile venga trasmesso, TCP insiste nello stabilire una connessione vera e propria tra il tuo dispositivo e il server usando un handshake a tre vie.

In termini umani, funziona così:

  1. Tu dici: “Ehi, possiamo parlare partendo dal messaggio numero X?” (SYN)
  2. Il server risponde: “Ricevuto. Partiamo dal tuo X; ecco il mio numero di partenza Y.” (SYN‑ACK)
  3. Tu confermi: “Ottimo, ho visto il tuo Y — andiamo.” (ACK)

Una volta finito questo piccolo balletto, la connessione è ufficialmente “attiva” e i dati iniziano a fluire. Ogni blocco di dati viene numerato, controllato e confermato lungo il percorso. Se qualcosa va perso o arriva corrotto, TCP se ne accorge e lo ritrasmette.

Alcune abitudini chiave di TCP:

  • Sequenziamento: Tiene traccia dell'ordine dei pacchetti in modo che i tuoi dati vengano riassemblati esattamente come sono stati inviati — niente righe mescolate di una pagina web o file danneggiati.
  • Controllo degli errori e conferme: Ogni pacchetto viene controllato con meccanismi come i checksum e il destinatario deve dire: «Sì, l'ho ricevuto». Se non arriva alcuna conferma, TCP lo ritrasmette.
  • Ritrasmissione e controllo di flusso: I pacchetti persi vengono ritrasmessi e TCP regola la velocità di invio per non saturare la rete o il destinatario.

Tutto questo rende TCP affidabile: garantisce praticamente che i tuoi dati arrivino, in ordine e intatti — o continuerà a tentare. Il compromesso? Tutto quel handshake, tracciamento e doppio controllo costa tempo e larghezza di banda, quindi TCP è generalmente più lento di UDP, soprattutto su collegamenti instabili o a lunga distanza.

Ecco perché TCP è il protocollo di riferimento per le cose che semplicemente non possono permettersi di sbagliare, come:

  • Navigazione web e traffico HTTPS
  • Download e upload di file
  • Email e messaggistica
  • Amministrazione remota e molte app aziendali

Come funziona UDP: lo sprinter veloce e senza fronzoli

How UDP works

UDP, d'altra parte, è senza connessione. Non c’è handshake, nessun “Sei pronto?” — spari semplicemente i pacchetti a destinazione e speri che vengano ricevuti. Ecco perché UDP è spesso chiamato un protocollo “fire‑and‑forget”: invia e poi va avanti per la sua strada.

Ecco cosa significa in pratica:

  • Nessuna configurazione della connessione: Nessun handshake a tre vie. Meno overhead, meno ritardo. Le app possono iniziare a inviare immediatamente.
  • Nessuna consegna garantita: Se i pacchetti vengono persi, corrotti o arrivano fuori sequenza, UDP non li corregge. Ci sono checksum di base, ma se qualcosa non va, i pacchetti possono semplicemente essere scartati.
  • Nessuna ritrasmissione: Se un pacchetto scompare, è semplicemente perso. UDP non lo ritrasmette. Se un'app ci tiene abbastanza, l'app deve costruire la propria affidabilità sopra.

Sembra terribile, vero? Non proprio — questo atteggiamento da “non fare da babysitter ai dati” è esattamente ciò che vuoi per certi tipi di traffico.

Per usi live o in tempo reale, i dati vecchi sono praticamente spazzatura. Nessuno vuole che un pacchetto vocale di 3 secondi fa arrivi in ritardo in una chiamata. È meglio scartarlo e riprodurre quelli più recenti. Lo stesso vale per i giochi online e le dirette: vuoi “adesso”, non “la cronologia corretta alla perfezione.”

UDP brilla davvero quando:

  • Stai giocando online e hai bisogno di bassa latenza più che di un'affidabilità impeccabile al pixel
  • Stai guardando una diretta streaming o un evento sportivo
  • Sei in una videochiamata o in una chiamata VoIP
  • Stai usando sistemi come DNS che inviano lookup piccoli e frequenti

Inoltre, UDP supporta broadcast e multicast — inviando gli stessi dati a molti destinatari in un colpo solo — il che è fondamentale per alcuni servizi di rete e per gli scenari di streaming/distribuzione. TCP semplicemente non lo fa.

TCP vs UDP: affidabilità, velocità e overhead in parole semplici

Fattore TCP UDP
Tipo di servizio Orientato alla connessione; è necessario stabilire una connessione prima del trasferimento dei dati e chiuderla correttamente in seguito. Senza connessione/orientato ai datagrammi; nessuna fase di setup o teardown, efficiente per broadcast e multicast.
Affidabilità e garanzia di consegna Affidabile; garantisce la consegna dei dati a destinazione o li ritrasmette se necessario. Non affidabile; la consegna non è garantita e i pacchetti persi vengono semplicemente scartati.
Controllo degli errori e acknowledgment Controllo degli errori esteso con acknowledgment e controllo di flusso. Controllo degli errori di base tramite checksum; nessun acknowledgment, nessun controllo di flusso.
Ordinamento / sequenziamento Supporta il sequenziamento; i pacchetti vengono riassemblati nell'ordine corretto prima della consegna all'applicazione. Nessun sequenziamento integrato; se l'ordine è importante, deve gestirlo l'applicazione.
Ritrasmissione dei pacchetti persi Può ritrasmettere i pacchetti persi o danneggiati per garantire la consegna completa dei dati. Nessuna ritrasmissione; una volta perso un pacchetto, è perso.
Velocità e latenza Più lento a causa di handshake, acknowledgment e controllo della congestione/del flusso, ma consegna i dati in modo completo. Più veloce, più semplice e con latenza inferiore perché salta l'impostazione della connessione e i meccanismi di affidabilità.
Dimensione dell'header e overhead Lunghezza dell'header variabile di circa 20−60 byte; overhead più elevato. Header fisso di 8 byte; overhead molto basso.
Supporto broadcast / multicast Nessun supporto per broadcast o multicast; solo comunicazione uno-a-uno. Supporta broadcast e multicast; ideale per inviare gli stessi dati a molti client.
Tipo di stream Stream di byte; presenta i dati come un flusso continuo di byte. Stream di messaggi (datagram); preserva i confini dei messaggi.
Casi d'uso tipici Navigazione web (HTTP/HTTPS), email, trasferimenti di file, amministrazione remota, messaggistica di testo — qualsiasi scenario in cui l'accuratezza conta più della velocità pura. Gaming online, streaming audio/video in diretta, VoIP, DNS, multicasting — scenari in cui la bassa latenza conta più della perfetta affidabilità.
Preferenza VPN (nella pratica) Meglio per l'affidabilità su reti instabili o limitate, e quando vuoi che il traffico VPN si confonda con HTTPS sulla porta 443. Predefinito per molte VPN perché offre maggiore velocità e minore latenza, ideale per streaming e gaming attraverso un tunnel VPN.

Mettiamo a confronto le differenze principali in termini più colloquiali. Sotto il cofano, tutte e tre le fonti dicono essenzialmente la stessa cosa: TCP riguarda l'affidabilità; UDP riguarda la velocità.

Affidabilità e ordinamento

  • TCP: Immaginalo come una consegna tracciata con firma. Tutto è numerato; tutto deve arrivare; il mittente continua a reinviare finché il destinatario non conferma. I pacchetti fuori sequenza vengono riassemblati nell'ordine corretto. O ricevi il tutto, o aspetti.
  • UDP: Più come lanciare cartoline. Alcune possono arrivare, altre no. Possono arrivare fuori sequenza. UDP non riordina, non reinvia e non se ne lamenta.

Velocità e overhead

  • TCP: Ha un header più grande e di lunghezza variabile (circa 20–60 byte), più tutta la logica di controllo extra — handshake, acknowledgment, controllo di flusso. Questo aggiunge overhead e rallenta le cose, soprattutto all'inizio di un trasferimento.
  • UDP: Usa un'intestazione minuscola e fissa di 8 byte e quasi nessuna formalità extra. Meno da inviare, meno da analizzare e meno attese — ideale per un traffico veloce e a bassa latenza.

Garanzie di consegna

  • TCP: “I tuoi dati arriveranno a destinazione, o continuerò a riprovare.” La consegna è garantita (finché la connessione non muore del tutto) e gli errori vengono controllati a fondo.
  • UDP: “L’ho inviato. Se l’hai ricevuto… non è un mio problema.” Alcuni pacchetti possono andare persi, altri possono essere scartati in caso di congestione, e fa parte del gioco.

Broadcast e streaming

  • TCP: Strettamente uno‑a‑uno. Nessun broadcast, nessun multicast.
  • UDP: Può inviare a molti dispositivi contemporaneamente (broadcast/multicast). È ottimo per cose come live stream, conferenze o strumenti di discovery di rete.

Puoi pensarla così: se la tua paura principale è “E se i miei dati fossero sbagliati o incompleti?”, ti affidi a TCP. Se la tua paura principale è “E se la connessione va in ritardo e tutto sembra a scatti?”, ti affidi a UDP.

Esempi dal mondo reale: cosa usa cosa, e perché

Di solito non scegli TCP o UDP manualmente — le tue app e i tuoi servizi lo fanno per te. Ma è utile sapere da che parte della staccionata si trovano le tue attività preferite.

Cose che amano TCP

Tutto ciò che ha bisogno di correttezza più che di velocità tenderà verso TCP:

  • Navigazione web (HTTP/HTTPS): Il browser si aspetta che HTML, CSS, JS e immagini della pagina arrivino per intero e in ordine. Noteresti subito i pezzi mancanti.
  • Email e messaggistica: Perdere o mescolare parti di un messaggio è inaccettabile. TCP si assicura che il contenuto sia corretto prima che il client lo mostri.
  • Trasferimenti di file (FTP, SFTP, sincronizzazione cloud, aggiornamenti software): Un file corrotto è peggio di un download lento. Le ritrasmissioni e i controlli di TCP assicurano che tu riceva esattamente ciò che è stato inviato.
  • Strumenti di amministrazione e shell sicure (come SSH): I comandi devono arrivare in modo accurato e in ordine; qualsiasi corruzione potrebbe essere pericolosa.

Cose che amano UDP

Quando la tempestività batte la perfezione, UDP è la scelta naturale:

  • Giochi online: Ti interessa lo stato in tempo reale (dove si trovano i giocatori ora), non una riproduzione perfettamente accurata del passato. Qualche pacchetto mancante è meglio dei picchi di latenza.
  • Streaming video e audio in diretta: È meglio saltare un fotogramma che mettere in pausa l'intero video per correggerlo. UDP mantiene il flusso in movimento (spesso combinato con una logica di livello superiore per la qualità).
  • VoIP e videochiamate: L'audio vecchio è inutile; è meglio un glitch occasionale che ritardi di mezzo secondo.
  • DNS: Richieste minuscole, lookup frequenti — è più veloce e più semplice inviare/ricevere senza tutta la cerimonia del TCP.

TCP, UDP e VPN: perché la tua VPN spesso “sembra” diversa

Il terzo set di materiali si concentra sulle VPN, ed è qui che conoscere TCP vs UDP cambia davvero le tue impostazioni. Molti protocolli VPN (come OpenVPN e WireGuard) possono funzionare su TCP o UDP.

Perché le VPN di solito usano UDP per impostazione predefinita

La maggior parte delle app VPN usa per impostazione predefinita UDP per un motivo semplice: è più veloce e ha una latenza inferiore. Quando stai tunnelizzando tutto il tuo traffico attraverso una VPN, quella velocità extra conta per lo streaming e il gaming.

  • OpenVPN usa comunemente UDP sulla porta 1194 per impostazione predefinita perché offre prestazioni migliori; è supportato anche TCP, spesso sulla porta 443.
  • WireGuard è progettato intorno a UDP, ma alcuni provider (come Proton VPN) hanno aggiunto il supporto per eseguirlo su TCP in ambienti di censura più ostili.

Quindi, se stai facendo streaming di Netflix, giocando o effettuando videochiamate tramite una VPN, UDP è di solito la scelta migliore: meno overhead, ping più basso, esperienza più fluida.

Quando potresti voler usare TCP con una VPN

TCP su VPN ha senso in alcune situazioni:

  • Reti instabili o limitate: Se i pacchetti UDP continuano a essere scartati o bloccati — ad esempio su una Wi‑Fi del campus o in un paese fortemente censurato — passare la VPN a TCP (spesso sulla porta 443) può farla sembrare traffico HTTPS normale, più difficile da bloccare senza interrompere il web.
  • Affidabilità rispetto alla velocità: Quando stai inviando file, gestendo dati sensibili o semplicemente navigando e non ti interessa risparmiare millisecondi sul ping, TCP ti offre garanzie più solide che i pacchetti verranno consegnati o ritrasmessi.

Alcuni client VPN hanno persino selezione intelligente del protocollo che proverà prima UDP e, se fallisce a causa di blocchi o instabilità, passerà automaticamente a TCP — senza bisogno di interventi manuali.

Quindi quale è “meglio”: TCP o UDP?

Quella domanda “quale è meglio?” torna spesso, ma onestamente è il modo sbagliato di vederla. Ogni protocollo è bravo in qualcosa di molto diverso.

Una regola pratica da tenere a mente:

  • Se i tuoi dati devono essere completi e corretti — pensa a file, email, operazioni bancarie, pagine web — TCP è tuo amico.
  • Se i tuoi dati devono essere veloci e freschi, e va bene perderne un po’ — pensa a giochi, chiamate, video in diretta — UDP è tuo amico.

In altre parole:

  • TCP: “Fallo bene, anche se è più lento.”
  • UDP: “Fallo ora, anche se non è perfetto.”

Non sono tanto rivali quanto strumenti nella stessa cassetta degli attrezzi. Le tue app scelgono in silenzio il protocollo adatto al compito.

Mettendo tutto insieme

Ecco la conclusione pratica:

  • Di solito non serve scegliere manualmente tra TCP e UDP; le app e i servizi lo fanno già a seconda che gli interessi di più l’affidabilità o la latenza.
  • Il posto principale in cui effettivamente vedrai questa scelta è nelle impostazioni VPN, dove puoi provare prima UDP (per la velocità) e, se necessario, ripiegare su TCP (per l’affidabilità o per aggirare la censura).
  • Capire il compromesso — TCP lento‑ma‑sicuro vs UDP veloce‑ma‑fragile — aiuta a spiegare molte esperienze quotidiane: streaming a scatti, giochi con lag, o perché i download non si limitano a “saltare i pezzi rotti”.

Una volta che vedi il traffico internet come questo costante tiro alla fune tra “perfetto” and “subito,” TCP e UDP smettono di essere acronimi spaventosi e iniziano a sembrare esattamente ciò che sono: due modi molto diversi e molto utili di spostare i tuoi dati in giro per il mondo.