UDP (User Datagram Protocol) è un protocollo di trasporto senza connessione e inaffidabile utilizzato nelle reti. Funziona al livello di trasporto del modello TCP/IP ed è spesso contrapposto al TCP (Transmission Control Protocol). UDP funziona trasmettendo pacchetti di dati, noti come datagrammi, tra applicazioni senza stabilire una connessione end-to-end dedicata. A differenza del TCP, l’UDP non garantisce la consegna o l’ordine dei pacchetti, né esegue il controllo degli errori o la ritrasmissione. Fornisce invece un mezzo leggero ed efficiente per trasmettere dati laddove è accettabile la perdita occasionale di pacchetti o la consegna fuori ordine, come nelle applicazioni in tempo reale come lo streaming video o i giochi online.
UDP funziona passo dopo passo come segue:
- Formazione dei pacchetti: un’applicazione prepara i dati da inviare e li incapsula in datagrammi UDP, costituiti da un’intestazione e un payload.
- Indirizzo: l’intestazione UDP include i numeri di porta di origine e di destinazione per identificare le applicazioni di invio e ricezione sui sistemi host.
- Invio: il datagramma UDP viene inviato sulla rete all’indirizzo IP di destinazione specificato nell’intestazione del datagramma.
- Receiving: l’applicazione ricevente recupera i datagrammi UDP dal buffer di rete. UDP consegna i datagrammi all’applicazione senza verificare la conferma o garantire l’ordine di consegna.
- Elaborazione: l’applicazione elabora i dati ricevuti direttamente dai datagrammi UDP, gestendo eventuali controlli degli errori o ritrasmissioni necessari a livello di applicazione, se necessario.
UDP (User Datagram Protocol) è un semplice protocollo del livello di trasporto nella suite TCP/IP. A differenza del TCP, UDP non fornisce meccanismi di affidabilità, sequenziamento o controllo del flusso. Offre invece un modo leggero e veloce per inviare dati su una rete senza il sovraccarico di stabilire e mantenere una connessione. UDP è adatto per applicazioni in cui velocità e bassa latenza hanno priorità rispetto all’affidabilità, come streaming audio e video in tempo reale, risoluzione DNS (Domain Name System) e monitoraggio della rete.
Le porte UDP funzionano in modo simile alle porte TCP ma con meno vincoli. Le porte in UDP sono numeri a 16 bit utilizzati per distinguere tra più applicazioni in esecuzione sullo stesso host. Ogni pacchetto UDP include i numeri di porta di origine e di destinazione nell’intestazione, consentendo all’applicazione ricevente di identificare a quale servizio o applicazione sono destinati i dati. Le porte UDP facilitano la comunicazione tra applicazioni su host diversi, consentendo loro di scambiare pacchetti di dati senza richiedere una connessione dedicata o mantenere lo stato della sessione.
HTTP (HyperText Transfer Protocol) e UDP (User Datagram Protocol) hanno scopi diversi e operano su livelli diversi dello stack di rete. HTTP è un protocollo a livello di applicazione utilizzato per trasferire documenti ipertestuali, in genere su connessioni TCP/IP. Garantisce un trasferimento dati affidabile, la gestione di richieste e risposte e la gestione delle sessioni per applicazioni e servizi web. Al contrario, UDP opera a livello di trasporto e fornisce un servizio di datagrammi senza connessione e inaffidabile. Mentre HTTP si basa su TCP per la consegna garantita e la correzione degli errori, UDP viene utilizzato in scenari in cui viene data priorità alla comunicazione in tempo reale e al basso sovraccarico, come lo streaming multimediale o i giochi online.