FTP es un protocolo de transferencia de archivos entre sistemas conectados a una red TCP que utiliza el modelo cliente-servidor. El cliente inicia una conexión de control en el puerto 21 y envía comandos al servidor, el cual puede responder en modo activo o pasivo. FTP admite dos modos de conexión del cliente - activo, donde el cliente envía comandos PORT, o pasivo, donde envía comandos PASV.