Protocollo datagramma utente (UDP) è un protocollo di livello di trasporto. UDP è una parte della suite di protocolli Internet, denominata suite UDP/IP. A differenza del TCP, è un file protocollo inaffidabile e senza connessione. Pertanto non è necessario stabilire una connessione prima del trasferimento dei dati. L'UDP aiuta a stabilire connessioni a bassa latenza e con tolleranza alle perdite sulla rete. L'UDP consente la comunicazione da processo a processo.
Cos'è il protocollo User Datagram?
Sebbene il protocollo TCP (Transmission Control Protocol) sia il protocollo del livello di trasporto dominante utilizzato con la maggior parte dei servizi Internet; fornisce consegna garantita, affidabilità e molto altro ancora, ma tutti questi servizi ci costano costi aggiuntivi e latenza. Qui entra in gioco l’UDP. Per servizi in tempo reale come giochi per computer, comunicazioni vocali o video e conferenze dal vivo; abbiamo bisogno dell'UDP. Poiché sono necessarie prestazioni elevate, UDP consente di eliminare i pacchetti invece di elaborare pacchetti ritardati. Non esiste alcun controllo degli errori in UDP, quindi consente anche di risparmiare larghezza di banda.
Intestazione UDP
L'intestazione UDP è un file 8 byte header fisso e semplice, mentre per TCP può variare da 20 byte a 60 byte. I primi 8 byte contengono tutte le informazioni di intestazione necessarie e la parte rimanente è costituita da dati. I campi del numero di porta UDP sono lunghi ciascuno 16 bit, pertanto l'intervallo per i numeri di porta è definito da 0 a 65535; la porta numero 0 è riservata. I numeri di porta aiutano a distinguere le diverse richieste o processi degli utenti.
Intestazione UDP
- Porta di origine: Source Port è un campo lungo 2 byte utilizzato per identificare il numero di porta della sorgente.
- Porto di destinazione: È un campo lungo 2 Byte, utilizzato per identificare la porta del pacchetto destinato.
- Lunghezza: Lunghezza è la lunghezza dell'UDP inclusa l'intestazione e i dati. È un campo a 16 bit.
- Somma di controllo: Il checksum è un campo lungo 2 byte. È il complemento a 16 bit della somma del complemento a uno dell'intestazione UDP, la pseudo-intestazione delle informazioni dall'intestazione IP e i dati, riempiti con zero ottetti alla fine (se necessario) per creare un multiplo di due ottetti.
Appunti - A differenza del TCP, il calcolo del checksum non è obbligatorio in UDP. UDP non fornisce alcun controllo degli errori o controllo del flusso. Pertanto UDP dipende da IP e ICMP per la segnalazione degli errori. Inoltre UDP fornisce i numeri di porta in modo da poter distinguere tra le richieste degli utenti.
Applicazioni dell'UDP
- Utilizzato per semplici comunicazioni di richiesta-risposta quando la dimensione dei dati è inferiore e quindi vi è una minore preoccupazione sul flusso e sul controllo degli errori.
- È un protocollo adatto per il multicasting poiché UDP supporta la commutazione di pacchetto.
- UDP viene utilizzato per alcuni protocolli di aggiornamento del routing come RIP (Routing Information Protocol).
- Normalmente utilizzato per applicazioni in tempo reale che non possono tollerare ritardi irregolari tra le sezioni di un messaggio ricevuto.
- UDP è ampiamente utilizzato nei giochi online, dove la bassa latenza e la comunicazione ad alta velocità sono essenziali per una buona esperienza di gioco. I server di gioco spesso inviano pacchetti di dati piccoli e frequenti ai client e UDP è particolarmente adatto per questo tipo di comunicazione poiché è veloce e leggero.
- Le applicazioni multimediali in streaming, come IPTV, radio online e videoconferenze, utilizzano UDP per trasmettere dati audio e video in tempo reale. In queste applicazioni la perdita di alcuni pacchetti può essere tollerata poiché i dati fluiscono continuamente e non richiedono ritrasmissione.
- I servizi VoIP (Voice over Internet Protocol), come Skype e WhatsApp, utilizzano UDP per la comunicazione vocale in tempo reale. Il ritardo nella comunicazione vocale può essere evidente se i pacchetti vengono ritardati a causa del controllo della congestione, quindi viene utilizzato UDP per garantire una trasmissione dei dati rapida ed efficiente.
- Anche il DNS (Domain Name System) utilizza UDP per i messaggi di query/risposta. Le query DNS sono in genere piccole e richiedono tempi di risposta rapidi, rendendo UDP un protocollo adatto per questa applicazione.
- DHCP (Dynamic Host Configuration Protocol) utilizza UDP per assegnare dinamicamente gli indirizzi IP ai dispositivi su una rete. I messaggi DHCP sono in genere piccoli e il ritardo causato dalla perdita o dalla ritrasmissione dei pacchetti non è generalmente critico per questa applicazione.
- Le seguenti implementazioni utilizzano UDP come protocollo del livello di trasporto:
- NTP (protocollo temporale di rete)
- DNS (servizio dei nomi di dominio)
- BOOTP, DHCP.
- NNP (protocollo di notizie di rete)
- Citazione del protocollo del giorno
- TFTP, RTSP, RIP.
- Il livello dell'applicazione può eseguire alcune attività tramite UDP-
- Traccia percorso
- Registra percorso
- Timestamp
- UDP prende un datagramma dal livello di rete, allega la sua intestazione e lo invia all'utente. Quindi funziona velocemente.
- In realtà, UDP è un protocollo nullo se rimuovi il campo checksum.
- Ridurre il fabbisogno di risorse informatiche.
- Quando si utilizza Multicast o Broadcast per il trasferimento.
- La trasmissione di pacchetti in tempo reale, principalmente in applicazioni multimediali.
Vantaggi dell'UDP
- Velocità: UDP è più veloce di TCP perché non ha il sovraccarico di stabilire una connessione e garantire una consegna affidabile dei dati.
- Latenza inferiore: poiché non viene stabilita alcuna connessione, la latenza è inferiore e i tempi di risposta sono più rapidi.
- Semplicità: UDP ha un design del protocollo più semplice rispetto a TCP, che ne facilita l'implementazione e la gestione.
- Supporto per la trasmissione: UDP supporta la trasmissione a più destinatari, rendendolo utile per applicazioni come streaming video e giochi online.
- Dimensioni del pacchetto più piccole: UDP utilizza pacchetti di dimensioni inferiori rispetto a TCP, che può ridurre la congestione della rete e migliorare le prestazioni complessive della rete.
- L'UDP (User Datagram Protocol) è più efficiente sia in termini di latenza che di larghezza di banda.
Svantaggi dell'UDP
- Nessuna affidabilità: UDP non garantisce la consegna dei pacchetti o dell'ordine di consegna, il che può portare a dati mancanti o duplicati.
- Nessun controllo della congestione: UDP non dispone del controllo della congestione, il che significa che può inviare pacchetti a una velocità che può causare congestione della rete.
- Nessun controllo del flusso: UDP non ha il controllo del flusso, il che significa che può sopraffare il destinatario con pacchetti che non è in grado di gestire.
- Vulnerabile agli attacchi: UDP è vulnerabile agli attacchi Denial of Service, in cui un utente malintenzionato può inondare una rete con pacchetti UDP, sovraccaricando la rete e causandone il crash.
- Casi d'uso limitati: UDP non è adatto per applicazioni che richiedono una consegna affidabile dei dati, come e-mail o trasferimenti di file, ed è più adatto per applicazioni che possono tollerare una certa perdita di dati, come lo streaming video o i giochi online.
Pseudo intestazione UDP
- Lo scopo dell'utilizzo di una pseudo-intestazione è verificare che il pacchetto UDP abbia raggiunto la destinazione corretta
- La destinazione corretta è costituita da una macchina specifica e da un numero di porta di protocollo specifico all'interno di quella macchina

