Trivial File Transfer Protocol
Da Wikipedia, l'enciclopedia libera.
Trivial File Transfer Protocol (TFTP) è un protocollo di trasferimento file molto semplice, con le funzionalità di base del FTP; la prima definizione risale al 1980.
Essendo così semplice, è stato possibile implementarlo facilmente con un contenuto utilizzo di risorse. TFTP è stato quindi utile per l'avvio di computer che, come i router, non hanno dispositivi a memoria di massa. È ancora usato per trasferire piccoli file fra host di una rete, come nel caso di un terminale X Window System o altri thin client.
TFTP è basato su una parte del precedente protocollo EFTP, che è stato parte della suite di protocolli PUP (PARC Universal Packet).
La versione originale di TFTP, prima della RFC 1350, aveva un problema particolarmente grave, chiamato Sorcerer's Apprentice Syndrome (Sindrome dell'apprendista stregone, da una parte del film Fantasia).
Indice |
[modifica] Informazioni tecniche
Alcuni dettagli sul TFTP:
- usa l'UDP (porta 69) come protocollo di trasporto (a differenza del FTP che usa il TCP sulla porta 21);
- non supporta le directory;
- non possiede meccanismi di autenticazioni o cifratura;
- può essere usato per leggere o scrivere file da un server remoto;
- supporta tre differenti modalità di trasferimento, "netascii", "octet" e "mail", dei quali i primi due corrispondono alle modalità "ASCII" e "image" (binario) del protocollo FTP; la terza è obsoleta e raramente usata;
- ha un limite di dimensione dei file di 32 MB.
Poiché TFTP utilizza UDP, è necessario creare un supporto per trasporto e sessione. Ogni file trasferito via TFTP costituisce uno scambio indipendente. Ogni trasferimento è attuato in passi distinti, con sempre un pacchetto (che sia un blocco di dati o un acknowledgement) in trasmissione nella rete.
Per via della mancanza di sicurezza, è pericoloso usare TFTP su internet; perciò è usato generalmente solo nelle reti locali private.
La negoziazione delle opzioni fu aggiunta nel protocollo successivamente (con la RFC 2347), e le opzioni così negoziate possono modificare il protocollo (in particolare usare blocchi di dimensione maggiore), pur non trasformandolo sostanzialmente.
[modifica] Dettagli sulla sessione TFTP
- L'host A invia un pacchetto RRQ (read request) o WRQ (write request) all'host B, contenente il nome del file e la modalità di trasferimento.
- B risponde con un ACK (acknowledgement) packet, che serve anche a dire ad A quale porta sull'host B dovrà usare per i restanti pacchetti.
- L'host di origine invia dei pacchetti DATA numerati all'host di destinazione, tutti tranne l'ultimo contenenti un blocco di dati completo. L'host di destinazione risponde con un pacchetto ACK numerato per ogni pacchetto DATA.
- Il pacchetto DATA finale deve contenere un blocco di dati non pieno ad indicare che si tratta dell'ultimo. Se la dimensione del file trasferito è un multiplo esatto della dimensione dei blocchi, la sorgente invia un ultimo pacchetto di dati contente 0 byte di dati.
[modifica] Voci correlate
- Lista delle porte note
[modifica] Riferimenti
- (EN) Karen R. Sollins, The TFTP Protocol (IEN 133, January, 1980)
- Karen R. Sollins, TFTP Protocol (revision 2) (RFC 783, June, 1981)
- Karen R. Sollins, TFTP Protocol (revision 2) (RFC 1350, July, 1992)
- R. Finlayson, Bootstrap loading using TFTP (RFC 906, June, 1984)
- Gary Malkin, A. Harkin, TFTP Option Negotiation Analysis (RFC 1785, March 1995)
- Gary Malkin, A. Harkin, TFTP Option Extension (RFC 2347, May 1998)
- Gary Malkin, A. Harkin, TFTP Blocksize Option (RFC 2348, May 1998)
- Gary Malkin, A. Harkin, TFTP Timeout Interval and Transfer Size Options (RFC 2349, May 1998)
[modifica] Collegamenti esterni
- (EN) Tftp Manual on Unix
- (EN) Weird Solutions Free TFTP servers and clients for Unix and Windows
- (EN) Whitehorn TFTP Server Free multithreaded TFTP server
- (EN) FREE TFTP Server by Solarwinds
- (EN) Advanced TFTP server and client