RFC 768 J. Postel ISI 28 August 1980 Protocollo Datagramma Utente (UDP) Traduzione a cura di ComiSAT Brescia, Feb. 2003 (comisat@yahoo.it) Distribuita da .::http://www.rfc.altervista.org::. Introduzione ------------ Il Protocollo Datagramma Utente (User Datagram Protocol - UDP) è definito per rendere disponibile un tipo di datagramma pacchetto-instradato per comunicazione tra computer nell’ambito di una serie di reti di computer interconnesse. Questo protocollo presuppone che venga utilizzato l’Internet Protocol (IP) [1] come protocollo sottostante. Qusto protocollo fornisce una procedura alle applicazioni per l’invio di messaggi ad altri programmi con un minimo di meccanismo di protocollo. Il protocollo è orientato alla transazione, e non vengono garantite la consegna e la protezione dalla duplicazione. Le applicazioni che necessitano di un’affidabile e ordinata trasmissione dei dati dovrebbero usare il Transmission Control Protocol (TCP) [2]. Formato ------- 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Porta | Porta di | | Sorgente | Destinazione | +--------+--------+--------+--------+ | | | | Lunghezza | Checksum | +--------+--------+--------+--------+ | | ottetti di dati ... +---------------- ... Formato dell’header del datagramma utente Campi ----- La Porta Sorgente è un campo opzionale, qualora significativo, che indica la porta del processo mittente, e puo’ essere presupposta come porta alla quale indirizzare la replica in assenza di altre informazioni. Se non utilizzata viene inserito un valore di zero. Postel [page 1] 28 Aug 1980 User Datagram Protocol RFC 768 Fields La Porta di Destinazione ha significato nel contesto di un particolare indirizzo internet di destinazione. Lunghezza e’ la lunghezza in ottetti del datagramma utente, compresi l'header e i dati. (Questo significa che il valore minimo della lunghezza e’ otto.) Checksum e’ il risultato a 16-bit della somma di un pseudo header di informazioni dall’header IP, l’header UDP, e i dati, inseriti con zero ottetti alla fine (se necessario) per raggiungere un multiplo di due ottetti [N.d.T. 16-bit, appunto...]. Lo pseudo header concettualmente prefissato all'header UDP contiene l'indirizzo sorgente, l'indirizzo di destinazione, il protocollo, e la lunghezza dell'UDP. Quest’informazione fornisce una protezione contro i datagrammi mal instradati. Quasta procedura di checksum (controllo) e’ la medesima utilizzata nel TCP. 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | indirizzo sorgente | +--------+--------+--------+--------+ | indirizzo di destinazione | +--------+--------+--------+--------+ | zero |protocol| lunghezza UDP | +--------+--------+--------+--------+ Se il checksum calcolato e’ zero, questo viene trasmesso in un tutt’uno (l'equivalente del complemento aritmetico). Un checksum trasmesso pari a zero significa che il trasmittente non ha generato alcun checksum (questo non ha importanza per il debugging o per i protocolli di livello superiore). Interfaccia Utente ------------------ Un interfaccia utente dovrebbe consentire la creazione di nuove porte riceventi, ricevere operazioni sulle porte riceventi che ritornino gli ottetti di dati e un’indicazione della porta e dell’indirizzo sorgenti, e un’operazione che consenta ad un datagramma di essere inviato, specificando i dati, le porte sorgente e di destinazione e gli indirizzi ai quali devono essere spediti. [page 2] Postel 28 Aug 1980 RFC 768 User Datagram Protocol IP Interface Interfaccia IP -------------- Il modulo UDP deve essere in grado di determinare gli indirizzi internet di sorgente e di destinazione e i campi del protocollo dall'header internet. Una possibile interfaccia UDP/IP dovrebbe restituire l'intero datagramma internet, incluso l’intero header internet come risposta ad un'operazione di ricezione. Allo stesso modo un'interfaccia dovrebbe inoltre consentire all’UDP di passare un datagramma pieno completo dell’header all’IP di destinazione. L'IP dovrebbe quindi verificare alcuni campi per consistenza e calcolare il checksum dell’internet header. Applicazione del Protocollo --------------------------- I maggiori utilizzi di questo protocollo sono l’Internet Name Server [3] e il Trivial File Transfer [4]. Numero di Protocollo -------------------- Questo e’ il protocollo 17 (21 ottale) quando usato nell’Internet Protocol. Altri numeri del protocollo sono elencati in [5]. Riferimenti ----------- [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. Postel [page 3]