| Fonction | Transfert de fichier simple |
|---|---|
| Sigle | TFTP |
| Date de création | 29 janvier 1980 |
| Port | 69 |
| RFC |
1980 : IEN 133 1981 : RFC 783 1992 : RFC 1350 |
TFTP (pour Trivial File Transfer Protocol ou protocole simplifié de transfert de fichiers) est un protocole simplifié de transfert de fichiers.
Ce principe a été publié pour la première fois dans un protocole en 1981, la version actuelle datant de 1992 est cependant une amélioration du protocole.
Il fonctionne en UDP en utilisant le port 69 comme canal de contrôle pour transporter les commandes Read Request (RRQ) et Write Request (WRQ), le transfert de fichier se déroulant entre des ports UDP non privilégiés supérieurs à 1024. En pratique, le serveur ouvre un nouveau port local qui, avec le port par lequel il a reçu la requête client, forme le canal de données. Cette méthode permet de transférer plusieurs fichiers simultanément entre un même client et un serveur. Un parallèle peut être fait avec FTP en mode passif qui utilise le port TCP 21 pour le canal de contrôle et ouvre une nouvelle connexion à partir d'un port non privilégié pour le transfert proprement dit.
L'utilisation d'UDP, protocole « non fiable », implique que le client et le serveur doivent gérer eux-mêmes une éventuelle perte de paquets. En termes de rapidité, l'absence de fenêtrage nuit à l'efficacité du protocole sur les liens à forte latence. On réserve généralement l'usage du TFTP à un réseau local.
Les principales simplifications visibles du TFTP par rapport au FTP sont qu'il ne gère pas le listage de fichiers, et ne dispose pas de mécanismes d'authentification, ni de chiffrement. Il faut connaître à l'avance le nom du fichier que l'on veut récupérer. De même, aucune notion de droits de lecture/écriture n'est disponible en standard.
À cause de ces fonctionnalités absentes, FTP lui est généralement préféré. TFTP reste très utilisé pour la mise à jour des logiciels embarqués sur les équipements réseaux (routeurs, pare-feu, etc.) ou pour démarrer un PC à partir d'une carte réseau.
La dernière version de ce protocole est la version 2, définie dans RFC 1350. Elle est la plus utilisée.
Une extension de ce protocole, définie dans RFC 2347, permet de négocier des options pour le modifier : une option est toujours demandée par le client, le serveur peut l'accepter, la modifier, ou la refuser, notamment s'il ne la connaît pas.
Les options standards sont définies dans :