Por que o protocolo FTP foi projetado para usar mais de uma porta?

5

A questão está no título. A razão pela qual eu me pergunto é porque estou codificando um serviço de tcp e gostaria de explorar algumas das razões que podem lançar alguma luz sobre o meu trabalho.

    
por d-_-b 17.11.2010 / 09:21

4 respostas

6

Espero que o uso de uma porta diferente simplifique o tratamento da conexão de dados esperada separada, que estará em um formato diferente da conexão de controle. Acredito que isso permitiria que o receptor simplesmente iniciasse o processamento dos dados sem ter que verificar se era um início de conexão, como precisaria ser feito se usasse a porta 21.

Isso permite que o último exemplo de uma impressora de alimentação de linha comece a receber texto para impressão. No entanto, não tenho certeza de como isso foi realmente usado naquela época (um programa no terminal encaminharia a porta 20 para sua impressora de alimentação de linha porque talvez houvesse um daemon de FTP já em 21?)

Quanto ao porquê outra conexão, há três motivos principais:

  • Permitir que o modo / tamanho de byte mais eficiente seja usado para a transferência ( link )

Efficiency of transfer is an important factor affecting the usefulness of FTP. File transfer may be very expensive (in terms of CPU time) and slow (in real-time) if an inappropriate transfer strategy is used (e.g., inappropriate byte size). Every attempt should be made to optimize transfer of data. A good strategy may be to allow transfer of files over a separate connection or close and reopen connections (using perhaps a different byte size).

  • Simplificação do tratamento de conexões de rotina ( link )

[4] We considered using two full-duplex links, one for control
information, the other for data. The use of a separate control link
between the cooperating processes would simplify aborts, error
recoveries and synchronization.

  • Capacidade de enviar a saída para outro dispositivo ( link )

It would be desirable to modify FTP to allow sending data to a specified socket in a specified mode and type. TIP users would then find it convenient to obtain listing of their files on a high-speed line printer, input their files from a card reader, and keep back-up on cards or magnetic tapes.

    
por 17.11.2010 / 10:58
3

O excesso de engenharia pode ser o principal motivo.

Uma vantagem (não usada com frequência) das conexões de controle / dados divididos é que é possível para o cliente iniciar uma transferência entre dois servidores sem que os dados precisem passar pelo cliente.

    
por 17.11.2010 / 09:38
2

A engenharia excessiva não é o caso. Ele foi projetado dessa maneira, de modo que diferentes modos de operação são permitidos. Atualmente, o FTP ativo raramente é usado, porque nesse modo o servidor se conecta de volta ao cliente. Mas naquela época - nos anos 80 - estava funcionando muito bem. FTP passivo é muito útil por trás de firewalls hoje em dia, nesse modo o cliente se conecta a portas abertas pelo servidor; os clientes geralmente não são mais acessados diretamente porque têm um firewall / NAT / appliance na frente deles. Então esse modo também faz sentido.

O artigo da wikipedia tem informações detalhadas: link

    
por 17.11.2010 / 10:33
0

O FTP usa uma porta para transmissão de dados (20) e outra para enviar os comandos (21), GET, DIR, PUT, etc ...

Uma explicação mais detalhada pode ser encontrada aqui: link

HTH!

    
por 17.11.2010 / 09:38

Tags