3. TRANSFERÊNCIA DE ARQUIVOS

Para transferir dados deve existir uma conexão de dados entre portas apropriadas e deve ser feita uma escolha de parâmetros de transferência. Os processos Cliente-DTP e Servidor-DTP possuem portas com valores default que devem ser suportadas por todas as versões de FTP. Entretanto, o cliente pode alterar o valor de tais portas.

Logo que inicia a transferência de dados, o gerenciamento da conexão de transferência de dados passa a ser responsabilidade do servidor; salvo uma transferência sem erros e em que os dados estão indo do cliente para o servidor. Nesse caso, em vez de enviar um End of File, torna-se responsabilidade do cliente fechar a conexão para indicar o fim de arquivo.

Acrescentando às definiçoes existentes do FTP, pode-se definir - também, o modo de transferência dos arquivos, de forma a otimizar e melhorar a transferência dos dados. O modo de transmissão pode ser por fluxo contínuo, modo blocado e modo comprimido.

O FTP não se preocupa com a perda ou a adulteração de bits durante a transferência, pois é atribuição do TCP - protocolo do nível de transporte, mas provê mecanismos para um eventual reinício da transferência quando ela for interrompida por problemas externos ao sistema (como uma falha na alimentação elétrica).

Este procedimento de reinício só está disponível nos modos de transferência que permitem inserir controles no meio do fluxo de dados (modo de transferência blocado e comprimido).



3.1. TRANSFERÊNCIA POR FLUXO CONTÍNUO

Os dados são transmitidos como um fluxo contínuo de caracteres. No caso do arquivo ser orientado a registro, são utilizados caracteres de controle para indicar se ocorreu um EOR ou EOF. No caso do arquivo ser não-estruturado, o fim dele é indicado pelo fechamento da conexão de dados. Esse modo não é adequado quando se deseja transferir vários arquivos em uma mesma conexão de dados. Para contornar o problema descrito acima, pode-se alterar as portas usadas pelas conexões no fim de cada transferêcia ou trasnferir um arquivo apenas por sessão.



3.1. TRANSFERÊNCIA POR MODO BLOCADO

O arquivo é transferido como uma série de blocos precedidos por um cabeçalho especial. Este cabeçlho é constituído por um contador (2 bytes) e um descritor (1 byte). O contador indica o tamanho do bloco de dados em bytes ; e o descritor, se este bloco é o último do registro, do arquivo, se é uma marca de reinício ou se ele contém dados suspeitos (com possíveis erros).

Códigos do descritor:
128 - EOR
64 - EOF
32 - erros suspeitos
16 - marcador de recomeço

Exemplificando o que foi descrito acima, para transmitir seis (6) bytes o FTP enviaria um (1) byte para o descritor - com valor 16, dois (2) bytes para o contador - com valor 6, e seis (6) bytes de dados; como segue a figura:



3.1. TRANSFERÊNCIA POR MODO COMPRIMIDO

A técnica de compressão utilizada caracteriza-se por transmitir uma seqüência de caracteres iguais repetidos. Nesse modo de transmissão, são enviados três (3) tipos de informação:
3.3.1. DADOS NORMAIS;
3.3.2. DADOS COMPRIMIDOS;
3.3.3. INFORMAÇÕES DE CONTROLE.