Você está na página 1de 31

Protocolos do Nível de Aplicação

(Arquitectura TCP/IP): o FTP


Estudantes:
- Alexandre Inácio Amado
- Braune João Paulo
- Eliseu Arvisco Hairone
O que é FTP? 01
 Criado em 1971;
 Um dos pioneiros na transferência de arquivos em redes;
 Mecanismo padrão do TCP/IP para transferência arquivos
entre hosts.
Problemas encontrados na transferência de arquivos de
um sistema para outro:
 Convenções de nome de arquivo diferentes;
 diferentes maneiras de representar texto e dados;
 Estruturas de directório diferentes.
Todos esses problemas foram resolvidos pelo FTP com uma
estratégia muito simples e elegante.
Características 02
O FTP difere de outros aplicativos cliente-servidor, pois
estabelece duas conexões entre os hosts.
Uma conexão é usada para transferência de dados e a outra
para informações de controle (comandos e respostas).
 A conexão de controle usa regras de comunicação muito
simples.
 A conexão de dados, por outro lado, precisa de regras mais
complexas, devido à variedade de tipos de dados
transferidos
O FTP usa duas portas TCP conhecidas: a porta 21 é usada
para a conexão de controle e a porta 20, para a conexão
de dados.
Cont. 03

Figura 1 - Modelo Básico do FTP


Funcionamento do FTP 04

Conexões
 A conexão de controle permanece durante a sessão FTP
interactiva inteira.
 A conexão de dados é aberta e depois fechada para cada
arquivo transferido. Ela é aberta sempre que são usados
comandos que envolvem a transferência de arquivos e é
fechada quando o arquivo é transferido.
 As duas conexões FTP, controle e dados:
 usam diferentes estratégias;
 números de porta diferentes.
Funcionamento do FTP 05

Conexão de controle
A conexão de controle é criada em duas etapas:
 O servidor realiza uma abertura passiva na porta 21 e
espera por um cliente.
 O cliente usa uma porta efémera e realiza uma abertura
activa.
A conexão permanece aberta durante o processo inteiro.
A conexão de controle é do tipo interactiva entre um
usuário (humano) e um servidor.
O usuário digita comandos e espera receber respostas sem
atraso significativo.
Funcionamento do FTP 06

Figura 2 - Conexão inicial entre o servidor e o cliente


Funcionamento do FTP 07

Conexão de dados
 A conexão de dados usa a porta 20 no servidor.
 Neste caso, o cliente (e não o servidor) realiza uma
abertura passiva usando uma porta efémera. Isso deve ser
feito pelo cliente, pois é ele que executa os comandos de
transferência de arquivos.
 O cliente envia esse número de porta ao servidor usando o
comando PORT.
 O servidor recebe o número de porta e realiza uma
abertura activa usando a porta 20 e o número de porta
efémera recebido.
Funcionamento do FTP 08

Figura 3 - Etapas para a


criação da conexão de dados
inicial
Funcionamento do FTP 09

Comunicação
O cliente e o servidor FTP, que são executados em
computadores diferentes, precisam se comunicar. O FTP tem
duas estratégias distintas, uma para a conexão de controle e
uma para a conexão de dados.
Funcionamento do FTP 10

Comunicação pela conexão de controle


O FTP usa a mesma estratégia do TELNET ou SMTP para se
comunicar pela conexão de controle:
 Ele usa o conjunto de caracteres ASCII NVT.
A comunicação é obtida por meio de comandos e respostas:
 Cada comando ou resposta é apenas uma linha curta;
 Não precisamos nos preocupar com formato ou estrutura
de arquivo.
Funcionamento do FTP 11

Figura 4 – Utilização da conexão de controle


Funcionamento do FTP 12

Comunicação pela conexão de dados


O propósito e a implementação da conexão de dados são
diferentes dos da conexão de controle.
 Antes de enviar o arquivo por meio da conexão de dados,
prepara-se a transmissão por meio da conexão de controle.
 O problema da heterogeneidade é resolvido pela definição
de três atributos de comunicação:
Tipo de arquivo;
Estrutura de dados;
Modo de transmissão.
Cont. 13

Figura 5 – Utilização da conexão de dados


Funcionamento do FTP 14

Tipo de arquivo
O FTP pode transferir um dos seguintes tipos de arquivo pela
conexão de dados:
 Arquivo ASCII (Padrão);
 Arquivo EBCDIC;
 Arquivo de imagem;
 Não-impressão;
 TELNET.
Funcionamento do FTP 15

