Qual é o protocolo FTP?

FTP ou File Transfer Protocol (em português, Protocolo de Transferência de Arquivos) é uma forma bastante rápida e versátil de transferir arquivos (Portugal: conhecidos como ficheiros), sendo uma das mais usadas na Internet.

Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso, tradicionalmente aparece em letras minúsculas, por influência do programa de transferência de arquivos do Unix).

A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais). O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware.

Visão geral do protocolo

O protocolo é especificado na RFC959, resumida logo a seguir.

Um cliente realiza uma conexão TCP para a porta 21 do servidor. Essa conexão, chamada de conexão de controle, permanece aberta ao longo da sessão enquanto uma segunda conexão, chamada conexão de dados, é estabelecida na porta 20 do servidor e em alguma porta do cliente (estabelecida no diálogo entre ambos) como requisitado para a transferência de arquivo. A conexão de controle é utilizada para administração da sessão (comandos, identificação, senhas) entre cliente e servidor utilizando um protocolo semelhante ao Telnet. Por exemplo, "RETR filename" iria transferir o arquivo especificado de um servidor para um cliente. Devido a essa estrutura de duas portas, FTP é considerado out-of-band, ao contrário de protocolos in-band, tal como HTTP.

O servidor responde na conexão de controle com três dígitos de código de estado em ASCII com uma mensagem de texto opcional. Por exemplo, "200" ou "200 OK" significa que o último comando obteve sucesso. Os números representam o número do código e o texto opcional representa as explicações ou parâmetros necessários. Uma transferência de arquivo em progresso, sobre uma conexão de dados, pode ser abortada utilizando uma mensagem de interrupção enviada sobre a conexão de controle.

FTP pode ser executado em modo ativo ou passivo, os quais determinam como a conexão de dados é estabelecida. No modo ativo, o cliente envia para o servidor o endereço IP e o número da porta na qual ele irá ouvir e então o servidor inicia a conexão TCP. Em situações onde o cliente está atrás de um firewall e inapto para aceitar entradas de conexões TCP, o modo passivo pode ser utilizado. O cliente envia um comando PASV para o servidor e recebe um endereço IP e um número de porta como resposta, os quais o cliente utiliza para abrir a conexão de dados com o servidor. Ambos os modos foram atualizados em Setembro de 1998 para adicionar suporte ao IPv6 e feitas algumas mudanças no modo passivo, tornando-o modo passivo estendido.

Durante a transferência de dados sobre a rede, quatro representações de dados podem ser utilizadas:

  • Modo ASCII: usado para texto. Dado é convertido, se necessário, da representação de caracteres do host remetente para 8-bit em ASCII antes da transmissão, e (novamente, se necessário) para a representação de caracteres do host destinatário. Como consequência, esse modo é inapropriado para arquivos que contenham dados numéricos em binário, ponto flutuante ou forma decima codificada em binário.
  • Modo imagem (normalmente chamada de modo binário): a máquina remetente envia cada arquivo byte a byte e como tal, o destinatário armazena o fluxo de bytes conforme ele os recebe (o suporte ao modo imagem tem sido recomendado para todas as implementações de FTP).
  • Modo EBCDIC: utilizado para texto simples entre hosts utilizando o conjunto de caracteres EBCDIC.
  • Modo local: permite que dois computadores com configurações idênticas enviem dados em um formato proprietário sem a necessidade de convertê-los para ASCII.

Para arquivos texto, são fornecidas opções para diferentes controles de formato e estrutura de registros. Esses recursos foram projetados para suporte à formatação Telnet ou ASA.

A transferência de dados pode ser feita em qualquer um dos três modos a seguir:

  • Modo fluxo: dado é enviado como um fluxo contínuo, liberando FTP de fazer algum processamento. Ao invés disso, todo processamento é deixado para o TCP. Nenhum indicador de fim de arquivo é necessário, a menos que o dado esteja dividido dentro de registros.
  • Modo de bloqueio: FTP quebra o dado dentro de vários blocos( bloco de cabeçalho, contagem de byte e campo de dado) e então passa-o para o TCP.
  • Modo comprimido: dado é comprimido utilizando um algoritmo simples.

Como ocorre a transferência de arquivos

A transferência de arquivos dá-se entre um computador chamado "cliente" (aquele que solicita a conexão para a transferência de dados) e um servidor (aquele que recebe a solicitação de transferência). O utilizador, através de software específico, pode selecionar quais arquivos enviar ou receber do servidor. Para existir uma conexão ao servidor,caso o servidor exija, o utilizador informa um nome de utilizador (ou username, em inglês) e uma senha password, bem como o nome correcto do servidor ou seu endereço IP.

Se os dados foram informados corretamente, a conexão pode ser estabelecida.

Acesso aos servidores FTP

O acesso a servidores FTP pode ocorrer de dois modos: através de uma interface ou através da linha de comando, tanto usuários LINUX como usuários Windows podem acessar através dos dois modos. O modo linha de comando está presente em qualquer distribuição LINUX-like e Windows, através do telnet.

A partir de qualquer navegador credenciado (Internet Explorer, Firefox, ou mesmo no Windows Explorer), conforme a norma RFC1738 também é possível aceder a um servidor FTP digitando na barra de endereço:

ftp://[username]:[password]@[servidor]

ou

ftp://[username]:[password]@[servidor]:[porta]

VOLTAR

  • 1 Utilizadores acharam útil
Esta resposta foi útil?

Artigos Relacionados

O que é um domínio Internet?

Domínio é um nome que serve para localizar e identificar conjuntos de computadores na internet....

O que é uma mídia social?

As "ferramentas de mídias sociais" são sistemas projetados para possibilitar a interação social...

O que é DNS?

O Domain Name System ( DNS ) é um sistema de gerenciamento de nomes hierárquico e distribuído...

O que é computação em nuvem?

O conceito de computação em nuvem (em inglês, cloud computing) refere-se à utilização da...

O que é o protocolo de Internet IPv6?

IPv6 é a versão mais atual do Protocolo de Internet. Originalmente oficializada em 6 de junho de...

Powered by WHMCompleteSolution