DHCP (Dynamic Host Configuration Protocol) Gerencia de Redes Redes de Computadores II *baseado no material de Flávio Almeida, Gustavo Ferraz, Hugo Simões, Humberto Pacheco 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 durante o boot 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 9 DHCP • 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 Formato de mensagem Opicionalmente DHCP usado Tipo da Mensagem BootRequest /BootReply OpCode pelos agentes DHCP 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 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) • Escolhendo um tempo de lease – Lease atribuído anteriormente ao cliente; – Lease padrão – Lease requisitado pelo cliente – Lease relacionado com o identificador do cliente Tempo de renovação concessão (Client Lease) • T1 < T2 < Tempo de concessão (exemplo: lease time de 600seg 10minutos) • T1 valor padrão = 1/2 of lease time (300s) • T2 valor padrão = 7/8 of lease time (75s) • 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