n4t4n
(usa Arch Linux)
Enviado em 25/05/2011 - 17:10h
Achei uma explicação bem mastigada.
No modo ativo, o cliente requisita o servidor usando uma porta aleatória, por exemplo, a porta 1026, endereçando o pacote à porta 21 do servidor.
O servidor imediatamente contata o cliente de volta, usando a porta seguinte(do cliente) para enviar dados.
Se o cliente usou a porta 1026 para abrir uma conexão, então o servidor enviará os dados na porta 1027.
A questão principal é que o modo ativo não funciona quando o cliente acessa através de uma conexão compartilhada. Ao tentar responder, o servidor cairia na porta 1027 do gateway da rede, sem conseguir chegar ao cliente.
No modo passivo, o cliente também abre a conexão contatando a porta 21 do servidor, entretanto, ao invés de iniciar a conexão imediatamente, o servidor responde avisando que o cliente pode contatá-lo numa segunda porta, escolhida aleatóriamente (a 2026, por exemplo). O cliente inicia, então, uma nova conexão na porta especificada e o servidor responde enviando os dados.
Esta porta fica reservada ao cliente durante o tempo que durar a transferência. Em teoria, isto seria um limite ao número de clientes que poderiam se conectar simultaneamente, mas, na prática, seriam necessárias mais de 64.000 conexões simultâneas ao mesmo servidor FTP para esgotar as portas disponíveis.
Por ser mais fácil de utilizar em redes compartilhadas e minorar as dificuldades decorrentes de restrições normalmente encontradas nestas redes, sugerimos que você configure seu cliente de FTP para utilizar o modo passivo sempre que possível.
Quando o FTP é utilizado em modo ativo em uma rede restritiva, normalmente temos sintomas como:
- conexão de FTP OK, porém não lista os diretórios da hospedagem;
- alguns arquivos/pastas publicados anteriormente não ficam "visíveis" no FTP.
fonte:
http://tutorial.uolhost.com.br/index.php?p=resposta&res=576#rmcl
Outra explicação:
http://wiki.locaweb.com.br/pt-br/FTP_Passivo_(PasvMode)_vs_FTP_Ativo