Siamo indipendenti ma possiamo ricevere commissioni se acquisti una VPN tramite certi link.

UDP vs. TCP: qual è la differenza?

JP Jones - CTO di Top10VPN

JP Jones è il nostro CTO. Ha oltre 25 anni di esperienza nei campi di progettazione software e networking e supervisiona tutti gli aspetti tecnici del nostro processo di test delle VPN.

Il nostro verdetto

UDP è più veloce e più efficiente di TCP perché utilizza meno dati per completare le stesse operazioni. Tuttavia, il TCP tiene traccia di tutti i pacchetti di dati e garantisce che vengano consegnati nell'ordine corretto, il che lo rende più sicuro e affidabile. Se stai utilizzando il protocollo OpenVPN, ti consigliamo di provare prima l'UDP e di passare al TCP se non funziona.

The differences between UDP and TCP

UDP (User Datagram Protocol) e TCP (Transmission Control Protocol) sono due diversi tipi di protocollo di comunicazione utilizzati per inviare informazioni su Internet.

Nel software VPN, il protocollo OpenVPN deve utilizzare UDP o TCP per inviare i dati tra il tuo dispositivo e il server VPN. Qual è la differenza tra i due e qual è il migliore per la tua connessione VPN?

Sommario: le principali differenze tra UDP e TCP

  • Il TCP deve stabilire una connessione tra il mittente e il destinatario per trasmettere i dati, mentre l’UDP trasmette i pacchetti a un altro dispositivo senza dover stabilire un canale o chiedere se il destinatario è pronto.
  • L’UDP è più veloce di TCP perché non ordina né controlla i pacchetti di dati.
  • Il TCP è più affidabile di UDP. Fornisce un controllo degli errori e garantisce che i pacchetti di dati siano consegnati all’applicazione comunicante nell’ordine corretto.
  • Il TCP è leggermente più sicuro dell’UDP. È più difficile inserire dati dannosi perché il TCP tiene traccia di tutti i pacchetti di dati.

Questa guida definirà cosa sono UDP e TCP, spiegherà le differenze tra i due protocolli e chiarirà quale è meglio utilizzare per la tua connessione VPN, tra cui lo streaming, i videogiochi, la navigazione web e altro ancora.

Quali sono le differenze tra UDP e TCP?

Sebbene TCP e UDP siano entrambe forme di protocollo di comunicazione, funzionano in modo diverso.

Usa la tabella seguente per confrontare le principali differenze tra UDP e TCP:

UDP TCP
Come funziona Non stabilisce una connessione Stabilisce una connessione
Velocità Più veloce Più lento
Affidabilità Più bassa Più alta
Reinvia i pacchetti persi? No
Assicura che i pacchetti arrivino nel giusto ordine? No
Controllo del flusso No – i pacchetti di dati possono essere abbandonati (persi) se il ricevitore è sovraccarico. – il ricevitore dice al mittente quanto spazio ha nel suo buffer per ricevere i pacchetti. Il TCP trattiene i pacchetti finché non c’è spazio.
Utilizzo dei dati Più basso Più alto
Per quale applicazione viene utilizzato all’interno del tunnel VPN?
(È comunque possibile utilizzare TCP o UDP per il tunnel VPN).
  • Domain Name System (DNS)
  • Videogiochi online 
  • Streaming di video
  • Voice over IP (VoIP)
  • Dispositivi Internet of Things (ad esempio, sensori che inviano sporadicamente dati a casa)
  • Domain Name System (DNS)
  • Navigazione web (HTTP, HTTPS)
  • E-mail (SMTP, IMAP/POP)
  • Download/upload (FTP)
  • Accesso remoto al computer tramite la Secure Shell (SSH)
Adatto alle applicazioni in tempo reale? No

Le differenze principali tra UDP e TCP.

UDP è più veloce di TCP

Abbiamo testato ExpressVPN e NordVPN, le due VPN con la valutazione più alta del 2023, per vedere come si confrontano le loro velocità quando si utilizza il protocollo OpenVPN con UDP e TCP.

Per ogni tipo di VPN e OpenVPN, ci siamo collegati dalla nostra sede centrale negli Stati Uniti a un server negli Stati Uniti, nel Regno Unito e in Australia e abbiamo misurato la velocità di download. Ecco i risultati:

ExpressVPN (Mbps) NordVPN (Mbps)
Paese UDP TCP Perdita in % UDP TCP Perdita in %
UK 93.74 91.09 3 92.48 93.66 0
USA 61.6 47.11 23.5 85.49 16 81
AUS 75.03 46.68 38 67.28 4.34 93.5

