Passa al contenuto principale

RFC 768 - Protocollo datagramma utente (User Datagram Protocol)

  • Stato: Internet Standard
  • Pubblicato: agosto 1980
  • Stream: Legacy
  • Errata: Nessuna errata

Introduzione (Introduction)​

Questo protocollo datagramma utente (User Datagram Protocol, UDP) è definito per rendere disponibile una modalità datagramma di comunicazione informatica a commutazione di pacchetto nell'ambiente di un insieme interconnesso di reti informatiche. Questo protocollo presuppone che il protocollo Internet (Internet Protocol, IP) [1] sia utilizzato come protocollo sottostante.

Questo protocollo fornisce una procedura mediante la quale i programmi applicativi possono inviare messaggi ad altri programmi con un minimo di meccanismi protocollari. Il protocollo è orientato alle transazioni (Transaction Oriented) e la consegna e la protezione contro i duplicati non sono garantite. Le applicazioni che richiedono una consegna affidabile e ordinata di flussi di dati dovrebbero utilizzare il Transmission Control Protocol (TCP) [2].


Formato (Format)​

                  0      7 8     15 16    23 24    31  
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
|
| data octets ...
+---------------- ...

User Datagram Header Format

Campi (Fields)​

Porta sorgente (Source Port)​

La porta sorgente (Source Port) è un campo opzionale; quando ha significato, indica la porta del processo mittente e, in assenza di altre informazioni, può essere assunta come la porta a cui dovrebbe essere indirizzata una risposta. Se non utilizzata, viene inserito un valore di zero.

Porta di destinazione (Destination Port)​

La porta di destinazione (Destination Port) ha un significato nel contesto di un particolare indirizzo di destinazione Internet.

Lunghezza (Length)​

La lunghezza (Length) è la lunghezza in ottetti di questo datagramma utente, compreso questo header e i dati. (Ciò significa che il valore minimo della lunghezza è otto.)

Somma di controllo (Checksum)​

La somma di controllo (Checksum) è il complemento a uno a 16 bit della somma in complemento a uno (One's Complement Sum) di uno pseudo-header (Pseudo Header) contenente informazioni dall'header IP, dall'header UDP e dai dati, riempito con ottetti zero alla fine (se necessario) per formare un multiplo di due ottetti.

Lo pseudo-header, concettualmente anteposto all'header UDP, contiene l'indirizzo sorgente, l'indirizzo di destinazione, il protocollo e la lunghezza UDP. Queste informazioni forniscono protezione contro datagrammi instradati erroneamente. Questa procedura di checksum è la stessa utilizzata in TCP.

                  0      7 8     15 16    23 24    31 
+--------+--------+--------+--------+
| source address |
+--------+--------+--------+--------+
| destination address |
+--------+--------+--------+--------+
| zero |protocol| UDP length |
+--------+--------+--------+--------+

Se la somma di controllo calcolata è zero, essa viene trasmessa come tutti uno (l'equivalente nell'aritmetica in complemento a uno). Un valore di somma di controllo trasmesso di tutti zero significa che il trasmettitore non ha generato alcuna somma di controllo (per il debug o per protocolli di livello superiore che non ne fanno uso).


Interfaccia utente (User Interface)​

Un'interfaccia utente dovrebbe consentire:

  • la creazione di nuove porte di ricezione (Receive Ports),

  • operazioni di ricezione sulle porte di ricezione che restituiscono gli ottetti di dati e un'indicazione della porta sorgente e dell'indirizzo sorgente,

  • e un'operazione che consente l'invio di un datagramma, specificando i dati, le porte sorgente e di destinazione e gli indirizzi da inviare.


Interfaccia IP (IP Interface)​

Il modulo UDP deve (MUST) essere in grado di determinare gli indirizzi Internet sorgente e di destinazione e il campo protocollo dall'header Internet. Una possibile interfaccia UDP/IP restituirebbe l'intero datagramma Internet, inclusi tutti gli header Internet, in risposta a un'operazione di ricezione. Tale interfaccia consentirebbe inoltre all'UDP di passare un datagramma Internet completo con header all'IP per l'invio. L'IP verificherebbe la coerenza di alcuni campi e calcolerebbe la somma di controllo dell'header Internet.


Applicazione del protocollo (Protocol Application)​

Gli utilizzi principali di questo protocollo sono l'Internet Name Server [3] e il Trivial File Transfer [4].


Numero di protocollo (Protocol Number)​

Questo è il numero di protocollo 17 (21 in ottale) quando utilizzato nel protocollo Internet. Altri numeri di protocollo sono elencati in [5].


Riferimenti (References)​

[1] Postel, J., "Internet Protocol," RFC 760, USC/Information Sciences Institute, January 1980.

[2] Postel, J., "Transmission Control Protocol," RFC 761, USC/Information Sciences Institute, January 1980.

[3] Postel, J., "Internet Name Server," USC/Information Sciences Institute, IEN 116, August 1979.

[4] Sollins, K., "The TFTP Protocol," Massachusetts Institute of Technology, IEN 133, January 1980.

[5] Postel, J., "Assigned Numbers," USC/Information Sciences Institute, RFC 762, January 1980.


  • Testo ufficiale: https://www.rfc-editor.org/rfc/rfc768.txt
  • Pagina ufficiale: https://datatracker.ietf.org/doc/html/rfc768