Existe una variante activa y una pasiva del FTP: en el FTP activo, el cliente establece la conexión como se ha descrito anteriormente, mediante el Puerto 21, y de esta manera le comunica al servidor a través de qué puertos del lado del cliente puede transmitir sus respuestas. No obstante, si el cliente está protegido con un firewallo cortafuegos, el servidor no puede enviar respuestas, ya que todas las conexiones externas quedan bloqueadas. Para estos casos se ha creado la versión pasiva: el servidor da a conocer un Puerto a través del cual el cliente puede establecer el canal de datos. Puesto que, de este modo, es el cliente quien inicia la conexión, el firewall no bloquea la transferencia.
El File Transfer Protocol admite diferentes órdenes y códigos de situación: con un total de 32 órdenes, de las cuales no todas están implementadas también en el servidor, el cliente ordena al servidor que cargue, descargue o elimine archivos u organice directorios. El servidor, por su parte, responde con un código de situación que indica si se ha podido ejecutar la orden correctamente.
Generalmente se necesitan datos de acceso concretos para poder utilizar el FTP en un servidor. Sin embargo, un servidor también puede ofrecer un FTP anónimo. Con él, el operador del servidor permite a cualquier usuario enviar archivos a servidor o descargarlos de allí mediante el FTP, sin necesidad de introducir una contraseña. Puesto que los riesgos de seguridad son elevados en este tipo de servidores FTP abiertos, las funcionalidades que ofrecen a los usuarios suelen ser limitadas.