FTP, son las siglas, en inglés, de File Transfer Protocol, que traducido a español se identifica como Protocolo de Transferencia de Archivos. El FTP está diseñado para descargar archivos (por ej., de Internet) o cargarlos (por ej., enviarlos a Internet). La capacidad para cargar y descargar archivos de Internet es una de las ventajas más importantes de Internet, especialmente para quienes dependen de los computadores para diversas funciones y para los casos en que los controladores y actualizaciones de software se necesitan de forma inmediata. Por ejemplo, las distribuciones de nuevas versiones de software se hacen actualmente de forma muy "cómoda" usando un servidor FTP, frente a la distribución tradicional en base al envío de los programas usando memoria de almacenamiento masivo, como podía ser disquetes o CDROMs.
FTP es una aplicación cliente/servidor al igual que el correo electrónico que veremos en el tema siguiente. Es necesario que haya un servidor en el otro extremo para que que podamos acceder a sus recursos. Una vez establecida la conexión con un servidor de FTP, la sesión FTP se mantiene hasta que el cliente la termina o hasta que se produce algún tipo de error de comunicación. Para el establecimiento de la conexión, como veremos más adelante en este tema, es necesario que el cliente se autentifique ante el servidor con un nombre de usuairo y una clave.
El objetivo principal de FTP es transferir archivos desde una computadora hacia otra copiando y moviendo archivos desde los servidores hacia los clientes, y desde los clientes hacia los servidores. Cuando los archivos se copian de un servidor, FTP establece una segunda conexión, un enlace de datos entre los computadores, a través del cual se transfieren los datos. La transferencia de datos se puede realizar en modo ASCII o en modo binario. Estos dos modelos determinan la forma de transferencia de los archivos de datos entre las estaciones. Cuando termina la transferencia de archivos, la conexión de datos se termina automáticamente. Después de completar toda la sesión de copiado y desplazamiento de archivos, puede desconectarse, cerrando de esta manera el vínculo de instrucciones y finalizando la sesión.
El FTP ha pasado por un larga evolución a través de los años. En el
Apéndice III (APPENDIX III - RFCs on FTP) del RFC 959, se puede encontrar la recopilación cronológica de los RFC que han tratado sobre ampliaciones del FTP.Según establece el RFC 959 los objetivos del FTP son:
Como ya hemos comentado llamamos servidor de FTP a un ordenador que tiene ficheros de datos y programas disponibles para que otros ordenadores. A través del protocolo FTP, puedan llevárselos o incorporarlos nuevos.
A dichos servidores se entrará mediante un nombre de usuario y un clave de acceso. Si no deponemos de una cuenta en ese ordenador (será lo más normal), solamente podremos entrar en él si dispone de un acceso de tipo anónimo. Muchos de ellos permiten este tipo de acceso para facilitar la entrada. Un acceso anónimo restringe las posibilidades de moverte y de operar en el ordenador. Solamente se permite entrar en los directorios que contienen los programas y documentos de dominio público y se podrán incorporar nuevos en los directorios destinados para tal fin. No se podrán borrar ficheros normalmente.
Existen programas gráficos preparados para realizar cómodamente un ftp, entre ellos el WS-FTP (existen otros más populares como CuteFTP, pero no son gratuitos) que comentaremos más adelante. Sin embargo, a menudo disponemos de un pequeño programa con el cual podemos efectuar un ftp en modo de texto.
Vamos a ver primero el proceso desde un programa en modo texto, y luego nos pararemos a ver como se opera a través de un programa gráfico como es WS-FTP.
Para conectarnos debemos conocer el nombre del servidor o su dirección. Si utilizamos cualquier sistema Windows XP/2000/2003 deberemos abrir la ventana símbolo del sistema que podemos abrir de dos maneras:

El resultado en ambos casos es que se nos abre una ventana con el aspecto siguiente:

