O FTP trabalha com o modelo CLIENTE-SERVIDOR. O modelo implementado possui uma característica interessante, que é a de utilizar duas conexões diferentes entre os sistemas envolvidos: uma denominada conexão de controle - dedicada aos comandos FTP e suas respostas; e a outra denominada conexão de dados - dedicada à transferência de dados.
A parte executada no cliente (chamada de Cliente-FTP) pode ser dividida em três módulos que interagem por algum mecanismo interno. Esses módulos são:
- Interface do Usuário;
- Interpretador de Protocolo do Cliente (Cliente-PI) e
- Processo de Transferência de dados (Cliente-DTP).
A parte executada no servidor (chamada de Servidor-FTP) é dividida em dois módulos com funções análogas aos seus equivalentes no cliente. Esses módulos são:
- Servidor-PI e
- Servidor-DTP.
A conexão de controle, usada na transferência de comandos FTP e suas respostas, é realizada diretamente entre o Cliente-PI e o Servidor-PI, e a conexão de dados é estabelecida entre o Cliente-DTP e o Servidor-DTP.
Siglas:
DTP - Data Transfer Protocol
FTP - File Transfer Protocol
PI - Protocol Interpreter