User Datagram Protocol

protocollo di rete
Versione del 5 dic 2016 alle 15:52 di Lepido (discussione | contributi) (Annullate le modifiche di 2.229.77.166 (discussione), riportata alla versione precedente di Freeezer)

In telecomunicazioni lo User Datagram Protocol (UDP) è uno dei principali protocolli di trasporto 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

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. Ad esempio, è usato spesso per la trasmissione di informazioni audio-video real-time come nel caso delle trasmissioni Voip.

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.

L'UDP fornisce soltanto i servizi basilari del livello di trasporto, ovvero:

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

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

Le applicazioni di rete che hanno la necessità di un trasferimento affidabile dei loro dati si affidano ovviamente a TCP, 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

Altri progetti

Collegamenti esterni

Controllo di autoritàGND (DE4728148-0
  Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete