Un socket UDP (User Datagram Protocol) è un tipo di protocollo informatico utilizzato per trasmettere e ricevere informazioni attraverso una rete. I socket UDP sono noti per la loro natura senza connessione, il che significa che non devono contattare un altro server prima di tentare di inviare dati. Questo è nettamente diverso dai socket TCP (Transmission Control Protocol) che devono mantenere sempre una linea di comunicazione con un altro socket. Molte applicazioni Internet utilizzano regolarmente un UDP socket per la comunicazione perché consentono a un numero elevato di utenti di accedere ai server online senza la necessità di comunicazioni continue.
I tre tipi di socket del computer sono UDP, TCP e raw. I raw socket sono usati più frequentemente per aiutare a localizzare o indirizzare il traffico di rete. I socket TCP sono usati quando è importante che tutte le informazioni raggiungano il socket di destinazione nel ordine in cui è stato inviato. I socket UDP vengono utilizzati quando le informazioni devono essere recuperate da un server in piccoli batch attraverso l’uso di singoli pacchetti chiamati datagrammi.
Uno degli svantaggi dell’utilizzo di un socket UDP è la cosiddetta perdita di pacchetti: non esiste una connessione prestabilita tra i due socket, quindi c’è la possibilità che un datagramma non arrivi al socket di destinazione. Il computer di destinazione non ha idea dell’arrivo del pacchetto e non richiederà che venga reinviato, quindi i dati sono completamente persi.
I sistemi che utilizzano un framework socket UDP spesso optano per la perdita di pacchetti rispetto ai problemi di trasmissione che una connessione TCP potrebbe causare.Un esempio è un sistema critico in tempo reale in cui è più importante mantenere il flusso di dati in entrata e in uscita dal sistema invece di mettere potenzialmente in pausa l’intero sistema a causa di una connessione TCP lenta.In alternativa, le connessioni TCP vengono utilizzate in situazioni in cui qualsiasi perdita di dati potrebbe compromettere l’integrità del sistema.
Creare un socket UDP è molto semplice, considerando che non è necessario un processo informatico dedicato per mantenere costantemente la porta a cui è collegato il socket, richiede un sovraccarico minimo.Inviare e ricevere datagrammi tramite un Il socket UDP è altrettanto facile a causa delle dimensioni minime e della bassa complessità della struttura del pacchetto.
Molti servizi online vitali utilizzano socket UDP per le comunicazioni. Il sistema dei nomi di dominio (DNS), che converte semplici indirizzi Internet che le persone possono leggere e comprendere in una lunga serie di numeri, utilizza i socket UDP perché di solito è richiesta solo una richiesta per utente alla volta.Anche i servizi di streaming media utilizzano UDP, perché la perdita di un singolo pacchetto non interrompe l’intero flusso nella maggior parte dei casi.