Che cos'è un socket UDP?
Un socket UDP (user datagram protocol) è un tipo di protocollo del computer 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. Ciò è nettamente diverso dai socket TCP (Transmission Control Protocol) che devono sempre mantenere una linea di comunicazioni verso un altro socket. Molte applicazioni Internet utilizzano regolarmente un UDP socket per la comunicazione perché consentono a un gran numero 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 socket grezzi sono più frequentemente utilizzati per individuare o indirizzare il traffico di rete. I socket TCP vengono utilizzati quando è importante che tutte le informazioni raggiungano il socket di destinazione nel ordina che sia stato inviato. I socket UDP vengono utilizzati quando le informazioni devono essere recuperate da un server in piccoli lotti mediante l'uso di singoli pacchetti chiamati datagrammi.
Uno degli svantaggi dell'utilizzo di un socket UDP è quello che viene chiamato perdita di pacchetti: non esiste una connessione prestabilita tra i due socket, quindi esiste la possibilità che un datagramma non arrivi al socket di destinazione. Il computer di destinazione non ha idea che il pacchetto stia arrivando e non richiederà che venga rinviato, quindi i dati vengono completamente persi.
I sistemi che utilizzano un framework socket UDP spesso optano per la perdita di pacchetti a causa dei problemi di trasmissione che potrebbe causare una connessione TCP. 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.
La creazione di 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. 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 DNS (Domain Name System), 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 una sola richiesta per utente in qualsiasi momento.I servizi di streaming multimediali utilizzano anche UDP, poiché la perdita di un singolo pacchetto non interrompe l'intero flusso nella maggior parte dei casi.