Está en la página 1de 13

RFC 783 Traducción al español

EL PROTOCOLO TFTP (REVISIÓN 2) Resumen TFTP es un protocolo muy sencillo utiliza para transferir archivos. Es de Esta que viene su nombre, Trivial File Transfer Protocol o TFTP. Cada Nonterminal paquete es reconocido por separado. En este documento se describen El protocolo y sus tipos de paquetes. En el documento también se explica la Razones detrás de algunas de las decisiones de diseño. AGRADECIMIENTOS El protocolo fue diseñado originalmente por Noel Chiappa, y se Rediseñado por él, Bob Baldwin y Dave Clark, con los comentarios de Steve Szymanski. La actual revisión del documento incluye modificaciones Resultantes de los debates y con las sugerencias de Larry Allen, Noel Chiappa, Dave Clark, Geoff Cooper, Mike Greenwald, Liza Martin, David Reed, Craig Milo Rogers (de UCS-ISI), Kathy Yellick, y el autor. El reconocimiento y la redifusión régimen se inspiró en TCP, y El error mecanismo fue sugerido por el PARC EFTP abortar mensaje.

Esta investigación fue apoyada por la Agencia de Proyectos de Investigación Avanzada de El Departamento de Defensa y fue supervisado por la Oficina de Naval Investigación bajo contrato número N00014-75-C-0661. 2 1. Propósito TFTP es un protocolo simple para transferir archivos, y, por tanto, fue nombrado El Trivial File Transfer Protocol o TFTP. Se ha aplicado en Superior de la Internet User Datagram protocolo (UDP o Datagram) [2] por lo que

) Está diseñado A ser pequeño y fácil de aplicar. Información Intercambio "[1] con las modificaciones especificadas en el" Protocolo Telnet Especificación "[3]. Un paquete de datos de menos de 512 bytes señales de terminación de un .UU. Modos adicionales pueden ser definidos por los pares de cooperar anfitriones. Cruda de 8 bits de bytes. _______________ 1 Se trata de ASCII. 12 Tres modos de transferencia son soportados: netascii. mail. que pasa de 8 bits de los bytes de datos.Se puede utilizar para mover archivos entre máquinas en diferentes redes La aplicación de la UDP. Si el servidor concede la solicitud. 2 Esta sustituye a la "binario" modo de las versiones anteriores de este 3 2. Por lo tanto. que también Sirve para solicitar una conexión. (Esto no debería exlude la posibilidad de La aplicación de TFTP en la parte superior de otros protocolos datagrama. octeto. y debe ser Reconocido por un reconocimiento de paquetes antes del próximo paquete puede ser Enviada. carece de la mayoría de los Características de un FTP. Cada paquete de datos contiene un bloque de datos. tal como se definen en el "Código normalizado para EE. En común con Otros protocolos de Internet. Tenga en cuenta que es de 8 bits ASCII. El término" netascii " Se utiliza en este documento en el sentido de esta particular versión de ASCII. el Conexión se abre y el archivo se envía en bloques de longitud fija de 512 Bytes. Lo único que puede hacer es leer y escribir Archivos (o por correo) desde / a un servidor remoto. Descripción del Protocolo Transsfer Todo comienza con una solicitud para leer o escribir un archivo. No puede la lista de directorios. netascii caracteres enviados a un usuario en lugar de una Archivo. Y en la actualidad no existen disposiciones para la autenticación de los usuarios.

Por lo tanto tiempos se utilizan para detectar cuando dicha rescisión El paquete de error se ha perdido. por lo que el otro extremo de la conexión no podrá Obtenerlo. y perder el acceso a un recurso necesario (por ejemplo. no se encuentra el archivo. TFTP reconoce únicamente una condición de error que no causa Terminación. el destinatario Se timeout y podrá retransmitir su último paquete (que puede ser de datos o de un Reconocimiento). o no usuario). el disco Les niega el acceso pleno o durante un traslado). Y no volvió (es decir. la recepción de un paquete que no se puede Explica por un retraso o la duplicación de la red (por ejemplo. una incorrecta 4 Formado de paquetes). Aviso de que ambas máquinas Involucrados en una transferencia se consideran emisores y receptores. Este protocolo es muy restrictiva. Si un paquete se pierde en la red. con el fin de simplificar . causando así el remitente del paquete perdido a Retransmitir paquetes que perdieron. ya que el paso de bloqueo reconocimiento garantías De más edad que todos los paquetes se han recibido. el otro envía y reconocimientos Recibe datos. Violación de acceso. un paquete de error se envía a la originarios de acogida. Los errores son causados por tres tipos de Acontecimientos: no poder satisfacer la solicitud (por ejemplo. La mayoría de los errores causa de terminación de la conexión. Uno envía Datos y recibe reconocimientos.Transferencia. El remitente tiene que mantener en un solo paquete Parte de la retransmisión. En Este caso. Un error es Manifestado mediante el envío de un paquete de error. Este paquete no se reconoce. un servidor TFTP o usuario podrá dar por terminado después de El envío de un mensaje de error). el puerto fuente de un paquete que se recibió incorrecta.

el orden de los contenidos de un paquete será: locales de mediano Cabecera. cabecera ARPA. y el bloqueo de paso acuse proporciona corriente Control y elimina la necesidad de reordenar los paquetes de datos. Etc) para que a través del medio de transporte local. una Datagram cabecera. Datagram cabecera. Por otro Lado. DATOS. Por ejemplo. La inicialización de TID's se examina en la sección de protocolo de conexión inicial. la longitud fija que la asignación de bloques Fácilmente. Desde Datagram se aplica sobre el protocolo de Internet. que indica el campo El tipo de paquetes (por ejemplo.535. La transferencia de los identificadores (TID) 5 Utilizados por TFTP se pasan a la capa Datagram a ser utilizados como puertos. los paquetes pueden tener una cabecera (LNI. Internet cabecera.Aplicación. Por lo que debe estar entre 0 y 65. 3. el origen y el destino del puerto Datagram campos de la cabecera (su Formato se da en el apéndice) es usada por TFTP y el campo de longitud Refleja el tamaño de los paquetes de TFTP. Además. . tal como se especifica en la cabecera de TFTP. si se utilizan. ERROR. Relación con otros protocolos Como se mencionó TFTP está diseñado para ser aplicado en la parte superior de la Datagram Protocolo. y un TFTP Cabecera.) TFTP No especifica ninguno de los valores en el encabezado de Internet. etc) Estos opcodes y los formatos De los distintos tipos de paquetes se analizan con más detalle en la sección de Los paquetes TFTP. Paquetes de Internet tendrá una cabecera. (Esto puede ser o no datos Dependiendo del tipo de paquete. El TFTP consiste en una cabecera de 2 bytes opcode. seguido Por el resto de los paquetes de TFTP. TFTP cabecera. Como se muestra en Figura 3-1.

el paquete de reconocimiento contendrá el número de bloques de la Paquete de datos que se reconoce. Estos TID's se entregó apoyo a la UDP (protocolo de datagrama o de otro tipo) como El origen y el destino de los puertos. el número de bloque se Cero.-4. Con el fin de crear una conexión. y la recepción positiva Respuesta. un acuse de paquetes para escribir. En general un reconocimiento paquete contendrá el número de bloque De los paquetes de datos que se reconoce. o RRQ a leer de ella). Cada paquete está asociada con los dos de los del TID Extremos de la conexión. y envía su solicitud inicial de la conocida TID .) Si la respuesta es un paquete de error.Figura 3-1: Orden de las Cabeceras -------------------------------------------------. la fuente y el destino TID TID. bloque de números consecutivos y se comenzará con Uno. o el primer paquete de datos para Leer. desde un reconocimiento es reconocer un paquete de datos Paquete. que se utilizarán para la duración de esa conexión. a fin de que la Probabilidad de que el mismo número es elegido dos veces en la sucesión inmediata Es muy baja. Cada paquete de datos se ha asociado En la misma el número de bloque. El TID escogidas para una conexión debe ser escogido de forma aleatoria. Dado que la respuesta positiva a una operación de escritura es un Reconocimiento de paquetes.-| Local Media | Internet | Datagram | TFTP | -------------------------------------------------. Protocolo de conexión inicial Una transferencia se establece mediante el envío de una solicitud (WRQ a escribir en una Exterior del sistema de archivos. cada extremo de la conexión elige un TID por sí mismo. (Normalmente. en este caso especial. entonces 6 La solicitud ha sido denegada. Un solicitante de acogida opta por su fuente TID como se ha descrito anteriormente.

