Trivial File Transfer Protocol
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Nota_disambigua.svg/18px-Nota_disambigua.svg.png)
In informatica e telecomunicazioni Trivial File Transfer Protocol (TFTP) è un protocollo di trasferimento file di livello applicativo molto semplice, con le funzionalità di base del FTP la cui prima definizione risale al 1980. Rientra nella famiglia di protocolli TCP/IP ed è stato progettato con dimensioni ridotte per essere facile da implementare. Motivo per cui descrive solo i metodi di lettura e scrittura per file o e-mail. Altre operazioni non sono sempre possibili con TFTP, come l’assegnazione dei permessi tramite chmod, al contrario di quanto avviene con il protocollo FTP. La porta utilizzata da TFTP è la 69.[1]
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), caso nel quale entrambi gli endpoint della comunicazione vanno in timeout simultaneamente e ripetono l'invio messaggio.
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 la navigazione tra 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.
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 contenente 0 byte di dati.
Note
- ^ TFTP (Trivial File Transfer Protocol), il protocollo semplice per il trasferimento di file, su ionos.it. URL consultato il 24 giugno 2022.
Bibliografia
- (EN) Karen R. Sollins, IEN 133 - The TFTP Protocol (TXT), su isi.edu, 29 gennaio 1980 (archiviato dall'url originale il 6 febbraio 2006).
- (EN) RFC 783 — TFTP Protocol (revision 2), su Internet Engineering Task Force.
- (EN) RFC 1350 — The TFTP Protocol (Revision 2), su Internet Engineering Task Force.
- (EN) RFC 906 — Bootstrap Loading using TFTP, su Internet Engineering Task Force.
- (EN) RFC 1785 — TFTP Option Negotiation Analysis, su Internet Engineering Task Force.
- (EN) RFC 2347 — TFTP Option Extension, su Internet Engineering Task Force.
- (EN) RFC 2348 — TFTP Blocksize Option, su Internet Engineering Task Force.
- (EN) RFC 2349 — TFTP Timeout Interval and Transfer Size Options, su Internet Engineering Task Force.
Voci correlate
Collegamenti esterni
- (EN) Denis Howe, Trivial File Transfer Protocol, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- (EN) Weird Solutions Free TFTP servers and clients for Unix and Windows
- (EN) FREE TFTP Server by Solarwinds, su solarwinds.net. URL consultato il 18 febbraio 2006 (archiviato dall'url originale il 27 gennaio 2006).
- (EN) Advanced TFTP server and client, su freecode.com.
V · D · M | |
---|---|
Livello di applicazione | FTP · HTTP · HTTP/2 · HTTP/3 · HTTPS · NNTP · DHCP · DNS · SMTP · POP3 · IMAP · Telnet · SSH · SFTP · TFTP · IRC · SNMP · VoIP · SIP · RTP · RTSP · Rsync · HSRP · RIP · BGP · IGRP · altro.. |
Livello di trasporto | TCP · UDP · SCTP · DCCP · altro.. |
Livello di rete | IP (IPv4 · IPv6) · ICMP (ICMPv6) · IGMP · IPsec · OSPF · altro.. |
Livello di accesso alla rete (LLC · MAC) | ARP · RARP · NDP · PPP · SLIP · Ethernet · Token ring · Token bus · WiFi · Powerline · ATM · SPB · MPLS · FDDI · HSDPA · WiMAX · altro.. |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Applications-internet.svg/25px-Applications-internet.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Crystal_128_displayphone.png/24px-Crystal_128_displayphone.png)