O protocolo FTP (File Transfer Protocol) que na tradução seria Protocolo de Transferência de Arquivos, é um protocolo para transferência de arquivos baseados em TCP, anterior até mesmo aos protocolos TCP/IP. Os arquivos transferidos por FTP podem ser ou não de textos e são transferidos por servidores remotos, o protocolo FTP já adaptado para TCP/IP utiliza duas portas para requisitar e transferir o arquivos.
Por exemplo, se você se você utilizar a porta 21 para fazer uma conexão de controle, ela irá permanecer aberta enquanto a porta 20 ou outra porta é usada como conexão de dados. Enquanto os arquivos são transferidos pela 20, a porta 21 ficará como administradora de comandos, senhas e identificação.
Em toda transferência teremos o que chamamos de cliente, que é o computador na qual solicita algum tipo de ação e um servidor que são computadores onde ficam os dados que devem ser transferidos. Alguns sites maiores tem o que é chamado de mirror que na tradução é chamado de espelho. São basicamente servidores que tem os mesmos arquivos de outro servidor. Assim você tem mais opções de transferência, ou seja, se houver um servidor próximo você baixa o arquivo rapidamente.
O sistema FTP, assim como outros milhares de protocolos, foi criado baseado no sistema UNIX. Hoje existem milhares e milhares de servidores espalhados por todo o mundo e bilhões de transferências são feitas por dia. Cada dia novas tecnologias surgem tanto para alocar arquivos como para aumentar a velocidade da transferência. Atualmente temos até sistemas de cloud, que são servidores que guardam conteúdos locais de computadores para serem disponibilizados sempre que o cliente precisar.