Protocollo UDP: cos’è, come funziona e quando utilizzarlo

Il User Datagram Protocol (UDP) è uno dei principali protocolli di comunicazione utilizzati nella suite di protocolli Internet. Insieme a TCP (Transmission Control Protocol), fa parte del livello di trasporto del modello TCP/IP. A differenza del suo “fratello maggiore” TCP, UDP è un protocollo non orientato alla connessione, senza controllo di errore e senza garanzie di consegna. Ma proprio per queste caratteristiche, è estremamente veloce ed efficiente in molti scenari.

Caratteristiche Principali di UDP

  1. Non orientato alla connessione
    UDP non stabilisce una connessione diretta tra mittente e destinatario prima di inviare i dati. Questo riduce drasticamente l’overhead e i tempi di latenza.
  2. Senza affidabilità
    UDP non garantisce che i pacchetti arrivino a destinazione, né si preoccupa di riordinare i pacchetti ricevuti o di ritrasmettere quelli persi.
  3. Semplicità
    La struttura dei pacchetti UDP è molto più semplice rispetto a TCP. Questo lo rende leggero e adatto per applicazioni che possono tollerare perdite di dati.
  4. Velocità
    L’assenza di meccanismi di controllo e ritrasmissione rende UDP molto più veloce di TCP. È particolarmente utile per applicazioni in tempo reale.

Struttura di un Datagramma UDP

Un datagramma UDP è costituito da una struttura semplice, composta da:

Campo Lunghezza (bit) Descrizione
Porta sorgente 16 Identifica l’applicazione mittente
Porta destinazione 16 Identifica l’applicazione destinataria
Lunghezza 16 Dimensione totale del datagramma (header + dati)
Checksum 16 Per il controllo degli errori (opzionale)
Dati Variabile Contenuto del messaggio

Come Funziona UDP

Il funzionamento di UDP è piuttosto diretto:

  1. L’applicazione crea un messaggio e lo invia al livello di trasporto.
  2. UDP incapsula il messaggio in un datagramma e lo invia al livello di rete (IP).
  3. Il datagramma viene inoltrato fino alla macchina destinataria, dove viene letto e consegnato all’applicazione finale, sulla porta specificata.

Nessun meccanismo di conferma, nessun handshake, nessun riordino. È un processo “fire and forget”.

Quando Utilizzare UDP

UDP è la scelta ideale per applicazioni che richiedono bassa latenza e che possono tollerare una certa perdita di pacchetti. Ecco alcuni esempi:

  • Streaming audio e video (YouTube, Netflix, Twitch)
  • Chiamate VoIP (Skype, Zoom, WhatsApp)
  • Videogiochi online (soprattutto multiplayer in tempo reale)
  • DNS (Domain Name System)
  • Broadcast e multicast in rete locale

Differenze tra UDP e TCP

Caratteristica UDP TCP
Connessione No
Affidabilità No
Ordinamento dati No
Controllo di flusso No
Overhead Basso Alto
Velocità Alta Minore

Sicurezza e UDP

Essendo privo di meccanismi di controllo, UDP è anche più vulnerabile ad attacchi come:

  • IP spoofing
  • Attacchi DDoS tramite amplificazione (es. attacchi DNS o NTP)
  • Flooding di pacchetti

Per mitigare questi rischi, spesso si utilizzano tecniche a livello di applicazione o firewall specifici.

di Angela

Related Post

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *