Sei sulla pagina 1di 6

File Transfer Protocol

Origem: Wikipédia, a enciclopédia livre.


Ir para: navegação, pesquisa
Protocolos Internet (TCP/IP)

Camada Protocolo

5.Aplicação HTTP, SMTP, FTP, SSH, Telnet, SIP,


RDP, IRC, SNMP, NNTP, POP3, IMAP,
BitTorrent, DNS, Ping ...

4.Transporte TCP, UDP, RTP, SCTP, DCCP ...

3.Rede IP (IPv4, IPv6) , ARP, RARP, ICMP,


IPSec ...

2.Enlace Ethernet, 802.11 WiFi, IEEE 802.1Q,


802.11g, HDLC, Token ring, FDDI,
PPP,Switch ,Frame relay,

1.Física Modem, RDIS, RS-232, EIA-422, RS-


449, Bluetooth, USB, ...

FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma


forma bastante rápida e versátil de transferir arquivos (também 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 e
do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições
de acesso e propriedades dos mesmos.

Índice
[esconder]

• 1 Visão geral do protocolo


• 2 Como ocorre a transferência de arquivos
• 3 Acesso aos servidores FTP
• 4 Modos e interfaces
• 5 Comandos do cliente FTP
• 6 Tradução de nomes de arquivos
• 7 Mensagens FTP
• 8 Modo cliente-servidor do FTP
• 9 Lista de Comandos FTPs
• 10 Lista de clientes FTP
• 11 Ver também

• 12 Referências

[editar] Visão geral do protocolo


O protocolo é especificado na RFC 959, resumida logo a seguir.[1]

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)[2] 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[2].

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[3]. 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, cujos 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, cujos
quais o cliente utiliza para abrir a conexão de dados com o servidor.[1] 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.[4].

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


ser utilizadas[5]:

• 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 númericos 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, controle de formato diferente e opções de estrutura de registro são
fornecidos. Esses recursos forma projetados para contendo a formatação Telnet ou
ASA.

Tranferência de dados pode ser feita em qualquer um dos três modos a seguir:[3]

• Modo fluxo: dado é enviado como um fluxo contínuo, liberando FTP de fazer
algo 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.[5]
• Modo comprimido: dado é comprimido utilizando um algoritmo simples.

[editar] 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, utilizando-se dois canais de comunicação, chamados de portas (ports).
Tais portas são conexões no qual é possível trocar dados. No caso da comunicação FTP,
são utilizadas duas portas. Uma de controle (porta 21) e outra para tranferência de
arquivos(porta 20).

[editar] 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 UNIX como usuários Windows podem
acessar através dos dois modos. O modo linha de comando está presente em qualquer
distribuição UNIX-like e Windows, através do telnet.

A partir de qualquer browser credenciado(Internet Explorer, Firefox, ou mesmo no


Windows Explorer) também é possível aceder a um servidor FTP. Basta, para isso,
digitar na barra de endereço:

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


ENTER

[editar] Modos e interfaces


O protocolo subjacente ao FTP pode rodar nos modos interativo ou batch. O cliente
FTP fornece uma interface interativa, enquanto que o MIME e o HTTP usam-no
diretamente. O protocolo permite a gravação e obtenção de arquivos, a listagem da pasta
e a alteração da pasta de trabalho. ok

[editar] Comandos do cliente FTP


Os servidores de FTP raramente mudam, mas novos clientes FTP aparecem com
bastante regularidade. Estes clientes variam no número de comandos que implementam,
a maioria dos clientes FTP comerciais implementam apenas um pequeno subgrupo de
comandos FTP. Mesmo que o FTP seja um protocolo orientado a linha de comandos, a
nova geração dos clientes FTP esconde esta orientação num ambiente gráfico, muitas
vezes, muito desenvolvido.

A interface cliente do FTP do BSD UNIX é um padrão por si mesma, possuindo muitos
comandos arcaicos:tenex oucarriage control que hoje não têm uso. Os comandos
mais usados são ocd,dir,ls,get eput.

O FTP tem particularidades que são hoje pouco comuns. Depois da ativação doftp, é
estabelecida uma conexão ao host remoto. Esta conexão envolve o uso da conta do
usuário no host remoto, sendo que alguns servidores FTP disponibilizam anonymous
FTP.

Certos comandos são os que fazem a transferência bidirecional de arquivos, são eles:

• get do servidor FTP para o host local (mget para mais que um arquivo)
• put para o servidor FTP a partir do host local (mput para mais que um arquivo)

Nota: alguns comandos podem não funcionar com o usuário sendo anonymous, pois tal
conta tem limitações de direitos a nível do sistema operacional.

[editar] Tradução de nomes de arquivos


A sintaxe dos nomes dos arquivos pode ser incompatível entre diferentes Sistemas
Operacionais. O UNIX usa 128 caracteres, maiúsculas e minúsculas, enquanto que o
DOS usa 8 + 3 caracteres e apenas maiúsculas. Certos nomes não podem ser usados em
alguns sistemas. Devido a isto tudo o BSD ftp define regras para a tradução de nomes.

[editar] Mensagens FTP


O FTP permite dois modos de transferência de mensagens FTP: texto (com traduções
apropriadas) ou binário (sem tradução). Cada mensagem do servidor inclui um
identificador decimal de 3 dígitos (exemplo: 226 Transfer complete). Estas
mensagens podem ser vistas ou não, usando para isso o modo verbose ou quiet,
respectivamente.

[editar] Modo cliente-servidor do FTP


O Servidor remoto aceita uma conexão de controle do cliente local. O cliente envia
comandos para o servidor e a conexão persiste ao longo de toda a sessão (tratando-se
assim de um protocolo que usa o TCP).

O servidor cria uma conexão de dados para a transferência de dados, sendo criada uma
conexão para cada arquivo transferido. Estes dados são transferidos do servidor para o
cliente e vice e versa.

Os comandos estão separados dos dados e o cliente pode enviar comandos durante a
transferência de dados. O encerramento da conexão indica o fim do arquivo.

[editar] Lista de Comandos FTPs


Os comandos abaixo podem ser executados no FTP através da linha de comando. Os
comandos do FTP podem ser abreviados, desde que não formem expressões ambiguas.

Os comandos podem estar abreviados. Seguem os comandos:

• !: Executa o comando na máquina local.


• ?: Semelhante a help.
• append: Adiciona dados a um arquivo existente.
• ascii: Configura o tipo de transferência de arquivos para ASCII.
• bell: Emite um bip quando um comando é executado.
• binary: Configura o tipo de transferência de arquivos para binário.
• bye: Encerra a sessão FTP.
• cd: Seguido de caminho/diretório muda para o diretório informado.
• delete: Apaga um arquivo. Para mais de um arquivo usa-se mdelete.
• debug: Estabelece a modalidade de depuração.
• dir: Mostra o conteúdo do diretório servidor atual.
• disconnect: Semelhante a bye.
• get: Obtêm um arquivo do servidor. Para mais de um arquivo usa-se mget.
• glob: Seleciona a expansão para nomes de arquivo.
• hash: Demonstra cada bloco do arquivo durante a transferência. Cada bloco
compõe-se de 1024 bytes.
• help: Lista sumariamente todos comandos disponíveis.
• literal: Permite enviar comandos arbitrários.
• ls: Mostra uma lista abreviada do conteúdo do diretório servidor.Para mais de
uma pasta usa-se*mls.
• mkdir: Cria um diretório ou subdiretório no servidor.
• prompt: Ativa/desativa o modo interativo.
• put: Envia um arquivo ao servidor. Para enviar mais de um arquivo usa-se
mput.
• pwd: Mostra o diretório de trabalho.
• quit: Finaliza a sessão FTP.
• quote: Envia subcomandos do servidor FTP, como se encontram no servidor.
• recv: Similar a get.
• remotehelp: Solicita ajuda do servidor FTP remoto.
• rename: Renomeia um arquivo.
• send: Semelhante a put.
• status: Obtem informações de estado do servidor.
• trace: Demonstra o caminho percorrido pelo arquivo na transferência.
• type: Especifica o tipo de representação.
• user: Iniciar a sessão no servidor.
• verbose: Ativa/desativa a modalidade literal.

[editar] Lista de clientes FTP


• SmartFTP
• Cute FTP
• FTP via Web
• Filezilla
• Core FTP
• WS FTP
• LeechFTP
• gFTP
• FireFTP

[editar] Ver também


• Servidor FTP

[editar] Referências
1. ↑ a b Postel, J., & Reynolds. J. (October 1985). RFC 959. In The Internet
Engineering Task Force. Retrieved from http://www.ietf.org/rfc/rfc0959.txt
2. ↑ a b Kurose, J.F. & Ross, K.W. (2010). Computer Networking. 5th ed. Boston,
MA: Pearson Education, Inc.
3. ↑ a b Forouzan, B.A. (2000). TCP/IP: Protocol Suite. 1st ed. New Delhi, India:
Tata McGraw-Hill Publishing Company Limited.
4. ↑ Allman, M. & Metz, C. & Ostermann, S. (September 1998). RFC 2428. In The
Internet Engineering Task Force. Retrieved from
http://www.ietf.org/rfc/rfc2428.txt
5. ↑ a b Clark, M.P. (2003). Data Networks IP and the Internet. 1st ed. West Sussex,
England: John Wiley & Sons Ltd.

Potrebbero piacerti anche