Protocollo TFTP Overview

TFTP è un protocollo molto semplice utilizzato per trasferire file tra due host utilizzando UDP.

TFTP (Trivial File Transfer Protocol) è definito nella RFC 1350, ed è stato progettato per trasferire file utilizzando come protocollo di trasporto UDP (User Datagram Protocol). La porta sulla quale è in ascolto un TFTP server è la 69. Essendo molto semplice e con meno funzioni rispetto a FTP, non può leggere directory e non è provvisto di autenticazione, il suo utilizzo è limitato. TFTP viene solitamente usato per trasferire file tra un computer ed un altro dispositivo come router o switch in ambito LAN.

I dati trasmessi tramite TFTP sono rappresentati da pacchetti con una lunghezza fissa di 512 byte. Un pacchetto avente una dimensione inferiore rappresenta l'ultimo pacchetto trasmesso. I pacchetti dati inviati vengono memorizzati in un buffer fino alla ricezione della avvenuta accettazione da parte dell'host remoto. In caso di mancata conferma della ricezione entro un determinato tempo di un pacchetto, quest'ultimo viene ritrasmesso. La modalità di trasferimento dati di TFTP è di due tipi:  
- NETASCII per i file di testo;  
- OCTET per i file binari.

I pacchetti utilizzati durante una sessione TFTP sono di cinque tipi:  
- RR: Read Request (Richiesta di lettura);  
- WR: Write Request (Richiesta di scrittura);  
- DATA: Dati;  
- ACK: Acknowledgment (Accettazione);  
- ERR: Errore;  

Le fasi di una sessione TFTP:  
1. Il client contatta il server inviando una pacchetto di tipo RR (richiesta di lettura) o WR (richiesta di scrittura);  
2. Il server, se accetta la connessione, risponde inviando/ricevendo pacchetti DATA di 512 byte. Per ogni pacchetto inviato/ricevuto regolarmente viene inviato/ricevuto un ACK altrimenti un ERROR;
3. I pacchetti vengono trasferiti finchè la loro lunghezza non è inferiore a 512 byte;  
4. Termine della connessione;  
  
Esempi:  
Un caso frequente di utilizzo di TFTP, la copia di un file di configurazione da un TFTP server ad un router Cisco:  
Router-GW1# copy tftp run  
Address or name of remote host []? 192.168.0.120  
Indicazione del TFTP server   
Source filename []? cisco2500-config  
Indicazione del file da trasferire  
Destination filename [running-config]? (invio)  
Accessing tftp://192.168.0.120/cisco2500-config...  
Loading cisco2500-config from 192.168.0.120 (via Ethernet0):  
!!  
[OK - 487/4096 bytes]  
487 bytes copied in 5.400 secs (97 bytes/sec)  
Router-GW1#

  
Trasferimento dati tra due computer:  
F:\Arnaldo>tftp joker get prova.txt  
Il client richiede (GET) al TFTP server joker il file prova.txt  
Trasferimento effettuato: 14 byte in 2 secondi, 7 byte/s

  
Il protocollo TFTP viene utilizzato nell'ambito di soluzioni diskless dagli host BOOTP, il suo compito è quello di scaricare il sistema operativo per i client.

Privacy Policy