User Datagram Protocol
Lo User Datagram Protocol (UDP), nelle telecomunicazioni, è uno dei principali protocolli di rete della suite di protocolli Internet. È un protocollo di livello di trasporto a pacchetto, usato di solito in combinazione con il protocollo di livello di rete IP.
Funzionamento modifica
A differenza del TCP, l'UDP è un protocollo di tipo connectionless, inoltre non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi, ed è perciò generalmente considerato di minore affidabilità. In compenso è molto rapido (non c'è latenza per riordino e ritrasmissione) ed efficiente per le applicazioni "leggere" o time-sensitive. In genere è utilizzato per le applicazioni per le quali un pacchetto in ritardo ha validità nulla, per esempio la trasmissione audio-video in tempo reale (streaming o VoIP sono gli usi più comuni), oppure la trasmissione di altre informazioni sullo stato di un sistema, per esempio i giochi multiplayer online.
Infatti, visto che le applicazioni in tempo reale richiedono spesso un bit-rate minimo di trasmissione, non vogliono ritardare eccessivamente la trasmissione dei pacchetti e possono tollerare qualche perdita di dati, il modello di servizio TCP può non essere particolarmente adatto alle loro caratteristiche. Nel caso della telefonia via Internet (VoIP), un pacchetto riordinato è inutile perché risale a un tempo passato, mentre un pacchetto non ricevuto causa lo stallo del sistema fino al suo arrivo, per cui si sentirebbe un lungo silenzio seguito da tutti i pacchetti non arrivati in tempo.
L'UDP fornisce soltanto i servizi basilari del livello di trasporto, ovvero:
- multiplazione delle connessioni, ottenuta attraverso il meccanismo di assegnazione delle porte;
- verifica degli errori (integrità dei dati) mediante una checksum, inserita in un campo dell'intestazione (header) del pacchetto, mentre TCP garantisce anche il trasferimento affidabile dei dati, il controllo di flusso e il controllo della congestione.
L'UDP è un protocollo stateless, ovvero non tiene nota dello stato della connessione dunque ha, rispetto al TCP, meno informazioni da memorizzare: un server dedicato ad una particolare applicazione che scelga UDP come protocollo di trasporto può supportare quindi molti più client attivi.
Struttura di un datagramma UDP modifica
Un datagramma (o pacchetto) UDP è così strutturato:
+ | Bit 0-15 | 16-31 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Source Port (optional) | Destination Port | ||||||||||||||||||||||||||||||
32 | Length | Checksum (optional) | ||||||||||||||||||||||||||||||
64+ | Data |
- Header:
- Source port [16 bit] - identifica il numero di porta sull'host del mittente del datagramma;
- Destination port [16 bit] - identifica il numero di porta sull'host del destinatario del datagramma;
- Length [16 bit] - contiene la lunghezza totale in bytes del datagramma UDP (header+dati);
- Checksum [16 bit] - contiene il codice di controllo del datagramma (header+dati+pseudo-header, quest'ultimo comprendente gli indirizzi IP di sorgente e destinazione). L'algoritmo di calcolo è definito nell'RFC del protocollo;
- Payload:
- Data - contiene i dati del messaggio
Applicazioni che utilizzano UDP modifica
Le applicazioni di rete che hanno la necessità di un trasferimento affidabile dei loro dati non si affidano ovviamente a UDP, mentre le applicazioni più elastiche riguardo alla perdita dei dati e strettamente dipendenti dal tempo si affidano invece a UDP. Inoltre si utilizza UDP per comunicazioni in broadcast (invio a tutti i terminali in una rete locale) e multicast (invio a tutti i terminali iscritti ad un servizio).
Di seguito è proposto un elenco dei principali servizi Internet e dei protocolli che essi adottano:
Applicazione | Protocollo strato applicazione | Protocollo strato trasporto |
Posta elettronica | SMTP | TCP |
Accesso a terminale remoto | telnet | TCP |
Trasferimento file | FTP | TCP |
Web | HTTP | TCP |
Streaming Audio/Video | RTSP/RTP | TCP (comandi) + UDP (flusso) |
Server di file remoto | NFS | tipicamente UDP |
Telefonia su internet (VoIP) | SIP, H.323, altri | tipicamente UDP |
Gestione della rete | SNMP | tipicamente UDP |
Protocollo di routing | RIP | tipicamente UDP |
Risoluzione dei nomi | DNS | tipicamente UDP |
Bibliografia modifica
Voci correlate modifica
Altri progetti modifica
- Wikimedia Commons contiene immagini o altri file sullo User Datagram Protocol
Collegamenti esterni modifica
- (EN) User Datagram Protocol, in Free On-line Dictionary of Computing, Denis Howe. Disponibile con licenza GFDL
- (EN) What is the User Datagram Protocol (UDP/IP)?, su Cloudflare. URL consultato il 1º febbraio 2024.
- Protocollo Datagramma Utente (UDP) (TXT), su rfc.altervista.org, agosto 1980.
Controllo di autorità | GND (DE) 4728148-0 |
---|