El protocolo FTP es un protocolo de transferencia de archivos (File Transfer Protocol) El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP / IP. El objetivo del protocolo FTP es: • permitir que equipos remotos puedan compartir archivos • permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor permitir una transferencia de datos eficaz • Puede utilizarse a través de TELNET o una aplicación bajo algún sistema operativo.
Durante una conexión FTP, se encuentran abiertos dos canales de transmisión cada canal utiliza un puerto: • •
Un canal de comandos (canal de control) . Puerto 21 Un canal de datos . Puerto 20
El Protocolo FTP permite conexiones FULL-DUPLEX.
El cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información: (Proceso de transferencia de datos ) es el proceso encargado de establecer la conexión y de administrar el canal de datos.
DTP
PI
(Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor: •
El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del canal de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir los comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP.
•
El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos FTP, de recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP, si fuera necesario.
Servidor FTP •
Es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet.
•
Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.
•
Estos programas no suelen encontrarse en los ordenadores personales, por lo que un usuario utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.
•
Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa.
Cliente FTP •
Un cliente FTP es un programa que se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos.
•
Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside (servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.
•
Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.
• Acceso anónimo:
permite acceder a los archivos del servidor sin necesidad de tener una cuenta de usuario. El cliente solo podrá leer y copiar los archivos existentes, pero no modificarlos ni crear nuevos .
• Acceso de usuario:
mediante una cuenta de usuario se obtienen privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP.
•
Acceso de invitado: Es una mezcla de los dos
anteriores. Se usa una cuenta de usuario pero no se tiene acceso a partes del sistema de archivos que no necesita para realizar su trabajo. Se tiene un entorno restringido, similar a los accesos anónimos, pero con más privilegios. •
Cliente FTP basado en Web: no es más que un
Cliente FTP al cual podemos acceder a través de nuestro Navegador Web sin necesidad de tener otra aplicación para ello. Se utiliza para acceder desde un ordenador de acceso público o cuando estamos detrás de un Cortafuegos que no nos permite acceder a servidores FTP externos.
Activo: el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado. Pasivo: el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control
TIPO ASCII Adecuado para transferir archivos que sólo contengan caracteres imprimibles TIPO BINARIO Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio...
Toda comunicación que se realice en el canal de control sigue las recomendaciones del protocolo Telnet. Por lo tanto, los comandos FTP son cadenas de caracteres Telnet (en código NVTASCII) que finalizan con el código de final de línea Telnet (es decir, la secuencia +, Retorno de carro seguido del carácter Avance de línea indicado como ). Si el comando FTP tiene un parámetro, éste se separa del comando con un espacio ().
Los comandos FTP hacen posible especificar: El puerto utilizado El método de transferencia de datos La estructura de datos La naturaleza de la acción que se va a realizar (Recuperar, Enumerar, Almacenar, etc.)
Existen tres tipos de comandos FTP diferentes: Comandos de control de acceso Comandos de parámetros de transferencia Comandos de servicio FTP
TFTP (Protocolo Trivial de Transferencia de Archivos) : Este protocolo se centra en las operaciones de leer y escribir un archivo, para la ejecución de las cuales utiliza UDP (Protocolo de Datagrama de usuario). A diferencia de FTP no utiliza directorios ni autoriza usuarios. Utiliza un sistema de confirmaciones para asegurar la entrega de datos entre el servidor y el cliente. Es una aplicación muy fácil de implementar y que ocupa muy poco espacio , por lo cual se propuso utilizarlo para transferir bootstrap loaders (programas de arranque). SFTP (Protocolo Simple de Transferencia de Archivos) : Es un intento por encontrar un punto intermedio entre FTP y TFTP. Soporta el control de acceso, transferencia de archivos, listas de directorios, cambio de directorios, renombramiento y borrado de archivos. Utiliza el protocolo TCP pero con una sola conexión.