Tabla de contenidosTELNET

4.3 TFTP(Trivial File Transfer Protocol)




Figura: TFTP(Trivial File Transfer Protocol)

El protocolo TFTP es un protocolo estándar siendo su número STD el 33.Su status es electivo y se describe en el RFC 1350 - El protocolo TFTP(Revisión 2).

La transferencia de ficheros en TCP/IP es una transferencia de datos de disco a disco, en oposición, por ejemplo, al comando SENDFILE de VM, una función que en el mundo de TCP/IP se considera de correo, en la que envías a los datos al buzón de alguien(el lector en el caso de VM).

TFTP es un protocolo extremadamente trivial para la transferencia de ficheros. Se implementa sobre la capa UDP(User Datagram Protocol) y carece de la mayoría de las características de FTP (ver FTP(File Transfer Protocol)). La única cosa que es capaz de hacer es leer/escribir un fichero de/en un servidor.

Nota: No dispone de medios para la autentificación de usuarios: es un protocolo inseguro.

4.3.1 Uso

El comando:

TFTP <nombre del host>

conduce al prompt interactivo en el que se pueden introducir subcomandos:

Connect <host>
especifica el identificador del host de destino
Mode <ascii/binary>
especifica el tipo del modo de transferencia
Get <remote filename> [<nombre del fichero local>]
recupera un fichero
Put <remote filename> [<nombre del fichero local>]
almacena un fichero
Verbose
Activa o desactiva el modo "verbose", en el que muestra información adicional durante la transferencia del fichero.
Quit
salir TFTP

Para una lista completa de estos comandos, consulta tu guía de usuario del TFTP particular que estés usando.

4.3.2 Descripción del protocolo

Cualquier transferencia comienza con una solicitud para leer o escribir un fichero. Si el servidor concede la solicitud, se abre la conexión y el fichero se envía en bloques consecutivos de 512 bytes(longitud fija). Los bloques del fichero se numeran correlativamente, comenzando en 1. Cada paquete de datos debe ser reconocido mediante un paquete de reconocimiento antes de que se envíe el siguiente paquete. Se asume la terminación de la transferencia al recibir un paquete de menos de 512 bytes.

La mayoría de los errores provocarán la terminación de la conexión(falta de fiabilidad), Si un paquete se pierde en la red, se producirá un "timeout", tras el que se efectuará la retransmisión del último paquete (de datos o de reconocimiento).

En el RFC 783 se describió un bug bastante grave, conocido como el Síndrome del Aprendiz de Brujo. Puede causar una retransmisión excesiva en ambas partes de la conexión en algunas circunstancias en las que se producen retardos de red. Se documentó en el RFC 1123 y se corrigió en el 1350. Para más detalles, remitirse a estos RFCs.

4.3.2.1 Paquetes TFTP

Sólo existen cinco tipos de paquetes:

Opcode


Operación
1
Read Request(Solicitud de lectura(RRQ))
2
Write Request(Solicitud de escritura(WRQ))
3
Data(Datos(DATA))
4
Acknowledgment(Reconocimiento(ACK))
5
Error(Error(ERROR))

La cabecera de TFTP contiene el identificador opcode asociado al paquete.


Figura: Paquetes TFTP

4.3.2.2 Modos de transferencia

Actualmente se definen tres modos de transferencia en el RFC 1350:

NetASCII
US-ASCII tal como se define en el Código Estadounidense Estándar para el Intercambio de Información("USA Standard Code for Information Interchange") con modificaciones especificadas en el RFC 854 - Especificaciones del protocolo Telnet y extendido para usar el bit de mayor orden. Es decir, se trata de un juego de caracteres de 8 bits, a diferencia del US-ASCII, que es de 7-bits.
Octeto
También llamado binario, consiste simplemente en bytes de 8 bits.
Correo
Este modo se definió originalmente en el RFC 783 y el RFC 1350 lo declaró obsoleto. Permitía efectuar la transferencia enviando correo a un usuario en vez de un fichero.

El modo empleado se indica en el paquete "Request for Read/Write(RRQ/WRQ)".

 

Tabla de contenidos FTP("File Transfer Protocol")