viernes, 13 de noviembre de 2015

FTP(Protocolo de Trsnferencia de Archivos)


FTP
(Protocolo de Transferencia de Archivos)

contenidos

  • El modelo FTP
  • DTP (Proceso de transferencia de datos)
  • PI (Intérprete de protocolo).
  • Servidor FTP
  • Cliente FTP
  • Modos de conexión del cliente FTP
  • Tipos de transferencia de archivos en FTP
  • Bibliografía

Introducción

El protocolo FTP (Protocolo de transferencia de archivos) es un protocolo que se utiliza para la transferencia de datos.
FTP proviene de las siglas en inglés de File Transfer Protocol. Este protocolo es utilizado en forma específica para la transferencia de archivos a través de Internet. El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21.


El intérprete de protocolo (IP) de usuario inicia la conexión de control en el puerto 21. Las órdenes FTP estándar las genera el IP de usuario y se transmiten al proceso servidor a través de la conexión de control. Las respuestas estándar se envían desde la IP del servidor la IP de usuario por la conexión de control como respuesta a las órdenes.
Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, deben esperar a que el servidor inicie la conexión al puerto de datos 20, en modo activo o estándar, y transferir los datos en función de los parámetros que se hayan especificado.

El modelo FTP


El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor).
Durante una conexión FTP, se encuentran abiertos dos canales de transmisión:
  •  Un canal de comandos (canal de control)
  •     Un canal de datos




Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información:
DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión y de administrar el canal de datos
v  Servidor DTP (Data Transfer Protocol): El protocolo de transferencia de datos del servidor se utiliza para transmitir los datos entre el servidor y el protocolo de transferencia de datos del cliente. Puede estar en modo “pasivo” a la escucha de conexiones en el puerto 20 de datos.
v  Cliente DTP: El proceso de transferencia de datos “escucha” el puerto de datos (20) aceptando conexiones para la transferencia de ficheros.
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.
v  El SERVIDOR PI (Protocol Interpreter): El intérprete de protocolo del servidor es responsable de escuchar los comandos que le envía el intérprete de protocolo del cliente través del canal de control  en el puerto 21 y controlar el proceso de transferencia de datos del servidor.
v  Cliente PI: El intérprete de protocolo de usuario inicia el control de la conexión a través del puerto 21 con el servidor FTP, envía los comandos FTP una vez codificados por la interfaz de usuario y los envía al intérprete de protocolo del servidor, y controla el proceso de transferencia de los archivos (DTP).

Cuando un cliente FTP se conecta con un servidor FTP, el cliente PI inicia la conexión con el servidor de acuerdo con el protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, ejecuta su DTP y después envía una respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán los datos al Cliente DTP. El cliente DTP escucha el puerto especificado para los datos provenientes del servidor. 
Debido a que los puertos de control y de datos son canales separados, es posible enviar comandos desde un dispositivo y recibir datos en otro. Entonces, es posible transferir datos entre dos servidores FTP mediante el paso indirecto por un cliente para enviar instrucciones de control y la transferencia de información entre dos procesos del servidor conectados en el puerto correcto.

El protocolo indica que los canales de control deben permanecer abiertos durante la transferencia de datos. De este modo, un servidor puede detener una transmisión si el canal de control es interrumpido durante la transmisión.

Servidor FTP


Un 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/computadoras.
Por lo general, los programas servidores FTP no suelen encontrarse en las computadoras personales, por lo que un usuario normalmente 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, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

Cliente FTP


Cuando un navegador no está equipado con la función FTP, o si se quiere cargar archivos en un ordenador remoto, se necesitará utilizar un programa 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, el ordenador al que se quiere transferir el archivo, y la carpeta en la que se encuentra.
1.    Acceso anónimo
Los servidores FTP anónimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera más cómoda fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información sin que para ello el administrador de un sistema tenga que crear una cuenta para cada usuario. No se necesita ninguna contraseña preestablecida. Normalmente solo podrás leer y copiar los archivos que sean públicos, así indicados por el administrador del servidor al que nos queramos conectar.
2.    Acceso de usuario
Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, de modificación de archivos existentes, y de posibilidad de subir nuestros propios archivos, generalmente se suele realizar mediante una cuenta de usuario. En el servidor se guarda la información de las distintas cuentas de usuario que pueden acceder a él, de manera que para iniciar una sesión FTP debemos introducir una autentificación (login) y una contraseña (password) que nos identifica.
3.    Cliente FTP basado en Web
El usuario accede a un servidor web (HTTP) que lista los contenidos de un servidor FTP. El usuario se conecta mediante HTTP a un servidor web, y el servidor web se conecta mediante FTP al servidor FTP. El servidor web actúa de intermediario haciendo pasar la información desde el servidor FTP en los puertos 20 y 21 hacia el puerto 80 HTTP que ve el usuario. Al disponer de un cliente FTP basado en Web podemos acceder al servidor FTP remoto como si estuviéramos realizando cualquier otro tipo de navegación web. A través de un cliente FTP basado en Web podrás, crear, copiar, renombrar y eliminar archivos y directorios. Cambiar permisos, editar, ver, subir y descargar archivos, así como cualquier otra función del protocolo FTP que el servidor FTP remoto permita.
4.    Acceso de invitado
El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest). La idea de este mecanismo es tratar de permitir que cada usuario conecte a la máquina mediante su login y su password, pero evitando que tenga acceso a partes del sistema de archivos que no necesita para realizar su trabajo, de esta forma accederá a un entorno restringido.
Ejemplos de Clientes FTP
·         Free FTP Upload Manager
·         F->IT
·         net2ftp
·         Web-Ftp
·         Jambai FTP
·         ftp4net
·         PHP FTP Client
·         Weeble File Manager
·         FileZilla


Modos de conexión del cliente FTP


Estos modos se denominan activo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.
1.    Modo activo
En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. 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.
2.    Modo pasivo
Cuando el cliente envía un comando PASV sobre el canal de control, el servidor FTP le indica por el canal de control, el puerto (mayor a 1023 del servidor. Ejemplo:(2040) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control (Ejemplo: 1036) hacia el puerto del servidor especificado anteriormente (Ejemplo: 2040). Antes de cada nueva transferencia tanto en el modo Activo como en el Pasivo, el cliente debe enviar otra vez un comando de control y el servidor recibirá esa conexión de datos en un nuevo puerto aleatorio (si está en modo pasivo) o por el puerto 20 (si está en modo activo).


Tipos de transferencia de archivos en FTP


Si no utilizamos las opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos.
1.    Tipo ASCII
Archivos que sólo contengan caracteres imprimibles, por ejemplo páginas HTML, pero no las imágenes que puedan contener.
2.    Tipo Binario
Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio.

Ejemplos de cómo transferir algunos tipos de archivo dependiendo de su extensión:
En la red existen diversas soluciones de software que desarrolla este tipo de tecnología, los más conocidos, son Filezilla (software libre) y CuteFTP (shareware).











Bibliografía




No hay comentarios:

Publicar un comentario