FPROT FTP e DHCP
FTP
Arquitetura
Transferência de Arquivos FTP Transferência de arquivos em sistemas remotos Utiliza o protocolo FTP sobre uma conexão TCP Estabelece conexão TCP com um servidor. Serviço transparente. Possui mecanismo de autenticação
Transferência de Arquivos - FTP Permite operações de visualização e alteração de estrutura de arquivos A sessão é um resultado de uma operação de comandos entre o FTP cliente e o servidor. Utiliza de um mecanismo adicional de segurança que é a criação de um segundo canal de comunicação. Trabalha com portas efêmeras
Características FTP Transferência Interativa: Informações sobre sistema e transferência Especificação do formato dos arquivos: Transferência nos formatos ASCII, binário e EBCDIC Transferência Autenticada: Informações sobre o usuário Baseado em um modelo servidor: Utiliza uma conexão para troca de comandos e uma para transferência de dados
Transferência de Arquivos FTP Vantagens do FTP Acesso interativo : Interação direta com servidores Especificação de formato (representação) : O usuário pode especificar o tipo e formato dos dados Controle de autenticação : Autenticação de clientes através de login e senha
Transferência de Arquivos FTP Processo PAI para aceitar conexões Cria processos filhos para administrar as conexões Os filhos criam escravos para tratar as transferências
Transferência de Arquivos FTP Transferência de dados Processo de Controle Conexão Transferência de controle de cliente dados Processo de Controle Sistema Operacional Conexão de dados de cliente Conexão de dados de servidor Inter-rede Sistema Operacional Conexão de dados de servidor
Transferência de Arquivos FTP Inter-rede FTP Server Cliente Transferencia Pedido de conexão de dados porta porta 21 20
FTP - Conexão de Controle Utiliza definições NVT Comando FTP Comando Argumento Significado CWD dir Altera o diretório DELE file Remove arquivo MKD dir Cria o diretório dir PWD --- Mostra o diretório corrente RETR file Transfere dados para o sistema local LIST (dir) Lista o conteúdo do diretório STOR file Salva dados local para o remoto PORT addr Informa ao remoto a porta do sistema local TYPE (I,A) Informa transferência binária(i) ou ASCII (A) QUIT --- Encerra conexão de controle
FTP Conexão de Dados Sempre que houver a transferência de dados, deverá ser enviado junto um comando indicando o PORT, sobre a qual o servidor transferirá as informações. Servidor recebe pedido para executar um LIST pwd Porta 21 Cliente Porta X Aguardando conexão FTP Server
FTP Conexão de Dados Servidor aloca uma porta Y e envia o endereço desta porta pela conexão de controle via o comando PORT Porta X Porta 21 Porta Ips, Y Cliente Porta Y Porta 20 FTP Server
FTP Conexão de Dados Cliente aguarda a conexão entre sua porta e a 20 do servidor Porta X Conexão de controle Porta 21 Cliente Porta Y Conexão de dados Porta 20 FTP Server
FTP Conexão de Dados Conexão realizada Segue comando Porta X Porta 21 LIST Cliente Porta Y Porta 20 FTP Server
FTP Conexão de Dados Servidor devolve o resultado do comando Porta X Porta 21 Cliente Porta Y Conteúdo do diretório Porta 20 FTP Server
FTP Conexão de Dados Ambos os lados encerram a conexão e o cliente libera a porta Y Porta X Porta 21 Cliente FTP Server Porta 20
Tipo de Usuários FTP Ligação tipo privada As ligações particulares, destina-se essencialmente a transferências de arquivos que existam na área de trabalho do usuário de um computador remoto para um local. Para tal precisa obrigatoriamente de ter conhecimento da password de acesso à respectiva área. Ligação tipo Anônima As ligações anônimas são usadas no acesso a arquivos de software em que não é necessário que o utilizador possua uma conta na máquina remota. Existe um login padrão a nível da Internet chamado anonymous em que password é o endereço de correio eletrónico do usuário. Por norma em todos os arquivos existe um diretório padrão em que se encontra todo o software de domínio público, o /pub
DHCP
Motivação Principais parâmetros que devem ser configurados para que o protocolo TCP/IP funcione em uma máquina Número IP Máscara de sub-rede Gateway Padrão Número IP de um ou mais servidores DNS
Motivação Em uma rede com centenas e até mesmo milhares de estações de trabalho, configurar o TCP/IP em cada estação se torna uma tarefa bastante trabalhosa Sempre que houver mudanças, a reconfiguração terá que ser feita manualmente em todas as estações de trabalho
Motivação Possibilidade de erros de configuração Digitação do endereço IP Digitação da máscara de sub-rede
DHCP
DHCP 24 Dynamic Host Configuration Protocol A partir de 1993 RFC 1541 Uma extensão do BOOTP Mesmos números de porta do BOOTP Extensões: Apoia alocação temporária ( leases") de endereços IP O cliente DHCP poderá adquirir todos os parâmetros de configuração IP necessários para a operar DHCP pode interoperar com clientes BOOTP.
DHCP
Critério de atribuição de IP Atribuição manual Atribuição automática Atribuição dinâmica
Formato Tipo da Mensagemde mensagem DHCP BootRequest /BootReply Opicionalmente usado pelos agentes DHCP
Formato de mensagem DHCP ID da transação, um número gerado randomicamente escolhido pelo cliente, usado pelo cliente e servidor para associar mensagens e respostas entre um cliente e um servidor. Endereço IP do cliente. Total de segundos passados desde que o cliente iniciou a requisição.
Formato de mensagem DHCP Endereço IP do agente Relay, usado no booting via um agente relay. Seu endereço IP. Endereço IP do próximo servidor usado no bootstrap; retornado no DHCPOFFER, DHCPACK pelo servidor.
Formato de mensagem DHCP Opcional host name Endereço do servidor. Hardware do cliente. Opcional host name Nome do servidor. arquivo de boot, nome ou null em DHCPDISCOVER, Campo nome opcional do diretório. de parâmetros.
Funcionamento DHCP
Funcionamento DHCP Processo de 4 fases entre cliente e servidores Cliente envia DISCOVER Alguém me envie um endereço (Broadcast). Servidores OFFER Use este endereço. Cliente REQUESTS Eu usarei este. (broadcast) Servidores ACKNOWLEDGE OK ou No Way! (ACK/NAK)
Fluxo de mensagens inicial Server A Client Server B DHCPDISCOVER DHCPDISCOVER Cliente tenta descobrir disponíveis DHCP Servers DHCPOFFER DHCPOFFER Servers ofertas responde com Cliente recolhe ofertas e decide qual aceitar DHCPREQUEST DHCPREQUEST O cliente faz um requisição broadcasts um dos endereços ofertados. Configuração Completa DHCPACK O servidor reconhece o uso do endereço IP pelo cliente. Desligamento DHCPRELEASE O cliente libera o uso do endereço IP
DHCP Tipos de Mensagens Message DISCOVER OFFER REQUEST ACK NAK RELEASE DECLINE Description Client broadcast to locate available servers Server to client response offering configuration parameters Client broadcast requesting offered parameters Server to client response confirming a request Server to client response denying a request Client to server request to relinquish IP address Client to server notification that IP address is in use
Tempo de renovação concessão (Client Lease) T1 < T2 < Tempo de concessão T1 valor padrão = 1/2 of lease time T2 valor padrão = 7/8 of lease time Comunicado via DHCPOFFER, DHCPACK Ações do cliente quando o tempo passa: T1: cliente deve renovar endereço com o servidor DHCP. T2: cliente deve renovar endereço com algum servidor DHCP. Tempo de concessão (Lease time): cliente deve parar de usar o endereço IP.
Fluxo de renovação Server A Client Server B T1 elapses DHCPREQUEST Client unicasts request to continue using IP address Configuration complete DHCPACK Server acknowledges request and updates lease T1 elapses T2 elapses DHCPREQUEST Client unicasts request to continue using IP address DHCPREQUES T DHCPAC K DHCPREQUES T Configuration complete Client broadcasts request to continue using IP address Server acknowledges request and updates lease
Estrutura de uma rede DHCP Clients UDP Port 68 UDP Port 68 UDP Port 68 UDP Port 67 Router Internet
DHCP Relay Sub-rede 1 DHCP RELAY Sub-rede 2
DHCP Relay DHCP relays habilitam um servidor DHCP por domínio administrativo, além de um servidor por rede. Necessita um DHCP relay em cada rede DHCP relay envia um pacote IP unicast para o servidor DHCP, quando escuta um pacote broadcast IP local com DHCPDISCOVER LAN1 255.255.255.255 Requesting Host DHCP Relay IP Router DHCP Server LAN2
DHCP Relay Servidor DHCP seleciona um endereço IP dinâmico Mapeia endereços MAC dos hosts para endereços IP dinâmicos Outra vantagem dos relays: habilita as respostas DHCP a voltarem para o host que requisitou Servidor não pode enviar diretamente de volta usando endereços MAC dos hosts Servidor DHCP envia unicast ao endereço IP conhecido do DHCP relay, o qual envia aos endereços MAC locais dos hosts IP Router LAN1 Requesting Host DHCP Relay DHCP Server LAN2
Referências Tominaga, Akihiro; et al Problems and Solutions of DHCP RFC 2131 Computer Networking, 4 ed. James F. Kurose Keith W. Ross Andrew S. Tanenbaum, Computer Networks