Seminário de Redes DHCP Flávio Almeida Gustavo Ferraz Hugo Simões Humberto Pacheco Rodrigo Mateus Roteiro • Motivação • Origem ▫ RARP ▫ BOOTP • DHCP ▫ ▫ ▫ ▫ ▫ Formato de mensagem DHCP Funcionamento Tipos de Mensagens Renovação endereço IP DHCP Relay 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 Origem RARP • Reverse Address Resolution Protocol ▫ Funcionalmente similar ao ARP ▫ Faz um broadcast de requisição de um endereço IP associado ao endereço MAC fornecido ▫ O servidor RARP responde com um endereço IP ▫ Apenas atribui o endereço IP (não o roteador default e a máscara de subrede). Endereço IP (32 bit) ARP RARP Endereço Ethernet MAC (48 bit) BOOTP • • • • BOOTstrap Protocol (BOOTP) De 1985 Host pode configurar seus parâmetros IP em boot time. 3 serviços ▫ Atribuição de endereço IP ▫ Detecta o endereço IP para uma máquina servidora. ▫ O nome de um arquivo para ser carregado e executado por um cliente (boot file name) • Não apenas a atribuição de IP, mas também o roteador padrão, máscara de rede, etc. • Enviado como mensagens UDP • Usa o endereço de broadcast (255.255.255.255): DHCP DHCP 10 • 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 ▫ DHCP é o mecanismo preferido para alocação dinâmica de endereços IP ▫ Criado para facilitar a configuração e administração do protocolo TCP/IP em uma rede com um grande número de máquinas ▫ Gerencia informações sobre parâmetros de configuração do cliente como o gateway padrão, nome do domínio, os servidores DNS, etc. ▫ Evita problemas de conectividade ou desorganização da rede, tais como: Mudança de endereços IP e gateway Conflito de endereços Critério de atribuição de IP • Atribuição manual • Atribuição automática • Atribuição dinâmica Tipo da Mensagem Opicionalmente usado Formato de mensagem DHCP BootRequest /BootReply pelos agentes DHCP OpCode Hardware Type Hardware Address Length Hop Count Transaction ID Unused (in BOOTP) Flags (in DHCP) Number of Seconds Client IP address Your IP address Server IP address Gateway IP address Client hardware address (16 bytes) Server host name (64 bytes) Boot file name (128 bytes) Options Formato de mensagem DHCP OpCode Hardware Type Hardware Address Length Hop Count Transaction ID Unused (in BOOTP) Flags (in DHCP) Number of Seconds Client IP address ID da transação, um número Your IP address gerado randomicamente Endereço IP do cliente. TotalIP de segundos Server address escolhido pelo cliente, usado passados desde que o pelo cliente e servidor para Gateway IP address cliente iniciou a associar mensagens e address (16 bytes) respostas entre um cliente eClient hardwarerequisição. um servidor. Server host name (64 bytes) Boot file name (128 bytes) Options Formato de mensagem DHCP OpCode Hardware Type Hardware Address Length Hop Count Transaction ID Unused (in BOOTP) Flags (in DHCP) Number of Seconds Endereço IP do agente Relay, usado no booting via um agente relay. Seu endereço IP. Client IP address Your IP address Server IP address Gateway IP address Client hardware address (16Endereço bytes) IP do próximo servidor usado no Server host name (64 bytes) bootstrap; retornado no Boot file name (128 bytes) DHCPOFFER, DHCPACK pelo servidor. Options Formato de mensagem DHCP OpCode Hardware Type Hardware Address Length Hop Count Transaction ID Unused (in BOOTP) Flags (in DHCP) Number of Seconds Client IP address Your IP address Opcional host name do servidor. Nome do arquivo de Gateway IP address boot, nome ou null em Client hardware address (16 bytes) DHCPDISCOVER, nome do diretório. Server host name (64 bytes) Campo opcional Boot file name (128 bytes) de parâmetros. Server IP address Opcional host name do servidor. Endereço do Hardware do cliente. Options 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 (ACK/NAK) “OK ou No Way!” Fluxo de mensagens inicial Server A Client DHCPDISCOVER DHCPOFFER Server B DHCPDISCOVER DHCPOFFER Cliente recolhe ofertas decide qual aceitar DHCPREQUEST Configuração Completa Cliente tenta descobrir disponíveis DHCP Servers Servers ofertas responde com e DHCPREQUEST DHCPACK Desligamento DHCPRELEASE O cliente faz um requisição broadcasts um dos endereços ofertados. O servidor reconhece o uso do endereço IP pelo cliente. O cliente libera o uso do endereço IP DHCP Tipos de Mensagens Message Description DISCOVER Client broadcast to locate available servers OFFER Server to client response offering configuration parameters REQUEST Client broadcast requesting offered parameters ACK Server to client response confirming a request NAK Server to client response denying a request RELEASE Client to server request to relinquish IP address DECLINE 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 Configuration complete DHCPACK Client unicasts request to continue using IP address Server acknowledges request and updates lease T1 elapses DHCPREQUEST Client unicasts request to continue using IP address T2 elapses 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 IP Router LAN1 255.255.255.255 LAN2 DHCP Relay Requesting Host DHCP Server 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 LAN2 DHCP Relay Requesting Host DHCP Server 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