Dati di test di velocità che confrontano UDP e TCP su connessioni internazionali.

Come mostrano questi dati, l’UDP è solitamente più veloce del TCP e la differenza aumenta con l’aumentare della distanza dal server. Ciò è dovuto al fatto che il TCP consegna i pacchetti di dati in un flusso ordinato e controllato dagli errori, mentre qualsiasi dato errato o mancante deve essere richiesto nuovamente al computer mittente, con conseguenti ritardi.

Inoltre, un pacchetto UDP contiene più carico utile rispetto a un pacchetto TCP (a causa della sua intestazione più piccola), più dati possono essere inseriti in un determinato tubo di connessione di rete (ad esempio 100Mbs) e quindi si ottiene un aumento della portata.

Per questo motivo, UDP viene spesso utilizzato rispetto a TCP per attività come lo streaming o i videogiochi.

Utilizzando il TCP, le comunicazioni avanti e indietro tra il mittente e il destinatario fanno sì che ogni messaggio debba viaggiare di più e la velocità media della VPN diminuisce.

Utilizzando ExpressVPN, la connessione UDP è stata del 24% più veloce dagli Stati Uniti al Regno Unito e del 37% più veloce in Australia.

La differenza era ancora più evidente utilizzando NordVPN. Abbiamo perso l’81% della nostra velocità di download collegandoci al Regno Unito utilizzando il TCP e il 94% collegandoci all’Australia. Tuttavia, abbiamo riscontrato che il TCP era marginalmente più veloce dell’UDP quando ci si connetteva a un server NordVPN dello stesso paese.

TCP consuma più dati di UDP

Il TCP utilizza più dati rispetto all’UDP perché include più informazioni nell’intestazione di ogni pacchetto di dati. Questo rende il TCP più affidabile, ma meno efficiente dell’UDP.

Ogni pacchetto di dati inviato su internet ha un’intestazione, che è come scrivere l’indirizzo su una busta. Contiene le informazioni necessarie per far arrivare i dati nel posto giusto e tutte le informazioni aggiuntive necessarie per il protocollo.

Sia UDP che TCP riportano nell’intestazione le porte di origine e di destinazione dei dati, la lunghezza del pacchetto dati e il Checksum. Tuttavia, il protocollo TCP include anche informazioni aggiuntive per garantire una consegna corretta.

CONSIGLIO DEGLI ESPERTI: il checksum è un calcolo che viene eseguito sui dati due volte: prima dell’invio e dopo la ricezione. Se il risultato è diverso alla ricezione, significa che i dati sono stati corrotti durante il trasporto.

Ecco come si confrontano le intestazioni di UDP e TCP:

UDP TCP
Dimensione dell’intestazione 8 byte Più di 20 byte
Contenuto dell’intestazione (sia UDP che TCP)
  • Porta di origine
  • Porta di destinazione
  • Lunghezza
  • Checksum
  • Porta di origine
  • Porta di destinazione
  • Lunghezza
  • Checksum
Contenuto dell’intestazione (solo TCP) Nessun dato di intestazione aggiuntivo
  • Numero di sequenza
  • Numero di riconoscimento
  • Flag TCP (ad esempio, flag di sincronizzazione e di riconoscimento utilizzati per stabilire una connessione).
  • Finestra (la dimensione del Buffer di ricezione, in modo che il mittente non invii troppi dati)
  • Urgent Pointer
  • Opzioni TCP opzionali (ad es. Timestamp)

Dati che confrontano la differenza tra le intestazioni UDP e TCP.

Come mostra questa tabella, rispetto all’UDP, il TCP utilizza più dati per gestire i trasferimenti di dati quando si inviano informazioni su internet.

Il TCP comporta anche un maggior numero di comunicazioni tra il mittente e il destinatario. Questo perché il destinatario fa un ACK (conferma) di ogni pacchetto ricevuto con il TCP e i pacchetti persi vengono reinviati. Di conseguenza, il TCP utilizza più dati rispetto all’UDP.

Nella nostra analisi dell’utilizzo dei dati con la VPN, abbiamo misurato la quantità di dati extra utilizzati da una VPN che utilizza TCP rispetto a UDP. Ecco un sommario dei risultati:

OpenVPN con UDP OpenVPN con TCP
Aumento dei dati rispetto al non utilizzo di una VPN 17,23% 19,96%

Risultati del test di utilizzo dei dati che confrontano la quantità di dati utilizzati da UDP e TCP.

Se hai un piano dati per dispositivi mobili che prevede il pagamento per gigabyte utilizzati o un tetto massimo di dati, userai più velocemente la tua quota se utilizzi il TCP.

TCP è leggermente più sicuro di UDP

Né UDP né TCP sono progettati per la sicurezza. Vengono utilizzati per inviare pacchetti di dati su Internet, che possono essere o meno crittografati. Di solito sono altri protocolli o applicazioni incentrate sulle comunicazioni a occuparsi della sicurezza.

Poiché i pacchetti sono sequenziati e riconosciuti nel TCP, è più difficile per un hacker iniettare dati dannosi rispetto all’UDP.

In termini pratici, nessuno dei due protocolli presenta problemi di sicurezza quando viene utilizzato con una VPN. Sia il TCP che l’UDP supportano le funzioni di sicurezza e privacy utilizzate per proteggerti.

In che modo le VPN utilizzano UDP e TCP?

OpenVPN è un protocollo VPN open source utilizzato nella maggior parte delle VPN sicure. In molti casi, gli utenti possono scegliere tra OpenVPN UDP e OpenVPN TCP. In questa sezione spiegheremo come questa scelta influisce sulle funzionalità della VPN.

Impostazioni del protocollo di NordVPN.

Le funzioni UDP e TCP di NordVPN si trovano nel menu del protocollo.

Innanzitutto, immagina di navigare su una pagina web senza una VPN. La connessione tra il tuo dispositivo e il server web utilizzerà il TCP perché è più affidabile dell’UDP. Ecco come funziona:

Diagramma del traffico TCP

Come viene instradato il traffico TCP attraverso Internet senza una VPN.

Quando inizi a utilizzare una VPN, le nuove comunicazioni vengono avvolte in un tunnel OpenVPN tra il tuo dispositivo e il server VPN. Il tunnel si collega tra il tuo dispositivo e il server VPN e può utilizzare UDP o TCP.

Diagramma del tunnel OpenVPN UDP o TCP

Come OpenVPN UDP o TCP avvolge il traffico TCP.

Quando modifichi le impostazioni della tua VPN, decidi quale Wrapper utilizzare. Quale protocollo è meglio utilizzare?

UDP vs TCP: qual è il migliore?

SOMMARIO: se la tua VPN ti offre la possibilità di scegliere tra UDP e TCP, prova prima l’UDP. UDP è più veloce di TCP e puoi comunque utilizzare TCP per attività come la navigazione web all’interno del tunnel VPN UDP. L’uso del TCP con la tua VPN può essere utile se l’UDP è bloccato da un Firewall o se hai una connessione inaffidabile.

Il protocollo di comunicazione migliore dipende dal motivo per cui stai utilizzando una VPN. In questa sezione ti spiegheremo se UDP o TCP sono migliori per lo streaming, la navigazione in generale, l’aggiramento della censura e l’uso generale della VPN.

Connessioni VPN normali

L’utilizzo di OpenVPN con UDP è una scelta migliore per quasi tutte le connessioni VPN generali. Questo perché UDP è più veloce di TCP e utilizza meno dati.

Le applicazioni continueranno a utilizzare il TCP per la loro connessione all’interno del tunnel VPN UDP, il che significa che tutti i servizi che richiedono la consegna garantita dei pacchetti TCP potranno continuare a usufruirne.

Streaming e videogiochi

I videogiochi e lo streaming utilizzano normalmente connessioni UDP. Questo perché è meglio saltare una piccola parte dello streaming piuttosto che subire un ritardo nel tentativo di recuperarla.

Per questo motivo, ti consigliamo di scegliere UDP se utilizzi una VPN per lo streaming o per giocare ai videogiochi.

Se utilizzi OpenVPN TCP, la VPN potrebbe tentare di recuperare inutilmente i pacchetti di dati persi. Se aspetti che i pacchetti persi vengano reinviati, una partita o uno streaming in diretta saranno già andati avanti quando il tuo schermo verrà aggiornato.

CONSIGLIO DEGLI ESPERTI: Netflix e Amazon Prime utilizzano il protocollo TCP perché è più facile monitorare l’utilizzo della larghezza di banda. Tutta la larghezza di banda disponibile tra il server e il destinatario può essere utilizzata, consentendo un invio più rapido dei pacchetti di dati. Inoltre, possono modificare la qualità del video di conseguenza, migliorando l’esperienza dell’utente.

E-mail e navigazione web

Ti consigliamo di utilizzare OpenVPN UDP quando svolgi attività come l’invio di e-mail e la navigazione web.

Diagramma del tunnel UDP OpenVPN

Come funziona OpenVPN UDP con il traffico TCP.

Un’idea sbagliata comune è quella di utilizzare un tunnel VPN basato su TCP per le applicazioni che necessitano di maggiore affidabilità. Non è necessario e spesso non è una buona idea. La connessione interna ha ancora il TCP se ne ha bisogno – il tunnel VPN non ha bisogno di aggiungere un altro livello.

