FTP es un protocolo estándar con STD número 9. Su estado es recomendado y se describe en el RFC 959 - Protocolo de Transferencia de Ficheros (FTP).
Una de las operaciones que más se usa es la copia de ficheros de una máquina a otra. El cliente puede enviar un fichero al servidor. Puede también pedir un fichero de este servidor.
Para acceder a un fichero remoto, el usuario debe identificarse al servidor. En este momento el servidor es responsable de autentificar al cliente antes de permitir la transferencia del fichero.
Operaciones de FTP
Conectando con el Host Remoto
Existen tres órdenes:
- Open
- Selecciona el host remoto e inicia la sesión de login
- User
- Identifica el usuario remoto
- Pass
- Autentifica al usuario
Seleccionando un Directorio
Cuando se establece el enlace de control, el usuario puede usar la suborden cd para seleccionar un directorio remoto. El usuario puede seleccionar un directorio local con la orden lcd.
Copiando ficheros
- Get
- Copia un fichero del host remoto al host local.
- Put
- Copia un fichero del host local al host remoto.
Terminando la sesión de transferencia
- Quit
- Disconecta del host remoto y termina el FTP.
- Close
- Disconecta del hoat remoto pero deja el cliente de FTP ejecutado.
Códigos de Respuesta
Los códigos de respuesta son de tres dígitos, donde el primer dígito es el más significativo.
Códigos de Respuesta de FTP - El segundo y tercer dígitos proporcionan más detalles acerca de la respuesta Código Descripción 1xx Respuesta preliminar positiva 2xx Respuesta finalización positiva 3xx Respuesta intermedia positiva 4xx Respuesta finalización negativa 5xx Respuesta finalización permanente negativa Ejemplo
Para cada orden de usuario, mostrada como esto, el servidor de FTP responde con un mensaje que comienza con un código de respuesta de 3 dígitos, mostrado como esto:
FTP foreignhost 220 service ready USERNAME cms01 331 user name okay PASSWORD xyxyx 230 user logged in TYPE Image 200 command okayUna muestra de sesión FTP
[C:\SAMPLES]ftp host01.itsc.raleigh.ibm.com Connected to host01.itsc.raleigh.ibm.com. 220 host01 FTP server (Version 4.1 Sat Nov 23 12:52:09 CST 1991) ready. Name (rs60002): cms01 331 Password required for cms01. Password: xxxxxx 230 User cms01 logged in. ftp> put file01.tst file01.tst 200 PORT command successful. 150 Opening data connection for file01.tst (1252 bytes). 226 Transfer complete. local: file01.tst remote: file01.tst 1285 bytes received in 0.062 seconds (20 Kbytes/s) ftp> close 221 Goodbye. ftp> quit
Figura: Una muestra de sesión FTP - Transferir un fichero a un host remoto
FTP Anónimo
Muchos sitios TCP/IP implementan lo que se llama un FTP anónimo, que significa que estos sitios permiten acceder públicamente a algunos directorios de ficheros. El usuario remoto sólo necesita usar el nombre de login anonymous y la clave guest o alguna otra clave convenida, normalmente una dirección de correo electrónico. La clave convenida a utilizar en un sistema se explica al usuario durante el proceso de conexión.