Pseudointestazione UDP
Dettagli della pseudo intestazione UDP
- L'intestazione UDP stessa specifica solo il numero di porta del protocollo. Pertanto, per verificare l'UDP di destinazione sulla macchina mittente calcola un checksum che copre l'indirizzo IP di destinazione e il pacchetto UDP.
- Alla destinazione finale, il software UDP verifica il checksum utilizzando l'indirizzo IP di destinazione ottenuto dall'intestazione del pacchetto IP che trasportava il messaggio UDP.
- Se il checksum concorda, allora deve essere vero che il pacchetto ha raggiunto l'host di destinazione previsto nonché la porta di protocollo corretta all'interno di quell'host.
Interfaccia utente
Un'interfaccia utente dovrebbe consentire la creazione di nuove porte di ricezione, operazioni di ricezione sulle porte di ricezione che restituiscano gli ottetti di dati e un'indicazione della porta di origine e dell'indirizzo di origine, e un'operazione che consenta l'invio di un datagramma, specificando i dati, la sorgente e l'indirizzo di origine. porti di destinazione e indirizzo da inviare.
Interfaccia IP
- Il modulo UDP deve essere in grado di determinare l'indirizzo Internet di origine e di destinazione e il campo del protocollo dall'intestazione Internet
- Una possibile interfaccia UDP/IP restituirebbe l'intero datagramma Internet inclusa l'intera intestazione Internet in risposta a un'operazione di ricezione
- Tale interfaccia consentirebbe inoltre all'UDP di trasmettere all'IP un datagramma Internet completo completo di intestazione per l'invio. l'IP verificherebbe la coerenza di alcuni campi e calcolerebbe il checksum dell'intestazione Internet.
- L'interfaccia IP consente al modulo UDP di interagire con il livello di rete dello stack di protocolli, che è responsabile dell'instradamento e della distribuzione dei dati attraverso la rete.
- L'interfaccia IP fornisce un meccanismo che consente al modulo UDP di comunicare con altri host sulla rete fornendo l'accesso al protocollo IP sottostante.
- L'interfaccia IP può essere utilizzata dal modulo UDP per inviare e ricevere pacchetti di dati sulla rete, con l'aiuto di meccanismi di routing e indirizzamento IP.
- L'interfaccia IP fornisce un livello di astrazione che consente al modulo UDP di interagire con il livello di rete senza dover affrontare direttamente le complessità dell'instradamento e dell'indirizzamento IP.
- L'interfaccia IP gestisce anche la frammentazione e il riassemblaggio dei pacchetti IP, che è importante per trasmissioni di dati di grandi dimensioni che potrebbero superare la dimensione massima del pacchetto consentita dalla rete.
- L'interfaccia IP può anche fornire servizi aggiuntivi, come il supporto per i parametri di qualità del servizio (QoS) e meccanismi di sicurezza come IPsec.
- L'interfaccia IP è un componente critico della Internet Protocol Suite, poiché consente la comunicazione tra host su Internet e consente la trasmissione continua di pacchetti di dati attraverso la rete.
Domande GATE per esercitarsi
- GATE CS 2013, Domanda 12
- GATE CS 2012, Domanda 65
- GATE CS 2007, Domanda 20
- GATE CS 2005, Domanda 23
- GATE IT 2008, Domanda 66
- GATE Mock 2015, Domanda 5
Domande frequenti su UDP – Domande frequenti
1. Quali sono i protocolli che utilizzano UDP?
I protocolli che utilizzano il modello UDP sono:
2. Cos'è più veloce: TCP o UDP?
UDP è più veloce di TCP.