Un paquete de error debe ser enviada a la fuente De la incorrecta paquete. Host A envía una "WRQ" para acoger con B = Una fuente del TID. el reconocimiento. la siguiente muestra los pasos para crear un Conexión para escribir un archivo. Host B envía un "ACK" (con número de bloques = 0) a un anfitrión con Fuente = B's TID. Tenga en cuenta que WRQ. y son los nombres DATOS De la escritura. los conductores deben asegurarse de que la TID fuente coincide con el valor que se acordó en los pasos 1 y 2. El apéndice contiene un ejemplo similar para leer un Archivo. En algún lugar de la red. Destino = 69. Los dos elegidos TID's se utilizan para la Resto de la transferencia. A modo de ejemplo. El siguiente ejemplo demuestra un correcto funcionamiento del protocolo En el que la situación anterior puede ocurrir. y en todos los pasos sucesivos. Host A envía una solicitud al anfitrión B. mientras que la transferencia no es inquietante. 2. Esto se puede hacer sólo si el TFTP de hecho recibe un paquete con una TID incorrecta. En el siguiente Paso. Si los protocolos no lo permiten. y como . 7 En este punto la conexión se ha establecido y los primeros datos Paquete puede ser enviado por un host con un número de secuencia de 1. el paquete de solicitud se duplica. ACK. Si un Fuente no coincide con TID. y tipos de datos de paquetes Respectivamente. el paquete debe ser descartado como erróneamente Enviados desde algún otro lugar. en virtud de la operación normal. 1. utiliza un TID elegido por el servidor como su Fuente TID y el TID elegido para el mensaje anterior por el solicitante Como su destino TID. La respuesta a la Solicitud.69 decimal (105 octal) en el servicio de acogida. este Particular condición de error no se plantean. destino = A del TID.

si es diferente del TID Son elegidos para las dos conexiones de host B. Cuando el segundo Respuesta a la solicitud que llega. con diferentes del TID Elegido de acogida B en respuesta a las dos peticiones. etc) en la que indica netascii . debe ser rechazada. respectivamente) tienen el formato Muestra en la Figura 5-1. El nombre de archivo es una secuencia de bytes en netascii Terminarse con un byte nulo. Por lo tanto. El modo de campo contiene la cadena "Netascii". NetAscii ". "octet". "NETASCII". sigue un anfitrión de la conexión. Cuando el primer Respuesta llega. por ejemplo. 8 5.Resultado dos reconocimientos se devuelven a un anfitrión. en la primera conexión puede ser Mantiene mientras que la segunda es rechazada por regresar un paquete de error. Paquetes TFTP TFTP admite cinco tipos de paquetes. o "mail" (o cualquier comibnation de superior e inferior Caso. pero no hay Razón para terminar la primera conexión. y un anfitrión de los controles TID la fuente de los mensajes que recibe. Figura 5-1: RRQ / WRQ paquete 2 bytes cadena 1 byte cadena 1 byte -----------------------------------------------| Opcode | Nombre de archivo | 0 | Modo | 0 | -----------------------------------------------RRQ y WRQ paquetes (opcodes 1 y 2. todas las cuales se han mencionado Anteriormente: Opcode operación 1 Lea petición (RRQ) 2 Escriba solicitud (WRQ) 3 Datos (DATA) 4 Reconocimiento (ACK) 5 de error (ERROR) El TFTP cabecera del paquete contiene el opcode asociados a que Paquete.

