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
·
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).
No hay comentarios:
Publicar un comentario