Network Working Group G. Malkin Request for Comments: 1784 Xylogics, Inc. Updates: 1350 A. Harkin Category: Standards Track Hewlett Packard Co. March 1995 Opciones de exceso de tiempo tamaño de archivo para TFTP Estado de esta memoria Este documento es la especificación de un protocolo estándar para la comunidad de Internet, y propone discusiones y promueve sugerencias para mejorarlo. Por favor refiérase a la edición actual de los "Protocolos Oficiales y Estándares de Internet" (STD 1) para conocer el estado actual del estándar y de este protocolo. La distribución de esta memoria es ilimitada. Extracto El Protocolo Trivial de Transferencia de Archivos [1] es un protocolo simple, de paso a paso regulado, para la transferencia de archivos que permite a un cliente leer o escribir un archivo en un servidor remoto. Este documento explica dos opciones para el TFTP. La primera posibilita al cliente y al servidor negociar los intervalos de excesos de tiempo (Timeout). El segundo permite conocer el tamaño del archivo antes de proceder a la transferencia. El mecanismo de la Negociación de Opciones se encuentra descrito en [2]. Se asume que el lector de este documento se encuentra familiarizado con las especificaciones y la terminología descritas en [1] y [2]. Especificación de la Opción del exceso de tiempo (Timeout) Los paquetes de petición de lectura o escritura se modifican para incluir la Opción de exceso de Tiempo tal como se ve a continuación: +-------+----~~---+---+---~~---+---+---~~---+---+---~~---+---+ | cod | archivo | 0 | modo | 0 | timeout| 0 | seg | 0 | +-------+----~~---+---+---~~---+---+---~~---+---+---~~---+---+ cod El campo de código de operación contendrá un 1 para peticiones de lectura o bien un 2 para peticiones de escritura, tal como está definido en [1] Malkin y Harkin [Pág. 1] RFC 1784 Opciones de exceso de Tiempo y ... marzo 1995 archivo El nombre del archivo a leer o escribir, tal como está definido en [1]. Este campo ha de terminarse con un byte nulo modo Es el modo de la transferencia del archivo: "netascii", "octet", o "mail", tal como está definido en [1]. Este campo ha de terminarse con un byte nulo timeout Es el nombre de la opción del exceso de tiempo: "timeout" (insensible a mayúsculas / minúsculas). Este campo ha de terminarse con un byte nulo seg Este campo contiene el tiempo en segundos de espera antes de volver a transmitir, se especifica en ASCII, terminado con un byte nulo. Los valores pueden ir de 1 a 255 segundos ambos inclusive. Ejemplo: +-------+--------+---+--------+---+--------+---+--------+---+ | 1 | foobar | 0 | binary | 0 | timeout| 0 | 1 | 0 | +-------+--------+---+--------+---+--------+---+--------+---+ Tenemos una petición de lectura de un archivo llamado "foobar", que se transferirá en modo binario, con un exceso de tiempo de 1 s. Si el servidor tiene implementada la opción de exceso de tiempo, este responderá al cliente enviándole un Reconocimiento de la Opción (OACK). El valor devuelto en el reconocimiento deberá coincidir con el valor especificado por el cliente. Especificación de la Opción del tamaño de la Transferencia Los paquetes de petición de lectura o escritura se modifican para incluir la Opción de Tamaño tal como se ve a continuación: +-------+----~~---+---+---~~---+---+---~~---+---+---~~----+---+ | cod | archivo | 0 | modo | 0 | tsize | 0 | tamaño | 0 | +-------+----~~---+---+---~~---+---+---~~---+---+---~~----+---+ cod El campo de código de operación contendrá un 1 para peticiones de lectura o bien un 2 para peticiones de escritura, tal como está definido en [1] Malkin y Harkin [Pág. 2] RFC 1784 Opciones de exceso de Tiempo y ... marzo 1995 archivo El nombre del archivo a leer o escribir, tal como está definido en [1]. Este campo ha de terminarse con un byte nulo modo Es el modo de la transferencia del archivo: "netascii", "octet", o "mail", tal como está definido en [1]. Este campo ha de terminarse con un byte nulo Tsize Es el nombre de la opción del exceso de tiempo: "tsize" (insensible a mayúsculas / minúsculas). Este campo ha de terminarse con un byte nulo tamaño El tamaño del archivo a transferir se especifica en una cadena ASCII, terminada con un byte nulo. Ejemplo: +-------+--------+---+--------+---+--------+---+--------+---+ | 2 | foobar | 0 | binary | 0 | tsize | 0 | 673312 | 0 | +-------+--------+---+--------+---+--------+---+--------+---+ Tenemos una petición de escritura de un archivo llamado "foobar", que se transferirá en modo binario, con un tamaño de 673312 octetos. En los paquetes de petición de lectura, el campo del tamaño se coloca un "0", el servidor responderá con un OACK que contendrá el tamaño del archivo a transferir. Si el archivo es demasiado grande para la capacidad del cliente, este puede abortar la operación enviando un paquete de ERROR (código 3). En los paquetes de petición de escritura el tamaño del archivo se especifica en octetos en el campo del tamaño. El servidor responderá en el OACK ese mismo valor. Si el archivo excediera la capacidad del servidor, este podría abortar la operación contestando un paquete de ERROR (código 3). Consideraciones de seguridad Los conceptos de seguridad no se comentan en esta memoria. Referencias [1] Sollins, K., "El Protocolo TFTP (Revisión 2)", STD 33, RFC 1350, MIT, julio 1992. Malkin y Harkin [Pág. 3] RFC 1784 Opciones de exceso de Tiempo y ... marzo 1995 [2] Malkin, G., y A. Harkin, "Negociación de Opciones para el TFTP", RFC 1782, Xylogics, Inc., Hewlett Packard Co., marzo 1995. Dirección de los Autores Gary Scott Malkin Xylogics, Inc. 53 Third Avenue Burlington, MA 01803 Phone: (617) 272-8140 EMail: gmalkin@xylogics.com Art Harkin Internet Services Project Information Networks Division 19420 Homestead Road MS 43LN Cupertino, CA 95014 Phone: (408) 447-3755 EMail: ash@cup.hp.com Traductor: Gabriel Ortí i Flores Barcelona ---------------------------------------------------- Archivos de RFC-ES: http://listserv.rediris.es/archives/rfc-es.html ------------------------------------------------------ Malkin y Harkin [Pág. 4]