Donde escribiremos el comando FTP para establecer la conexión con el servidor de FTP que queramos. La línea de comando será del tipo siguiente:
ftp nombre.sistema.remoto
C:\>ftp ftp.rediris.es
Debemos pulsar la tecla <enter> y una vez establecida la conexión (nos aparecerá un mensaje de bienvenida) se procederá a la verificación, por parte del servidor, del nombre y contraseña o password del usuario. Si disponemos de cuenta en el ordenador remoto entonces podremos entrar con nuestro nombre y clave de usuario, si este no es nuestro caso intentaremos entrar como anónimo para ver si nos dejan ( a veces el ftp anónimo puede no estar habilitado para que solamente los usuario que tengan cuenta puedan utilizarlo).
C:\>ftp ftp.rediris.es
Conectado a zeppo.rediris.es.
220-Welcome to Pure-FTPd.
220-You are user number 173 of 1500 allowed.
220-<<
220-Bienvenido al FTP anónimo de RedIRIS.
220-Welcome to the RedIRIS anonymous FTP server.
220-***************************************************
220->>
220-Only anonymous FTP is allowed here
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inactivity.
Usuario (zeppo.rediris.es:(none)):
Para entrar como anónimo hemos de contesta ala entrada: login: anonymous, y para la clave de acceso podemos poner “guest” o nuestra dirección de correo electrónico como norma de cortesía para que el administrador se pueda poner en contacto con nosotros si es necesario. La mayoría de los servidores anónimos guardan un registro de la gente que se conecta y además comprueban que la dirección especificada sea la correcta.
Si hemos conseguido entrar, a partir de aquí lo que tenemos que hacer es movernos por los directorios habilitados para conseguir los programas deseados (freeware y shareware).
Normalmente existe un directorio llamado “pub” (público) en el cual deberemos entrar para obtener lo que queremos. En otros sitios existen además de un directorio “pub” ,uno o varios directorios “mirror” (espejo) los cuales contienen la información actualizada de otros importantes servidores de ftp. Si profundizamos en estos directorios nos encontraremos directorios dedicados expresamente a sistemas operativos concretos y dentro de éstos, directorios dedicados a un tipo de software determinado.
Por otra parte, existe normalmente un directorio llamado “incoming” en el cual podremos grabar los archivos de datos o programas que queramos ofrecer al servidor ftp. Hay que tener especial cuidado con lo que se pone aquí, ya que aunque el administrador del servidor ftp lo examinará podemos introducir virus o software con su Copyright y meternos en un lío.
Existen un conjunto de comandos utilizados para movernos por los directorios (locales y remotos), par “bajar “ o traernos un determinado archivo , par “subir” o incorporar un nuevo archivo, etc..
Principalmente se utilizan los siguientes comandos:
open(servidor) |
Inicia una conexión con un servidor FTP,ej: open ftp.funet.fi |
close o disconnect |
Finaliza una conexión FTP sin cerrar el programa cliente |
bye o quit |
Finaliza una conexión FTP y la sesión de trabajo con el programa cliente |
cd(directorio) |
Cambia el directorio de trabajo en el servidor Ftp,ej:cd imagenes |
delete(archivo) |
Borra un fichero en el servidor Ftp |
mdelete(patron) |
Borra múltiples archivos en base a un patrón que se aplica al nombre,ej: *.gif/mdelete logo *.bmp |
dir |
Muestra el contenido del directorio en el servidor(directorio activo) |
get(archivos) |
Ordena la recepción del archivo |
hash |
Activa la impresión de caracteres # a medida que se transfieren ficheros,a modo de indicador de progreso |
lcd(directorio) |
Cambia el directorio de trabajo local,ej: lcd C:DATOS |
ls |
Muestra el contenido del directorio en el servidor |
prompt |
Activa/desactiva la confirmación por parte del usuario de la ejecución de comandos.Por ejemplo al borrar múltiples archivos |
put(archivo) |
Envía un archivo |
mput(archivos) |
Envía múltiples archivos |
pwd |
Muestra el directorio de trabajo en el servidor(directorio activo) |
rename(arachivo) |
Cambia el nombre a un archivo en el servidor Ftp |
rmdir(directorio) |
Elimina un directorio en el servidor(el directorio tiene que estar vacio) |
status |
Muestra el estado actual de la conexión |
bin o binary |
Activa el modo de transferencia binario |
ascii |
Activa el modo de transferencia en modo texto |
! |
Permite salir a command temporalmente sin cortar la conexión.Para volver,teclear exit en la línea de comandos |
?[nombre de comando] |
Muestra la información relativa al comando |
? o help |
Muestra una lista de los comandos disponibles |
append[nombre de fichero] |
Continua una descarga que se ha cortado previamente |
bell |
Activa/desactiva un tono cuando ha terminado cualquier proceso de transferencia de ficheros |
glob |
Activa/desactiva la visualización de nombres largos de nuestro PC |
lcd[directorio] |
Cambia el directorio activo de nuestro disco duro.Aquí se descargarán los ficheros elegidos del servidor |
literal |
Con esta orden se pueden ejecutar comandos del swervidor de forma remota.Para saber los disponibles se utiliza: literal help |
mkdir |
Crea el directorio indicado de forma remota |
quote |
Hace la misma función que literal |
send[nombre de fichero] |
Envía el fichero indicado al directorio activo del sercidor |
user |
Para-(sin salir de la conexión)-cambiar nuestro nombre de usuario y contraseña |
Para realizar la transferencia de archivos, nuestro proveedor de Internet debe de indicarnos que programa es el más adecuado, uno de ellos es el WS_FTP aunque existen cientos de ellos, este es uno de los más sencillos y por tanto con no muchas prestaciones (en uno de los apéndices se detalla el uso de un programa más avanzado) , una vez instalado el programa, no nos hará falta trabajar con los comandos específicos de FTP.
Para realizar la conexión FTP, debe aparecer en nuestra pantalla la ventana Session Profile. En esta ventana debemos introducir todos los datos necesarios para establecer la conexión.
Par entender como funciona lo haremos a través de un ejemplo en el que vamos a realizar una conexión FTP anónima, para obtener un fichero donde figuran libros de Shakespeare. La dirección ftp será la siguiente:
Host directorio
Duke.cs.duke.edu /pub/ola/book/data
La ventana Session Profile , tras introducir los datos es la siguiente:

Una vez completados los campos, haremos clik sobre el botón OK, para iniciar la conexión.
Los Botones Delete,Save y New, sirven para eliminar, guardar o crear respectivamente, una entrada de la lista desplegable Profile Name. Donde cada una de estas entradas contiene todos los datos introducidos de la conexión correspondiente.
Una vez finalizado el proceso se mostraría una pantalla como la siguiente:
Directorio de trabajo en el ordenador remoto

Buscando el Destino.Cambio de Directorio
Vamos a entrar en el directorio Shakespeare, para ello hacemos un clic sobre él y a continuación sobre la tecla ChgDir,
Hemos entrado en el directorio seleccionado, el fichero que buscamos es el llamado midsummer.
La transferencia del fichero o ficheros:
El fichero midsummer es un fichero de texto, por lo que debemos cambiar el tipo de transferencia haciendo un clic sobre el tipo ASCII.
Para iniciar la transferencia puedes elegir entre :
Cerrar la conexión
Finalmente para cerrar la conexión, haremos clic sobre el botón Close. El cual se convertirá en el botón Connect, que nos permitirá iniciar una nueva conexión.