Cos'è il User Datagram Protocol (UDP)?

User Datagram Protocol (UDP) è uno standard di comunicazione per lo scambio di dati su Internet. UDP dà priorità alla velocità rispetto all'affidabilità, utilizzando un processo senza connessione per inviare pacchetti di dati a una destinazione. Grazie alla sua bassa latenza, UDP è ideale per casi d'uso sensibili al tempo come streaming video, Voice over Internet Protocol (VoIP), videogiochi e ricerche DNS (Domain Name System).

Quando i protocolli di livello superiore devono trasmettere dati rapidamente, si affidano a UDP per impacchettare e distribuire tali dati tramite il protocollo Internet (IP).

A differenza del TCP (Transmission Control Protocol) , il protocollo più comune utilizzato per la trasmissione di dati su Internet, l'UDP non ordina pacchetti di dati né stabilisce direttamente una connessione tra gli endpoint, come una telecamera di sicurezza IoT e uno smartphone. Inoltre, non dispone di sistemi di controllo della congestione per ottimizzare le risorse di rete. Ottiene semplicemente i dati dall'Endpoint A all'Endpoint B il più rapidamente possibile.

Quando si scambiano dati tramite il protocollo Internet, i pacchetti di dati possono spesso arrivare fuori servizio o perdersi durante la trasmissione. Il TCP richiederà la ritrasmissione dei pacchetti di dati persi e riorganizzerà i pacchetti che arrivano fuori ordine. Ciò aumenta la precisione, ma aumenta anche la latenza e, se i singoli pacchetti di un file audio o video vengono persi, spesso gli esseri umani non sono nemmeno in grado di rilevare gli errori. Ritrasmettere i pacchetti mancanti o riordinarli quando arrivano causerà solo più interferenze nel flusso di dati in tempo reale. 

UDP non corregge errori, duplicati o pezzi mancanti. Se un protocollo utilizza UDP per la trasmissione dei dati, l'integrità dei dati non è importante oppure l'applicazione stessa dispone di un processo per il controllo degli errori.

Intestazioni UDP

Come TCP, UDP etichetta i pacchetti di dati con un'intestazione. Ma gli header UDP sono molto più semplici. Ci sono solo quattro campi: 

  1. Porta di origine
  2. Porto di destinazione
  3. Lunghezza UDP
  4. Checksum

La porta di origine indica da dove proviene la trasmissione. La porta di destinazione indica dove sta andando. La lunghezza UDP specifica quanti byte rappresentano l'intestazione e i dati. E il checksum è un campo che può essere utilizzato per verificare la presenza di errori nell'intestazione o nel flusso di dati.

TCP ha numerosi campi aggiuntivi nell'intestazione che aiutano a verificare che i pacchetti di dati arrivino intatti e possano essere riorganizzati secondo necessità. Questi campi aggiuntivi aumentano notevolmente le dimensioni dell'intestazione.

UDP nell'IoT

Nell'IoT (e nella trasmissione di dati in generale), il protocollo User Datagram è meno comune del TCP. Ma UDP fa spesso appello ai produttori di IoT perché utilizza meno risorse di rete per trasmettere e non deve mantenere una connessione costante tra i due endpoint. In altre parole, utilizza meno dati e consuma meno energia. 

Dispositivi con risorse limitate

I dispositivi IoT spesso operano all'interno di Low Power, Lossy Networks (LLN). Gli LLN sono ottimizzati per l'efficienza energetica, quindi hanno pochissime risorse. Il Constrained Application Protocol (CoAP) è stato sviluppato specificamente per aiutare questi dispositivi a comunicare e funziona su dispositivi che utilizzano UDP.

Trasmissioni downlink basse

UDP non invia alcuna conferma di ricezione di una trasmissione. Il mittente non sa se i pacchetti di dati sono arrivati, ma lo scambio richiede un budget di downlink inferiore. Per le trasmissioni con basse quote di downlink, l'UDP può essere un prezioso protocollo di comunicazione.

Applicazioni a bassa potenza

Nell'IoT, spesso non è un problema perdere un singolo punto dati perché il dispositivo lo invia periodicamente. Il tentativo di inviare nuovamente i dati consuma più batteria ogni volta che un punto dati viene perso o presenta un errore. E poiché UDP non invia un riconoscimento, il dispositivo può spegnersi più velocemente dopo aver inviato o ricevuto una trasmissione. Ciò rende UDP attraente per gli sviluppatori che desiderano massimizzare l'efficienza energetica.

Sicurezza UDP

Sebbene UDP sia facile da implementare e abbia un sovraccarico inferiore, lascia anche i tuoi dispositivi più vulnerabili agli attacchi informatici.

Poiché TCP stabilisce una connessione diretta e fornisce un numero di sequenza, è più difficile per qualcuno inviare un pacchetto a un'applicazione specifica. Con UDP, è più facile intercettare, alterare e replicare i pacchetti di dati per attaccare un dispositivo, un'applicazione o una rete.

Inoltre, le botnet (enormi reti di computer compromessi, inclusi i dispositivi IoT) possono utilizzare UDP per inviare pacchetti fraudolenti a un computer. I bot spesso inviano spam a porte inesistenti e il computer deve quindi inviare una risposta che la porta non è disponibile. Questo prende rapidamente le risorse di rete dalle trasmissioni di dati legittime e può far cadere la rete.

Con UDP, devi essere proattivo riguardo alla sicurezza IoT ed essere sicuro che il tuo hardware e la sicurezza a livello di rete possano proteggere i dati dei tuoi clienti ed evitare che i tuoi dispositivi diventino responsabilità.

Ottieni connettività IoT sicura con Things Mobile

Things Mobile è una piattaforma di comunicazione dedicata all'IoT. Non solo i tuoi dispositivi possono connettersi tramite la nostra rete mobile globale, ma la piattaforma garantisce anche la sicurezza del tuo dispositivo. Con funzionalità di sicurezza avanzate come reti private, firewall di rete con whitelist IP e DNS personalizzati, preveniamo gli attacchi UDP comuni e rendiamo impossibile la comunicazione dannosa con il tuo dispositivo.