Groupe de travail Réseau	G. Malkin, Xylogics, Inc.	
Request for Comments : 1784	A. Harkin,Hewlett Packard Co.	
RFC mise à jour : 1350	mars 1995	
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 suggestions pour son amélioration. Prière de se référer à l'édition en cours des "Normes officielles des protocoles de l'Internet" (STD 1) pour l'état de normalisation et le statut de ce protocole. La distribution du présent mémoire n'est soumise à aucune restriction.

Résumé
Le protocole trivial de transfert de fichier [RFC1350] est un protocole simple de transfert de fichier, en mode rigide, qui permet à un client de mettre un fichier sur un hôte distant ou de l’en obtenir.

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 finale du transfert avant qu’il ne commence. Le mécanisme d’extension d’option TFTP est décrit dans la [RFC1782].

Le présent document suppose le lecteur familiarisé avec la terminologie et la notation des [RFC1350] et [RFC1782].

Spécification de l’option Intervalle de temporisation

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

   +-------+------~~------+---+---~~---+---+---~~---+---+---~~---+---+
   |  opc  |nom-de-fichier| 0 |  mode  | 0 |timeout | 0 | nb de s| 0 |
   +-------+------~~------+---+---~~---+---+---~~---+---+---~~---+---+

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

nom-de-fichier
C’est le nom du fichier à lire ou écrire, comme défini dans la [RFC1350]. C’est un champ terminé par un NUL.

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

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

nd de s
C’est le nombre de secondes à attendre avant de retransmettre, spécifié en ASCII. Les valeurs valides vont de "1" à "255" octets, inclus. C’est un champ terminé par un NUL.

Par exemple :
   +-------+--------+---+--------+---+--------+---+--------+---+
   |   1   | foobar | 0 | binary | 0 | timeout| 0 |    1   | 0 |
   +-------+--------+---+--------+---+--------+---+--------+---+
est une demande de lecture, pour le fichier nommé "foobar", en mode de transfert binaire, avec un intervalle de temporisation de une seconde.

Si le serveur veut accepter l’option Intervalle de temporisation, il envoie un accusé de réception d’option (OACK) 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 comme suit :

   +-------+---------~~---+---+---~~---+---+---~~---+---+---~~---+---+
   |  opc  |nom-de-fichier| 0 |  mode  | 0 | tsize  | 0 | taille | 0 |
   +-------+---------~~---+---+---~~---+---+---~~---+---+---~~---+---+

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

nom-de-fichier
C’est le nom du fichier à lire ou écrire, comme défini dans la [RFC1350]. C’est un champ terminé par un NUL.

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

tsize
C’est l’option Taille de transfert, "tsize" (insensible à la casse). C’est un champ terminé par un NUL.

taille
Taille du fichier à transférer, spécifiée par une chaîne ASCII terminée par un NUL.

Par exemple :
   +-------+--------+---+--------+---+--------+---+--------+---+
   |   2   | foobar | 0 | binary | 0 | tsize  | 0 | 673312 | 0 |
   +-------+--------+---+--------+---+--------+---+--------+---+

est une demande d’écriture, avec le fichier de 673  312 octets nommé "foobar", en mode de transfert binaire.

Dans les paquets de demande de lecture, une taille de "0" est spécifiée dans la demande et la taille du fichier, en octets, est retournée dans le OACK. Si le fichier est trop grand pour que le client le traite, il peut interrompre le transfert par un paquet d’erreur (code d’erreur 3). Dans les paquets Demande d’écriture, la taille du fichier, en octets, est spécifiée dans la demande et reprise en écho dans le OACK. Si le fichier est trop grand pour que le serveur le traite, il peut interrompre le transfert avec un paquet d’erreur (code d’erreur 3).

Considérations pour la sécurité

Les questions de sécurité ne sont pas discutées dans le présent mémoire.
Références

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

[RFC1782]	G. Malkin, A. Harkin, "Extension d'option TFTP", mars 1995. (P.S.)

Adresse des auteurs

Gary Scott Malkin	Art Harkin	
Xylogics, Inc.	Internet Services Project	
53 Third Avenue	Information Networks Division	
Burlington, MA  01803	19420 Homestead Road MS 43LN	
téléphone :  (617) 272-8140	Cupertino, CA  95014	
mél :  gmalkin@xylogics.com 	téléphone : (408) 447-3755	
	mél : ash@cup.hp.com