Servidores

¿Qué es FTP y cómo funciona?

Protocolo FTP – Historia

Resultado de imagen de Abhay BhushanA principios de 1970, Abhay Bhushan, un estudiante de la prestigiosa universidad del MIT, ideó un sistema que permitía transferir archivos entre distintos ordenadores conectados en una red LAN, y/o a través de ARPANET (el precursor de internet).

Este método era tan ágil y fiable que hoy, 40 años después, seguimos usándolo con apenas unas ligeras modificaciones.

Si quieres saber más sobre cómo usar este protocolo para subir tu web a la red, ¡te recomendamos seguir leyendo!

 

¿Qué es y cómo funciona FTP?

FTP es el acrónimo de File Transfer Protocol, es decir, Protocolo de Transferencia de Archivos.

¿Y qué es un protocolo? Es un conjunto de reglas, usadas por ordenadores, para comunicarse unos con otros a través de una red. Es decir, un protocolo marca las reglas de juego entre los sistemas implicados, para poder conseguir un fin, en este caso, transferir archivos de uno a otro.

 

FTP funciona bajo la arquitectura Cliente-Servidor. Eso quiere decir que un ordenador (el cliente), envía una petición de conexión a un segundo dispositivo conocido (el servidor). Éste último gestiona las credenciales (usuario y contraseña) y decide si aceptar o no la petición.

En el caso de que acepte la petición, muestra al cliente los archivos que le están permitidos compartir. Y el cliente podrá, según los permisos que tenga:

  • Únicamente ver los archivos
  • Descargarlos / Copiarlos a su memoria
  • Subir archivos nuevos / Modificar los que hay alojados en el servidor

Estos permisos pueden otorgarse individualmente para cada cliente, para cada carpeta e incluso para cada archivo, y se conocen bajo el nombre de chmod.

Así que cuando queremos crear una web, lo que hacemos en realidad es actuar como clientes, y subir archivos a través del protocolo FTP a nuestro servidor, que es quien aloja la web. Pero para hacerlo, habitualmente empleamos una serie de programas…

 

Accediendo vía FTP: Programas y navegador

Como decíamos, para acceder a otro ordenador vía FTP, necesitamos conocer su dirección. La dirección puede ser el nombre del servidor o la ip del mismo.

Ejemplo:
Nombre: ftp.dominio.td
Ip: 31.11.190.157

Por otro lado, aunque los puertos de conexión por defecto son 20 y 21, es posible que por seguridad, el servidor haya sido configurado para aceptar peticiones FTP a través de otros puertos menos conocidos. Además, también es posible que el servidor sólo acepte peticiones FTP encriptadas (SSL/TLS).

Por último, necesitaremos credenciales de acceso (usuario y contraseña), aunque es posible crear conexiones FTP anónimas.

Ejemplo:
Usuario: usuario_ftp
Contraseña: 458742557

Sabiendo todo ésto, sólo precisaremos o bien de un navegador de internet cualquiera (Chrome, Firefox, Opera…), o bien de un programa especializado.

Los programas ofrecen enormes ventajas con respecto al navegador, como por ejemplo la opción de reanudar la descarga en caso de que ésta se interrumpa por cualquier motivo. Algunos de los más comunes y gratuitos son:

La seguridad del protocolo: De FTP a FTPS

FTP está pensado para que la transferencia de archivos sea lo más rápida posible. Lamentablemente eso ha supuesto dejar de lado la seguridad: Toda la información que se transfiere durante el handshake entre cliente y servidor (contraseñas, logins, nombre del servidor…) se hace en texto plano, pudiendo ser así muy fácilmente hackeable.

Afortunadamente pueden añadirse capas de cifrado de datos que aumentan ostensiblemente la seguridad. La más común es FTPS, que hace referencia al uso de la capa SSL/TLS bajo el estándar FTP.

De esta forma se consigue el cifrado del canal y de los datos transferidos. Así, si un sniffer tuviese acceso a la transferencia, a diferencia de lo que ocurría con FTP, ahora obtendría cadenas de datos cifradas (un hash).

Por otro lado, es importante señalar que FTPS no es lo mismo que SFTP, pues éste último es un protocolo, también de transferencia de archivos, pero que suele usarse con SSH (¿Ver qué es un túnel SSH?).

 

Si te ha resultado útil esta entrada, ¡no olvides compartirla!

 

Cristian Sarabia Martínez

Desde que a principios de los 90 mi padre desempolvó su Spectrum, no he dejado de probar y experimentar con la tecnología.

Enamorado del mundo web, Full Stack Developer de profesión y diseñador por devoción.

Ahora hago mis pinitos en esto del blogging para compartir con vosotros un poquito de todo lo que la comunidad me ha dado.

Escribir comentario

Haz clic aquí para dejar tu comentario