← Tutte le domande
Qual è la differenza principale tra i protocolli TCP e UDP?
MediaPrincipianteDevOps

Qual è la differenza principale tra i protocolli TCP e UDP?

Risposta breve
TCP è un protocollo affidabile orientato alla connessione che garantisce la consegna, l'ordinazione, e controllo degli errori a scapito delle spese generali. UDP è un semplice protocollo senza connessione senza garanzie di consegna o ordine, ma è più veloce e leggero.

TCP e UDP sono i due principali protocolli del livello di trasporto che vengono eseguiti su IP. La distinzione fondamentale: TCP è orientato alla connessione ed è affidabile, mentre UDP è senza connessione e funziona sulla base del "spara e dimentica".

TCP (RFC 9293)

  • Orientato alla connessione. Prima di inviare i dati, gli endpoint eseguono un handshake a tre vie (3WHS): SYN → SYN-ACK → ACK, sincronizzando i numeri di sequenza iniziali.
  • Affidabile e ordinato. Ogni byte riceve un numero di sequenza; il ricevitore invia conferme (ACK), i segmenti persi vengono ritrasmessi e i dati vengono riassemblati nell'ordine originale. L'integrità viene verificata con un checksum. RFC 9293 afferma che TCP "fornisce un servizio di flusso di byte affidabile, in ordine".
  • Flusso di byte, nessun limite di messaggio. TCP fornisce un flusso di byte non strutturato: i limiti di messaggio non vengono preservati (l'applicazione deve inquadrare i propri messaggi). UDP, al contrario, è orientato ai messaggi: ogni datagramma viene consegnato come un'unità distinta e completa oppure non viene consegnato affatto (un sendto = un recvfrom).
  • Controllo del flusso e della congestione. TCP limita la velocità di invio in modo da non sovraccaricare né il destinatario né la rete.
  • Compromesso: più sovraccarico e latenza e un'intestazione più grande: 20–60 byte (20 senza opzioni, estensibili tramite opzioni come MSS, ridimensionamento delle finestre, SACK).

UDP (RFC 768)

  • Senza connessione. Non è previsto l'handshake; ogni datagramma è indipendente.
  • Nessuna garanzia. La RFC afferma esplicitamente che "la consegna e la protezione dai duplicati non sono garantite" — UDP non recupera i pacchetti persi, duplicati o fuori ordine.
  • Intestazione fissa da 8 byte con solo quattro campi: Porta di origine, Porta di destinazione, Lunghezza, Checksum.
  • Vantaggi: bassa latenza e sovraccarico, oltre al supporto per broadcast/multicast.

Quando usare quale

  • TCP: Web (HTTP/HTTPS su TCP), e-mail, trasferimento file, SSH: ovunque sia importante l'integrità dei dati.
  • UDP: ricerche DNS, giochi online, VoIP, streaming video in diretta: dove la velocità conta più di un singolo pacchetto perso.

Punti comuni di follow-up

  • UDP in sé non ordina i dati, ma un'applicazione può sovrapporre la propria logica (QUIC lo fa su UDP).
  • HTTP/3 viene eseguito su QUIC su UDP, mentre HTTP/1.1 e HTTP/2 vengono eseguiti su TCP.
  • Il checksum UDP è tecnicamente facoltativo su IPv4 (un valore zero significa "non calcolato") ma obbligatorio su IPv6.
RetiTCPUDP

Scarica subito e provalo gratis per le tue attività!

Scarica per Windows
10 15 crediti gratuiti • Nessuna carta di credito richiestaVersione: Caricamento…

Senza installazione - scarica e avvia. Senza registrazione - accedi con Google.