Groupe de travail Réseau	G. Malkin, Bay Networks	
Request for Comments : 2349	A. Harkin, Hewlett Packard Co.	
RFC mise à jour : 1350	mai 1998	
RFC rendue obsolète : 1784		
Catégorie : En cours de normalisation	Traduction Claude Brière de L'Isle	

Options TFTP Intervalle de temporisation et Taille de transfert

Statut de ce mémoire
Le présent document spécifie un protocole Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et des suggestions pour son amélioration. Prière de se reporter à l’édition actuelle du STD 1 "Normes des protocoles officiels de l’Internet" pour connaître l’état de normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Notice de copyright
Copyright (C) The Internet Society (1998).

Résumé
Le protocole trivial de transfert de fichier (TFTP, Trivial File Transfer Protocol) [RFC1350] est un protocole simple de transfert de fichier, en mode rigide (lock-step) qui permet à un client d'obtenir ou de mettre un fichier sur un hôte distant.

Le présent document décrit deux options TFTP. La première permet au client et au serveur de négocier l'intervalle de temporisation. La seconde permet au côté qui reçoit le fichier de déterminer la taille ultime du transfert avant qu'il ne commence. Le mécanisme d'extension d'option est décrit dans la [RFC2347].

Spécification de l'option Intervalle de temporisation

Le paquet TFTP Demande de lecture ou Demande d'écriture est modifié pour inclure l'option timeout (Intervalle de temporisation) comme suit :

+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+
| opcode|filename| 0 |  mode  | 0 | timeout| 0 |  #secs | 0 |
+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+

opcode
Le champ opcode contient soit un 1, pour les demandes de lecture, soit 2, pour les demandes d'écriture, comme défini dans la [RFC1350].

filename
C'est le nom du fichier à lire ou écrire, comme défini dans la [RFC1350]. C'est un champ terminé par un NULL.

mode
Mode du transfert de fichier : "netascii", "octet", ou "mail", comme défini dans la [RFC1350]. C'est un champ terminé par un NULL.

timeout
C'est l'option Intervalle de temporisation, "timeout" (insensible à la casse). C'est un champ terminé par un NULL.

#secs
C'est le nombre de secondes d'attente avant retransmission, spécifié en ASCII. Les valeurs valides vont de "1" à "255" secondes, inclus. C'est un champ terminé par un NULL.

Par exemple :

+-------+--------+---+--------+---+--------+---+-------+---+
|   1   | foobar | 0 | octet  | 0 | timeout| 0 |   1   | 0 |
+-------+--------+---+--------+---+--------+---+-------+---+

est une demande de lecture, pour le fichier nommé "foobar", en mode de transfert d'octets (binaire) avec un intervalle de temporisation de 1 seconde.

Si le serveur veut accepter l'option Intervalle de temporisation, il envoie un accusé de réception d'option (OACK, Option Acknowledgment) au client. La valeur de temporisation spécifiée doit correspondre à la valeur spécifiée par le client.

Spécification de l'option Taille de transfert

Le paquet TFTP Demande de lecture ou Demande d'écriture est modifié pour inclure l'option tsize (Taille de transfert) comme suit :

+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+
| opcode|filename| 0 |  mode  | 0 | tsize  | 0 | taille | 0 |
+-------+---~~---+---+---~~---+---+---~~---+---+---~~---+---+

opcode
Le champ opcode contient un 1, pour les demandes de lecture, ou 2, pour les demandes d'écriture, comme défini dans la [RFC1350].

filename
C'est le nom du fichier à lire ou écrire, comme défini dans la [RFC1350]. C'est un champ terminé par un NULL.

mode
Mode du transfert de fichier : "netascii", "octet", ou "mail", comme défini dans la [RFC1350]. C'est un champ terminé par un NULL.

tsize
Option Taille de transfert, "tsize" (insensible à la casse). C'est un champ terminé par un NULL.

taille
Taille du fichier à transférer. C'est un champ terminé par un NULL.

Par exemple :

+-------+--------+---+--------+---+--------+---+--------+---+
|   2   | foobar | 0 | octet  | 0 | tsize  | 0 | 673312 | 0 |
+-------+--------+---+--------+---+--------+---+--------+---+

est une demande d'écriture, avec le fichier de 67  3312 octets nommé "foobar", en mode de transfert d'octets (binaire).

Dans les paquets de demande d'écriture, une taille de "0" est spécifiée dans la demande et la taille de fichier, en octets, est retournée dans l'OACK. Si le fichier est trop gros pour que le client le traite, il peut interrompre le transfert avec un paquet d'erreur (code d'erreur 3). Dans les paquets de demande d'écriture, la taille du fichier, en octets, est spécifiée dans la demande et il y est fait écho en retour dans le OACK. Si le fichier est trop gros pour que le serveur le traite, il peut interrompre le transfert avec un paquet Erreur (code d'erreur 3).

Considérations sur la sécurité

Le protocole TFTP de base n'a pas de mécanisme de sécurité. C'est pourquoi il n'a pas de capacité de renommage, suppression ou écrasement de fichier. Le présent document n'apporte aucune sécurité à TFTP ; cependant, les extensions spécifiées n'ajoutent aucun risque supplémentaire pour la sécurité.

Références

[RFC1350]	K. Sollins, "Protocole TFTP (révision 2)", STD 33, juin 1992. (MàJ par 1782-85, 2347_49)

[RFC2347]	G. Malkin, A. Harkin, "Extension d'option TFTP", mai 1998. (D.S.)

Adresse des auteurs

Gary Scott Malkin	Art Harkin	
Bay Networks	Internet Services Project	
8 Federal Street	Information Networks Division	
Billerica, MA  01821	19420 Homestead Road MS 43LN	
téléphone :  (978) 916-4237	Cupertino, CA  95014	
mél :  gmalkin@baynetworks.com 	téléphone : (408) 447-3755	
	mél : ash@cup.hp.com 	

Déclaration complète de droits de reproduction

Copyright (C) The Internet Society (1998). Tous droits réservés.

Ce document et les traductions de celui-ci peuvent être copiés et diffusés, et les travaux dérivés qui commentent ou expliquent autrement ou aident à sa mise en œuvre peuvent être préparés, copiés, publiés et distribués, partiellement ou en totalité, sans restriction d'aucune sorte, à condition que l'avis de droits de reproduction ci-dessus et ce paragraphe soient inclus sur toutes ces copies et œuvres dérivées. Toutefois, ce document lui-même ne peut être modifié en aucune façon, par exemple en supprimant le droit d'auteur ou les références à l'Internet Society ou d'autres organisations Internet, sauf si c'est nécessaire à l'élaboration des normes Internet, auquel cas les procédures pour les droits de reproduction définis dans les processus des normes pour l'Internet doivent être suivies, ou si nécessaire pour le traduire dans des langues autres que l'anglais.

Les permissions limitées accordées ci-dessus sont perpétuelles et ne seront pas révoquées par la Société Internet, ses successeurs ou ayants droit.

Ce document et les renseignements qu'il contient sont fournis "TELS QUELS" et l'INTERNET SOCIETY et l'INTERNET ENGINEERING TASK FORCE déclinent toute garantie, expresse ou implicite, y compris mais sans s'y limiter, toute garantie que l'utilisation de l'information ici présente n'enfreindra aucun droit ou aucune garantie implicite de commercialisation ou d'adaptation a un objet particulier.

Remerciement
Le financement de la fonction d’éditeur des RFC est actuellement fourni par la Internet Society.