Protocolo FTP
Este artigo explica o funcionamento do protocolo FTP
O FTP (Protocolo de transferência de arquivos) é um protocolo utilizado para transferência de dados da camada de aplicação, através de uma interface que o usuário se identifica, envia e recebe arquivos para um servidor FTP. Como o protocolo HTTP o FTP utiliza conexão TCP para se conectar com o servidor mas com uma diferença importante, o FTP utiliza duas conexões TCPs paralelas para transmitir um arquivo, uma conexão de controle e uma conexão de dados.
A conexão de controle é utilizada para trocar informações como as de usuário e senha, mudança de diretórios,inserir e apagar arquivos. A conexão de dados serve para enviar os arquivos solicitado pelo cliente. Por este motivo dizemos que o FTP possui informações de controle fora da banda, diferente do HTTP que possui informações de controle na banda, na mesma conexão TCP.
Ao iniciar uma sessão TFP o cliente inicia primeiramente uma conexão de controle com o servidor na porta 21, por onde envia informações de usuário e senha e comandos para mudar diretório. Com a verificação positiva do usuário o servidor mantem a conexão de controle aberta e aguarda as solicitações, quando o cliente solicita um arquivo o servidor abre uma conexão de dados com o cliente através da porta 20 que fechada logo após o envio do mesmo. Se durante a sessão o cliente solicitar outro arquivo o FTP abrirá outra conexão TCP, ou seja o FPT manter uma conexão não persistente na conexão de dados e uma conexão persistente na conexão de controle. Durante uma sessão FTP o servidor mantem informações de estado do cliente, monitorando seu tráfego na árvore de diretório e associa cada sessão TCP a um cliente especifico, por este motive é considerado uma protocolo de estado, diferente do protocolo HTTP que não monitora o cliente e por isso é considerado um protocolo sem estado.
Seque abaixo uma tabala com os comandos mais comuns de um cliente FPT:
Comando | Função |
---|---|
User name | Usado para envia r a identificação do usuário ao servidor |
PASS password | Usado para enviar a senha do usuário do servidor |
LIST | Usado para solicitar a lista de arquivos do diretório atual, que é enviada pela conexão de dados (não persistente) |
RETR filename | Usado para extrair um arquivo do servidor |
STOR filename | Usado para inserir um arquivo no diretório atual do servidor |
Segue abaixo uma tabela com algumas mensagens de resposta do servidor FTP:
Código | Mensagem |
---|---|
331 | Nome do usuário OK, senha requisitada. |
125 | Conexão de dados já aberta: Iniciando transferência |
425 | Não é possível abrir conexão de dados |
452 | Erro ao escrever o arquivo |
OBS:
O fato do protocolo FTP ser um protocolo de estado limita sua capacidade máxima de sessões simultâneas no servidor. Já o protocolo HTTP por não ser uma aplicação de estado suporta muito mais sessões simultâneas.
Artigos relacionados
-
DevCast
-
Artigo
-
Artigo
-
Artigo
-
Artigo