Diferença entre FTP Ativo e FTP Passivo

Sem Comentários

Foi publicado aqui em nosso blog, a poucas semanas, um pequeno tutorial sobre como configurar o FTP Passivo em seu servidor virtual e/ou dedicado após a instalação do ConfigServer Security & Firewall (leia o artigo clicando aqui), o que trouxe dúvidas em relação ao modo de operação do serviço FTP. Neste artigo veremos a diferença entre o modo de operação e como ambos funcionam.

O FTP (File Transfer Protocol – Protocolo de Transferência de Arquivos) pode operar de duas formas: Ativo ou Passivo. Ambas as formas usam dois canais de comunicação cliente-servidor, sendo eles canal de comandos e canal de dados, tendo uma conexão TCP para cada. O canal de comandos é usado apenas para o envio e resposta de comandos, sendo o canal de dados utilizado para a transferência dos arquivos em si. Essa separação é feita para que o cliente possa se comunicar (enviar comandos) ao servidor sem a necessidade de aguardar o término da transmissão em execução.

FTP Ativo

O serviço FTP no modo de operação Ativo, funciona da seguinte forma: o cliente estabelece a conexão do canal de comandos (Porta ‘x’ do cliente com a porta 21 do servidor) e o servidor estabelece a conexão do canal de dados (Porta 20 do servidor para a Porta ‘y’ do cliente – onde ‘y’ é definido pelo cliente).

FTP Passivo

Com o serviço FTP atuando nesse modo, é o cliente que estabelece ambas as conexões (de dados e de comandos), sendo dito pelo servidor ao cliente apenas qual a porta a ser utilizada na conexão de dados. O modo passivo do FTP é comunmente utilizado em situações como a de nosso exemplo (vide primeiro páragrafo), caso em que o serviço FTP não consegue estabelecer o canal de dados, sendo as principais razões o bloqueio de portas por Firewalls.

De forma mais clara, o FTP Ativo fixa determinadas portas a serem usadas nas conexões de dados e comandos o que pode vir a causar erros caso o servidor possuia um Firewall instalado (que pode vir a bloquear tais portas). Já no FTP Passivo, é definido pelo SysAdmin o range de portas (2000:7000, por exemplo), nas configurações do serviço FTP, em que essas conexões serão estabelecidas, sendo definidas aleatoriamente durante o processo.

Modo Ativo

  • Passo 1: O cliente abre o canal de comandos do cliente em uma porta ‘x’, para o servidor na Porta 21;
  • Passo 2: O cliente fornece uma porta ‘x’ para o servidor. O servidor confirma a conexão do canal de comandos;
  • Passo 3: O servidor abre o canal de dados do servidor na porta 20 para o cliente na porta ‘x’;
  • Passo 4: É confirmado pelo cliente a conexão pelo canal de dados;
  • Finalizado: Nesse ponto os canais de comandos e dados estão abertos e prontos para transferir arquivos.

Modo Passivo

  • Passo 1: O cliente abre o canal de comandos de uma porta ‘x’ para a porta 21 do servidor;
  • Passo 2: O cliente envia o comando “PASV” para o servidor pelo canal de comandos. Mudando assim, a transmissão para o modo passivo;
  • Passo 3: O servidor através do canal de comandos, fornece de volta uma porta ‘y’ que irá utilizar para o canal de dados;
  • Passo 4: O cliente abre o canal de dados em uma porta ‘z’ do cliente para a porta ‘y’ do servidor;
  • Passo 5: O servidor confirma a conexão do canal de dados;
  • Finalizado: Nesse ponto os canais de comandos e dados estão abertos e prontos para transferir arquivos.

Obs: Os valores de portas utilizados neste artigo são exemplos.

Rayonni Teixeira - Gerente de Contas & Suporte Sênior III

Sobre o blog

Este Blog tem o objetivo de divulgar as novidades da WebinHost e compartilhar notícias sobre hosting, servidores, empreendedorismo e todo universo tecnológico.

Arquivos

Comente via Facebook
Sem Comentários
 

Deixe uma resposta