Se podría crear un modo especial para una máquina que lee todos Los bits en una palabra. pero en el que el receptor almacena la información en Formato de 8 bits. . Ni netascii ni accesos octeto todos los bits en un Palabra. Correo modo utiliza el nombre de un destinatario de correo en lugar de un Fichero y debe empezar con WRQ. Por ejemplo. Si un host recibe un octeto Archivo y luego lo devuelve. esto es cuatro de 8 bits Bytes a una palabra de cuatro bits de rotura. y que ese formato es 9 Elegido.Tres modos definidos en el protocolo. Se supone que cada tipo de máquina Tiene un solo formato de 8 bits que es más común. Si la segunda forma se utiliza. una máquina de 36 bits. Más bien. se puede construir un servidor de almacenamiento. Octeto se utiliza el modo de Para transferir un archivo que se encuentra en el formato de 8 bits de la máquina desde la que El archivo está siendo transferido. en un DEC-20. pero no hay razón por la que esto tiene que ser El caso. Otro tal situación es un problema que existe actualmente en DEC-20. el remitente puede enviar archivos en netascii. regresó el archivo deben ser idénticos a los Original. Un anfitrión que recibe netascii Modalidad de datos debe traducir los datos a su propio formato. Por ejemplo. De lo contrario. Cuando tal archivo se recuperará de los lugares de almacenamiento. El receptor de correo cadena debería tener el formato "nombre de usuario" o "Nombre de usuario @ nombre de host". La discusión anterior asume que tanto el remitente y el receptor son Que operan en el mismo modo. es idéntica a netascii Modo. permite la opción De reenvío de mensajes por un relé de equipo. No hay Razón por la que dicha máquina tiene que traducir en netascii su propia forma De texto. pero el Servidor de almacenamiento puede simplemente almacenarlos sin traducción en 8 bits Formato.

