FTP Esencial: Funcionamiento, Modos de Conexión y Tipos de Clientes/Servidores

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,1 KB

Introducción al Servicio FTP

El servicio FTP (File Transfer Protocol) está basado en el protocolo FTP, un protocolo fundamental para la transferencia de ficheros en redes de tipo TCP/IP.

Contrario a la creencia común, el servicio FTP no es exclusivamente un servicio de transferencia bidireccional de ficheros entre cliente y servidor. Más bien, es un servicio integral de administración de ficheros que permite una multitud de acciones, tales como: subir, bajar, borrar, renombrar, mover, crear carpetas y borrar carpetas.

Una de las grandes ventajas del servicio FTP es su independencia de los sistemas de archivos subyacentes (por ejemplo, FAT32, NTFS, ext3, etc.), lo que facilita la interoperabilidad entre diferentes plataformas.

Por defecto, el servicio FTP utiliza el puerto TCP 20 para la transferencia de datos y el puerto TCP 21 para el control. Es importante destacar que, si bien la forma de transmisión en FTP es muy rápida, no es inherentemente segura, a menos que se utilice el modo cifrado FTPS.

Flujo de Comunicación y Conexión FTP

Para iniciar una transferencia de archivos, el usuario establece una conexión de control a través del puerto 21. Esta conexión inicial requiere la autenticación mediante el nombre de usuario y la contraseña, además de especificar el servidor al que se conecta y el puerto.

Una vez establecida la conexión con el servidor, el usuario transmite una serie de órdenes a través del puerto de control desde su ordenador hacia el servidor FTP. El servidor FTP, a su vez, responde a estas peticiones utilizando el mismo puerto de control.

Después de esta fase de negociación, el cliente FTP puede enviar órdenes relacionadas con el sistema de archivos, junto con sus parámetros específicos. Estas órdenes incluyen acciones como: almacenar (subir), recuperar (bajar), añadir (crear) o borrar.

Tras la negociación, el cliente FTP establece una conexión de datos bidireccional, lo que significa que puede enviar y recibir información simultáneamente. Aunque esta es la configuración por defecto, también es posible configurarla para que sea unidireccional. El servidor FTP responde a estas órdenes, permitiendo el envío o la recepción de datos a través del puerto indicado (por defecto, el puerto 20).

Modos de Conexión FTP: Activo y Pasivo

Existen dos modos principales de conexión en FTP, que determinan cómo se establece el canal de datos:

Modo Activo

En el modo activo, el canal de datos en el servidor siempre utiliza el puerto 20. En el lado del cliente, el canal de datos se asocia a un puerto aleatorio superior a 1024.

Modo Pasivo

En el modo pasivo, el cliente se comunica a través del canal de control por defecto. El servidor le indicará cuál será el nuevo puerto de control (siempre superior a 1024, por ejemplo, el 1063) y el cliente aceptará el puerto siguiente (el 1064 en nuestro ejemplo) como el puerto de datos.

Tipos de Transferencia FTP: Binario y ASCII

El FTP soporta diferentes tipos de transferencia para optimizar el manejo de los datos:

Transferencia Binaria

Por defecto, todo se transmite en binario, es decir, bit a bit (ceros y unos). Este método es generalmente más lento que la transferencia ASCII, pero es el más seguro para todo tipo de archivos.

Transferencia ASCII

La transferencia ASCII permite transmitir archivos byte a byte. Sin embargo, el modo ASCII tiene el inconveniente de que puede corromper archivos durante la transmisión si los sistemas operativos de origen y destino utilizan distintos tipos de sistemas de archivos o convenciones de fin de línea.

Tipos de Clientes FTP

Los clientes FTP se presentan en diversas formas para adaptarse a las necesidades del usuario:

  • Integrados en el sistema operativo: Clientes en modo texto que vienen preinstalados en sistemas como Windows, DOS o Linux.
  • Integrados en navegadores web: Funcionalidades FTP incorporadas en navegadores como Internet Explorer o Firefox.
  • Integrados en páginas web o aplicaciones: Clientes desarrollados mediante programación (por ejemplo, con PHP, ASP) o módulos, o en aplicaciones interactivas como Adobe Flash.
  • Aplicaciones cliente FTP dedicadas (Freeware): La opción más recomendada son las aplicaciones cliente FTP independientes y gratuitas, como FileZilla o Nico.
  • Gestores de descarga: Algunos clientes FTP funcionan como gestores de descarga, capaces de restablecer la conexión de datos durante una descarga sin necesidad de volver a solicitar los paquetes ya recibidos.
  • Clientes con verificación de errores: Ciertos clientes FTP incorporan mecanismos para comprobar códigos de verificación de errores, asegurando que la descarga se ha realizado con éxito.
  • Sincronizadores: Otros clientes, conocidos como sincronizadores (por ejemplo, Fling, Web Publisher, Adobe Dreamweaver), permiten revisar la fecha, el tamaño y otras características de los archivos para mantenerlos actualizados tanto en el cliente como en el servidor.
  • Versiones portátiles (Portables): Existen clientes FTP portátiles, con un peso muy reducido y que no requieren instalación, lo que permite llevarlos siempre consigo en una unidad USB.

Tipos de Servidores FTP

Los servidores FTP suelen venir integrados en versiones de sistemas operativos diseñados para servidores, como Windows Server o Linux Server. Ejemplos populares incluyen FileZilla Server (que también tiene su cliente) y gFTP Server.

Aplicaciones FTP P2P

Además de los usos tradicionales, existen aplicaciones FTP P2P (Peer-to-Peer) diseñadas para el intercambio de archivos entre usuarios particulares. En estos sistemas, cada participante actúa simultáneamente como cliente y servidor. Ejemplos conocidos son eMule, Kazaa y BitTorrent.

Entradas relacionadas: