Trivial File Transfer Protocol

Trivial File Transfer Protocol

Informations
Fonction Transfert de fichier simple
Sigle TFTP
Date de création 29 janvier 1980
Port 69
RFC 1980 : IEN 133
1981 : RFC 783[1]
1992 : RFC 1350[2]

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 est cependant une amélioration du protocole datant de 1992[3].

Il fonctionne en UDP sur le port 69, au contraire du FTP qui utilise lui TCP. 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[2]. Elle est la plus utilisée.

Une extension de ce protocole, définie dans RFC 2347[4], 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 :

  • RFC 2348[5] : option "blocksize" permettant de modifier la taille des blocs de données (512 octets par défaut)
  • RFC 2349[6] : option "timeout" permettant de négocier le délai d'attente des trames d'acquittement (non spécifié par défaut) et option "tsize" permettant de connaître la taille du fichier avant le début du transfert
  • RFC 7440[7] : option "windowsize" permettant d'envoyer plusieurs trames de données avant d'attendre un acquittement, afin de minimiser les temps d'attente
  • RFC 2090[8] : option "multicast" permettant à plusieurs clients de télécharger le même fichier en même temps par l'adressage multiple UDP. Cette option, qui nécessite de grosses modifications du serveur comme du client, n'est généralement pas supportée.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) K. R. Sollins, « The TFTP Protocol (Revision 2) », Request for comments no 783,
  2. a et b (en) K. Sollins, « The TFTP Protocol (Revision 2) », Request for comments no 1350,
  3. « TFTP (Trivial File Transfer Protocol), un protocole simple de transfert de fichiers », sur IONOS Digitalguide (consulté le )
  4. (en) G. Malkin et A. Harkin, « TFTP Option Extension », Request for comments no 2347,
  5. (en) G. Malkin et A. Harkin, « TFTP Blocksize Option », Request for comments no 2348,
  6. (en) G. Malkin et A. Harkin, « TFTP Timeout Interval and Transfer Size Options », Request for comments no 2349,
  7. (en) P. Masotta, « TFTP Windowsize Option », Request for comments no 7440,
  8. (en) A. Emberson, « TFTP Multicast Option », Request for comments no 2090,