TFTP è un protocollo di trasporto file e il suo nome suggerisce che è qualcosa di simile al protocollo FTP (File Transfer Protocol), il che è vero … fino a un certo punto. TFTP non è molto popolare perché non è realmente usato su Internet a causa delle sue limitazioni che esploreremo in seguito.
Il protocollo
La principale differenza di TFTP da FTP è il protocollo di trasporto che usa e la mancanza di qualsiasi meccanismo di autenticazione. Dove FTP usa il robusto protocollo TCP per stabilire le connessioni e completare i trasferimenti di file, TFTP usa il protocollo UDP che non è sicuro e non ha un controllo degli errori incorporato (a meno che non abbiano implementato un qualche tipo di controllo degli errori nel programma che stai usando per trasferire i file), questo spiega anche perché è più probabile trovare TFTP in una LAN, piuttosto che una WAN (Wide Area Network) o su Internet.
Le maggiori limitazioni del TFTP sono l’autenticazione e la visibilità delle directory, cioè non si possono vedere i file e le directory disponibili sul server TFTP.
Come detto, TFTP usa UDP come trasporto, al contrario di TCP che usa FTP, e funziona sulla porta 69, lo puoi vedere chiaramente nel bel diagramma 3D a sinistra.
La porta 69 è quella predefinita per TFTP, ma se vuoi, puoi modificare le impostazioni del tuo server TFTP in modo che funzioni su una porta diversa.
Ora, per rendere le cose un po’ più chiare ho incluso uno screenshot della mia workstation che tftp’ing in un server TFTP che ho impostato nella mia piccola rete.
Si può vedere la mia workstation (192.168.0.100) che contatta il server TFTP (192.168.0.1) sulla porta 69 (porta di destinazione). In questo primo pacchetto, la mia stazione di lavoro sta contattando il server e richiede il file che ho inserito prima di collegarmi al server. Clicca qui per l’immagine completa.
Perché non ottieni un elenco dei file e delle directory, devi sapere quale file vuoi scaricare! Nella risposta che ho ricevuto (2° pacchetto) il server si mette subito al lavoro e inizia a inviare il file. Nessuna autenticazione!
Nota: la stazione di lavoro di solito non invia alcuna conferma (perché UDP, che è il protocollo di trasporto, per sua natura non invia mai conferme), ma gli sviluppatori di software possono incorporare tale caratteristica obbligando la stazione di lavoro a inviare un piccolo pacchetto che il server TFTP è in grado di raccogliere come conferma del precedente pacchetto di dati inviato alla stazione di lavoro.
Nell’esempio che fornisco, si può vedere la mia workstation che invia piccoli pacchetti al server dopo aver ricevuto un pacchetto da esso. Questi piccoli riconoscimenti sono stati aggiunti dalla società di software che ha creato il programma che stavo usando per questo esempio.
Di seguito c’è una schermata del programma che ho usato per TFTP (TFTP Client) al server:
Nota come ho inserito il file che volevo scaricare (server.exe), e selezionato il nome con cui il file sarà salvato sul mio computer locale (Local File). Se non avessi fornito il nome del file remoto, avrei semplicemente ottenuto un errore dal lato del server, lamentando che non esiste un file simile. Puoi anche inviare file usando TFTP, dato che non è solo per scaricare 🙂
Quindi dove viene usato TFTP?
TFTP è usato principalmente per il backup dei file di configurazione dei router come Cisco e le sue immagini IOS, è anche usato per l’avvio di PC senza disco dove, dopo che la workstation si è avviata dalla ROM della scheda di rete, TFTP è usato per scaricare il programma che deve caricare ed eseguire da un server centrale.
Di seguito c’è un diagramma che mostra cosa avviene durante una sessione TFTP:
In questo diagramma stiamo assumendo che non ci sia alcun controllo degli errori incorporato nel software in esecuzione alle due estremità (client e server).
E questo riassume praticamente tutto per il protocollo TFTP.
Torna alla sezione sui protocolli di rete