Se avvolgi un tunnel VPN TCP attorno a una connessione TCP, corri il rischio di “TCP Meltdown”. Questo accade quando entrambi i livelli del TCP cercano di compensare i pacchetti persi. Si verifica perché i livelli TCP interno ed esterno hanno timer indipendenti utilizzati per decidere quando un pacchetto viene perso.

Aggirare i Firewall e la censura

Se devi eludere la censura o aggirare un Firewall, scegli TCP per OpenVPN.

Utilizzando il TCP sulla porta 4433, il traffico VPN ha lo stesso aspetto del traffico web crittografato HTTPS. Bloccare la porta TCP 443 significherebbe bloccare tutti i siti web di e-commerce, quindi questo traffico è solitamente consentito attraverso i Firewall.

Alcune VPN supportano anche la porta TCP 80, utilizzata per il traffico web non crittografato, che passa senza problemi attraverso i Firewall.

Alcuni studenti hanno riferito che usando OpenVPN con TCP sono riusciti a superare i Firewall del campus, mentre con UDP no.

Il TCP può funzionare anche nei paesi in cui le VPN sono ufficialmente bloccate, ma sappi che il tuo traffico VPN potrebbe comunque essere identificato grazie alla Deep Packet Inspection. Il TCP da solo non ti proteggerà se l’uso della VPN non è legale o sicuro nel tuo paese.

Prova sempre prima l’UDP per OpenVPN. È più veloce e le tue applicazioni possono comunque avere il TCP nel tunnel interno se ne hanno bisogno, per garantire l’affidabilità.

OpenVPN Inc. – l’azienda che crea il software VPN basato sul protocollo OpenVPN – afferma che:

“Il protocollo OpenVPN funziona al meglio con il protocollo UDP. E per impostazione predefinita, le connessioni… sono preprogrammate per provare sempre prima l’UDP e, se questo fallisce, provare il TCP.”

Detto questo, se la tua VPN non funziona con UDP a causa di problemi di rete, potresti notare che usare OpenVPN con TCP risolve il problema. Il TCP è stato progettato per compensare le connessioni di rete inaffidabili.

Che cos'è il TCP?

Il protocollo TCP crea una connessione tra due dispositivi, come il computer e un server Web. I dati vengono inviati attraverso questa connessione. È come una telefonata in cui i due dispositivi si parlano per verificare se le informazioni sono state ricevute correttamente.

Quando si utilizza il TCP:

  • La ricezione di tutti i pacchetti è garantita. Se il destinatario non conferma di aver ricevuto un pacchetto, il mittente lo invia di nuovo.
  • I pacchetti sono sequenziati per garantire che arrivino al destinatario nello stesso ordine in cui sono stati inviati.
  • I pacchetti non vengono inviati se il destinatario non è pronto a riceverli.

CONSIGLIO DEGLI ESPERTI: ti sarà capitato di vedere TCP/IP. IP sta per Internet Protocol ed è il modo in cui il TCP trova l’indirizzo IP a cui inviare i dati. Non è possibile utilizzare il TCP senza IP, quindi per i nostri scopi, TCP/IP e TCP sono la stessa cosa.

Che cos'è l'UDP?

A differenza di TCP, UDP è un protocollo senza connessione. I dati vengono inviati, ma non esiste un meccanismo di feedback per confermare che siano stati ricevuti correttamente. UDP è più simile all’invio di un messaggio postale: lo si mette nella cassetta della posta e ci si dimentica di esso.

Quando si utilizza l’UDP:

  • I pacchetti di dati possono essere persi durante il transito e il mittente non se ne accorge.
  • I pacchetti inviati a un ricevitore sovraccarico vengono abbandonati (persi) e non possono essere recuperati.
  • Non esiste un meccanismo di recupero incorporato in UDP per i dati persi o corrotti, ma le applicazioni che utilizzano UDP possono includere i propri meccanismi di recupero.

Poiché non deve stabilire e mantenere una connessione, l’UDP è più veloce del TCP. È ideale per le applicazioni molto sensibili alla latenza, come le videoconferenze e i videogiochi online.

Un pacchetto occasionalmente perso potrebbe causare un malfunzionamento, ma è sempre meglio del ritardo che si verificherebbe quando il TCP reinvia il pacchetto.

Il Domain Name System (DNS) può utilizzare UDP e TCP. Sebbene utilizzi sempre più spesso il TCP a causa dell’aumento dei pacchetti di Query, l’UDP è il protocollo predefinito per garantire la massima velocità.