TFTP es un protocolo estándar con número STD 33. Su status es electivo y se describe en el RFC 1350 - El Protocolo TFTP (Revisión 2).
La transferencia de ficheros TCP/IP es una transferencia de datos disco a disco. TFTP es un protocolo extremadamente simple para transferir ficheros. Está implementado sobre UDP y carece de la mayoría de las características de FTP. La única cosa que puede hacer es leer/escribir un fichero de/a un servidor.
Nota: No tiene medios para autentificar usuarios: es un protocolo inseguro.
Uso
La orden:
TFTP <nombre_host>lleva a la línea de órdenes donde se pueden introducir las siguientes subórdenes:
- Connect <host>
- especifica el ID del host de destino
- Mode <ascii/binary>
- especifica el tipo del modo de transferencia
- Get <nombre_fichero remoto> [<nombre_fichero local>]
- recupera un fichero
- Put <nombre_fichero remoto> [<nombre_fichero local>]
- almacena un fichero
- Verbose
- cambia a modo verboso, que muestra información adicional durante la transferencia de ficheros, on o off
- Quit
- sale de TFTP
Para una lista completa de estas órdenes, ver la guía de usuario de la implementación particular de TFTP.
Descripción del protocolo
Cualquier transferencia comienza con una petición de lectura o escritura de un fichero. Si el servidor concede la petición, la conexión se abre y el fichero se envía en bloques de 512 bytes (longitud fija). Los bloques del fichero están numerados consecutivamente, comenzando en 1. Un paquete de reconocimiento debe reconocer cada paquete de datos antes de que el próximo se pueda enviar. Se asume la terminación de la transferencia cuando un paquete de datos tiene menos de 512 bytes.
Casi todos los errores causarán la terminación de la conexión (por falta de fiabilidad). Si un paquete se pierde en la red, ocurrirá un timeout, después de que la retransmisión del último paquete (datos o reconocimiento) tuviera lugar.
Paquetes TFTP
Sólo existen cinco tipos de paquetes:
Código de Operación Operación 1 Petición de lectura (RRQ) 2 Petición de escritura (WRQ) 3 Datos (DATA) 4 Reconocimiento (ACK) 5 Error (ERROR) La cabecera TFTP contiene el código de operación asociado con el paquete.
Modos de datos
Actualmente se han definido tres modos de transferencia en el RFC 1350:
- NetASCII
- US-ASCII como se define en el Código estándar USA para Intercambio de Información con modificaciones específicas en el RFC 854 - Especificaciones del Protocolo Telnet y extendido para usar el bit de orden superior. Esto es, es un conjunto de caracteres de 8 bits, no como US-ASCII que es de 7 bits.
- Octet
- Bytes de 8 bits, también llamado binario.
- Este modo se definió originalmente en el RFC 783 y se declaró obsoleto en el RFC 1350.
El modo se indica en la petición de paquete de lectura/escritura (RRQ/WRQ).