Estrutura de dados
O FTP pode transferir um arquivo pela conexão de dados
usando uma das seguintes interpretações sobre a estrutura
dos dados:
• Estrutura de arquivo (padrão). O arquivo não tem
estrutura. Ele é um fluxo contínuo de bytes.
• Estrutura de registro. O arquivo é dividido em registros.
Isso só pode ser usado com arquivos de texto.
• Estrutura de página. O arquivo é dividido em páginas,
cada página com um número e um cabeçalho. As páginas
podem ser armazenadas e acessadas aleatória ou
sequencialmente.
Funcionamento do FTP 16

Modo de transmissão
O FTP pode transferir um arquivo pela conexão de dados
usando um dos três modos de transmissão a seguir:
 Modo de fluxo (padrão) - os dados são enviados como um
fluxo contínuo de bytes. O TCP é responsável por cortar os
dados em segmentos de tamanho apropriado.
 Modo de bloco - Nesse caso, cada bloco é precedido por
um cabeçalho de 3 bytes. O primeiro byte é chamado de
descritor de bloco; os dois bytes seguintes definem o
tamanho do bloco em bytes.
 Modo compactado - Se o arquivo for grande, os dados
podem ser compactados. O método de compactação
normalmente usado é a codificação run-length.
Funcionamento do FTP 17

Processamento de comando
O FTP usa a conexão de controle para estabelecer a
comunicação entre o processo de controle do cliente e o
processo de controle do servidor. Durante essa comunicação,
os comandos são enviados do cliente ao servidor, e as
respostas são enviadas do servidor ao cliente.

Figura 6 - Processamento de
comandos
Funcionamento do FTP 18

Comandos
Os comandos, que são enviados do processo de controle do
cliente FTP, são da forma ASCII maiúsculo. Podemos dividir
os comandos em seis grupos.
 Comandos de acesso - esses comandos permitem ao
usuário acessar o sistema remoto.
Funcionamento do FTP 19
 Comandos de gerenciamento de arquivo - esses
comandos permitem ao usuário acessar o sistema de
arquivos no computador remoto. Eles permitem ao usuário
navegar pela estrutura de directório, criar novos
directórios, etc.
Funcionamento do FTP 20
 Comandos de formatação de dados - esses comandos
permitem ao usuário definir a estrutura de dados, o tipo
de arquivo e o modo de transmissão. O formato definido é,
então, usado pelos comandos de transferência de arquivo.
Funcionamento do FTP 21
 Comandos de definição de porta - esses comandos
definem o número da porta da conexão de dados nas
instalações do cliente. Existem dois métodos para fazer
isso. No primeiro, usando o comando PORT, o cliente pode
escolher um número de porta efémera e enviá-lo ao
servidor utilizando uma abertura passiva. O servidor usa
esse número de porta e cria uma abertura activa. No
segundo método, usando o comando PASV, o cliente apenas
pede ao servidor para que primeiro escolha um número de
porta.
Funcionamento do FTP 22
 Comandos de transferência de arquivo - esses comandos
permitem que o usuário realmente transfira arquivos.

 Comandos diversos - esses comandos enviam informações


ao usuário de FTP nas instalações do cliente.
Funcionamento do FTP 23

Respostas
Todo comando FTP gera pelo menos uma resposta. Na figura
abaixo são apresentados alguns códigos de resposta e a sua
descrição.
Funcionamento do FTP 24

Transferência de arquivos
A transferência de arquivos ocorre pela conexão de dados,
sob o controle dos comandos enviados pela conexão de
controle. Entretanto, a transferência de arquivos no FTP
significa:
 Um arquivo deve ser copiado do servidor para o cliente.
Isso se chama recuperar um arquivo.
 Um arquivo deve ser copiado do cliente para o servidor.
Isso se chama armazenar um arquivo.
 Uma lista de nomes de directório ou arquivo deve ser
enviada do servidor para o cliente. Isso é feito sob a
supervisão do comando LIST.
Funcionamento do FTP 25

Processo de transferência de arquivos


Funcionamento do FTP 26

Exemplo de uma
comunicação usando o
FTP
Aplicação do FTP 27
A principal aplicação do protocolo FTP é transferir arquivos
de um computador para outro. Utilizando o modelo cliente-
servidor, este protocolo permite que as pessoas enviem ou
baixem arquivos de um servidor qualquer.
 O FTP serve para enviar ficheiros para a criação e
manutenção de websites;
 Para permitir o acesso a ficheiros de grande dimensão a
outros utilizadores que se encontram a milhares de
quilómetros de distância;
 Para criar “backups” dos seus próprios ficheiros, etc.
SIMULAÇÃO
 FileZilla Server

Você também pode gostar