la Bloque no es el último bloque de los datos. si es de cero a 511 bytes De largo. También es posible definir otras modalidades de cooperación de pares Hosts. No existe una autoridad central Que se definen estos modos o asignarles nombres. pero sería compatible con el presente 10 Especificación.) Todos los paquetes que no sean las utilizadas para la terminación son reconocidos . Esta restricción permite que el programa para un solo uso Número de discriminar entre paquetes nuevos y duplicados. El bloque Número de paquetes de datos y comenzar con un aumento de un por cada nuevo Bloque de datos. (Véase la sección sobre Normal Rescisión para más detalles. por lo que el modo de invertir También deben ser aplicadas. que señala el final de la transferencia. En ambos ejemplos. Los datos Campo es de cero a 512 bytes de longitud. DATOS paquetes (opcode = 3) tener un número de bloque y los datos de campo. No existe el equipo o la aplicación específica Modos se han especificado en TFTP. Si se trata de 512 bytes de longitud. pero el equipo local Sería en algún otro modo.Se debe restablecer a su forma original para ser útil. El usuario tendrá que recordar algunos Información para lograrlo. aunque esto debe hacerse con cuidado. No se exige Que cualquier otra aplicación de estos hosts. la petición Los paquetes se especifique el modo de octeto para el extranjero. Figura 5-2: DATOS paquete 2 bytes 2 bytes n bytes ---------------------------------| Opcode | Block # | Datos | ---------------------------------Los datos se transfiere en paquetes DATOS muestra en la Figura 5-2.

Un ERROR paquete puede ser el reconocimiento de cualquier otro tipo de paquete. A WRQ es Reconoció con un paquete ACK con un número de bloque cero. Este paquete es Reconocido por un paquete ACK DATOS igual que todos los demás paquetes. Figura 5-4: ERROR paquete 2 bytes 2 bytes cadena 1 byte ----------------------------------------| Opcode | ErrorCode | ErrMsg | 0 | ----------------------------------------Un paquete de ERROR (opcode 5) toma la forma representada en la Figura 5-4. 12 6. Un cuadro de Valores y significados se da en el apéndice. (Tenga en cuenta que varios de error Códigos han sido añadidas a esta versión de este documento. el opcode es de 4. El Código de error es un entero indicando la naturaleza del error. Datagram longitud <516). El WRQ DATOS paquetes y son reconocidos por los paquetes ACK o ERROR.) El error Mensaje se destina al consumo humano. La terminación normal El final de una transferencia se caracteriza por una DATOS paquete que contiene entre 0 y 511 bytes de datos (es decir. El anfitrión Reconociendo el final DATOS paquete puede terminar su lado de la .Individualmente. y debe ser en netascii. Al igual que todas las demás cadenas. y mientras RRQ 11 Figura 5-3: paquete ACK 2 bytes 2 bytes --------------------| Opcode | Block # | --------------------Paquetes ACK son reconocidos por ERROR DE DATOS o paquetes. El número de bloques en un ACK Se hace eco de la manzana número de los paquetes que se reconoció DATOS. Figura 5-3 Describe una de paquetes ACK. Enviar un paquete es una DATOS Reconocimiento de los paquetes ACK de los anteriores DATOS paquete. a menos que se produce un aviso de tiempo. que se pone término con un byte nulo.

El anfitrión del último envío DATOS debe retransmitir el paquete hasta que se nombre o el envío Acogida veces. El acknowledger sabrá que el ACK se ha perdido Si recibe el paquete final DATOS nuevo.-------TFTP Formatos Tipo Op # Formato sin cabecera 2 bytes cadena 1 byte cadena 1 byte ----------------------------------------------RRQ / | 01/02 | Nombre de archivo | 0 | Modo | 0 | WRQ ----------------------------------------------- . Esto significa que el anfitrión de enviar el ACK final esperará Por un tiempo antes de dar por terminado el fin de retransmitir la final ACK si Que se ha perdido. Esta es sólo una Cortesía. en ese momento un paquete de ERROR (opcode 5) es enviada.En el envío de la relación final ACK. la transferencia aún puede haber sido Completado con éxito. 13 Apéndice I. Por otra parte. En cualquier caso. es dallying Fomentarse. 7. después de lo cual la acknowledger o de la red pueden tener Experimentado un problema. Tiempos también debe utilizarse para detectar errores.-------| Local Media | Internet | Datagram | TFTP Opcode | -------------------------------------------------. la conexión se ha cerrado. La terminación prematura Si la petición no se puede conceder. Si la respuesta es un ACK. la transmisión fue Ha completado correctamente. o algún error que se produce durante la Transferencia. dado que no será retransmitido o reconocido. Orden de las Cabeceras 2 bytes -------------------------------------------------. por lo que puede Nunca se recibió. Si el remitente de los datos agota el tiempo de espera y no es Dispuesta a retransmitir más. También es posible en este caso que la La transferencia no se ha realizado correctamente.

16 3 Internet User Datagram cabecera [2] Formato . 4 TFTP ilegal operación. 15 Códigos de error Valor Significado 0 No definido. 3 de disco completo o la asignación superado. 1 No se encuentra el archivo. Host A envía una "RRQ" para acoger con B = Una fuente del TID. 2 Disponibilidad violación. Destino = 69.2 bytes 2 bytes n bytes --------------------------------DATOS | 03 | Block # | Datos | --------------------------------2 bytes 2 bytes ------------------ACK | 04 | Block # | -------------------2 bytes 2 bytes cadena 1 byte ---------------------------------------ERROR | 05 | ErrorCode | ErrMsg | 0 | ---------------------------------------- 14 Protocolo de conexión inicial de la lectura de un archivo 1. Host B envía un "DATOS" (con número de bloques = 1) a los anfitriones con un Fuente = B's TID. 7 Este usuario no existe. 6 de fichero ya existe. destino = A del TID. 5 Desconocida transferencia ID. véase el mensaje de error (si la hay). 2.

+-+-+-+-+-+-+-+ Los valores de Campos Fuente Port de cobro por iniciador de paquete. Dest. Campo contiene cero en caso de no utilización. TFTP no será necesario Aplicado en la parte superior de la Internet User Datagram Protocolo. Longitud Número de bytes en el paquete después de Datagram cabecera. 17 .0123 01234567890123456789012345678901 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+. _______________ 3 Esto se ha incluido sólo por conveniencia. 4 El implementador de este debe estar seguro de que el algoritmo es correcto Utiliza aquí.+-+-+-+-+-+-+-+ | Puerto de Origen | Puerto de destino | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+. Puerto de cobro por la máquina de destino (69 por RRQ o WRQ). 4 Checksum de referencia 2 describe las normas para el cálculo de comprobación.+-+-+-+-+-+-+-+ | Longitud | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+. Nota: TFTP pasa transferencia identificadores (TID) a Internet del usuario Datagrama de protocolo que se utilizará como origen y destino los puertos.