O protocolo DHCP

Janeiro 2017

Definição do termo DHCP

DHCP significa Dynamic Host Configuration Protocol. Trata-se de um protocolo que permite a um computador que se conecta a uma rede obter dinamicamente (quer dizer, sem intervenção específica) a sua configuração (principalmente, a sua configuração rede). Tem apenas de dizer ao computador para encontrar sozinho um endereço IP através do DHCP. O objectivo principal é a simplificação da administração de uma rede.

O protocolo DHCP serve principalmente para distribuir endereços IP numa rede, mas foi concebido à partida como complemento do protocolo BOOTP (Bootstrap Protocol) que é utilizado, por exemplo, quando se instala uma máquina através de uma rede (BOOTP é utilizado em estreita colaboração com um servidor TFTP no qual o cliente vai encontrar os ficheiros a carregar e copiar para o disco duro). Um servidor DHCP pode reenviar parâmetros BOOTP ou de configuração próprios a um dado hóspede.

Funcionamento do protocolo DHCP

É necessário inicialmente um servidor DHCP que distribui endereços IP. Esta máquina vai servir de base para todos os pedidos DHCP, e deve ter um endereço IP fixo. Numa rede, pode-se por conseguinte ter só uma máquina com endereço IP fixo, o servidor DHCP.

O mecanismo básico da comunicação é BOOTP (com trama UDP). Quando uma máquina arranca, não tem nenhuma informação sobre a sua configuração de rede e, sobretudo, o utilizador não deve fazer nada de especial para encontrar um endereço IP. Para fazer isto, a técnica utilizada é o broadcast: para encontrar e dialogar com um servidor DHCP, a máquina vai simplesmente emitir um pacote especial de broadcast (broadcast sobre 255.255.255.255 com outras informações como o tipo de pedido, as portas de conexão…) na rede local. Quando o servidor DHCP receber o pacote de broadcast, devolverá outro pacote de broadcast (não se esqueça que o cliente não tem necessariamente o seu endereço IP e que, por isso, não está directamente contactável) que contém todas as informações requeridas para o cliente.

Poder-se-ia pensar que um só um pacote pode ser suficiente para o bom funcionamento do protocolo. Com efeito, existem vários tipos de pacotes DHCP susceptíveis de serem emitido quer pelo cliente para os servidores, quer pelo servidor para um cliente:

  • DHCPDISCOVER (para localizar os servidores DHCP disponíveis)
  • DHCPOFFER (resposta do servidor um pacote DHCPDISCOVER, que contém os primeiros parâmetros)
  • DHCPREQUEST (pedido diverso do cliente para por exemplo prolongar o seu arrendamento)
  • DHCPACK (resposta do servidor que contém parâmetros e o endereço IP do cliente)
  • DHCPNAK (resposta do servidor para informar o cliente que o seu arrendamento acabou ou se o cliente apresenta uma má configuração de rede)
  • DHCPDECLINE (o cliente anuncia ao servidor que o endereço já é utilizado)
  • DHCPRELEASE (o cliente libera o seu endereço IP)
  • DHCPINFORM (o cliente pede os parâmetros locais, tem já o seu endereço IP)



O primeiro pacote emitido pelo cliente é um pacote de tipo DHCPDISCOVER. O servidor responde por um pacote DHCPOFFER, em especial para apresentar um endereço IP ao cliente. O cliente estabelece a sua configuração, seguidamente faz um DHCPREQUEST para validar o seu endereço IP (pedido em broadcast porque DHCPOFFER não contém o seu endereço IP). O servidor responde simplesmente por um DHCPACK com o endereço IP para confirmação da atribuição. Normalmente, isto é suficiente para que um cliente obtenha uma configuração de rede eficaz, mas pode ser mais ou menos longo conforme o cliente aceite ou não o endereço IP…

As concessões

Por motivos de optimização dos recursos rede, os endereços IP são emitidos com uma data de início e uma data de fim de validade. É o que se chama de “concessão”. Um cliente que vê a sua concessão chegar a termo pode pedir ao servidor um prolongamento, com um DHCPREQUEST. Do mesmo modo, quando o servidor vir uma concessão chegar a termo, emitirá um pacote DHCPNAK para perguntar ao cliente se o quer prolongar. Se o servidor não receber resposta válida, torna disponível o endereço IP.

É esta a subtileza do DHCP: pode-se optimizar a atribuição dos endereços IP jogando com a duração das concessões. O problema está aí: se nenhum endereço for libertado ao fim de um certo tempo, mais nenhum pedido DHCP não poderá ser satisfeiao, por falta de endereços a distribuir.

Numa rede constituída maioritariamente por máquinas fixas, muito raramente repartidas, concessões de longa duração são suficientes. Não esqueça que o DHCP funciona principalmente por broadcast, e que isto pode bloquear banda concorrida em pequenas redes muito solicitadas.

Obter um servidor DHCP

É a Internet Software Consortium que desenvolve o servidor DHCP do mundo do software livre. É o servidor DHCP mais utilizado, e o que “segue” o melhor possível os RFCs. ATENÇÃO! Um servidor DHCP não é nada simples de desenvolver, e os servidores que propõem são completados regularmente. A última versão em data é a 3.0 mas está ainda em beta. Uma das principais inovações desta versão é a possibilidade de actualizar um DNS dinamicamente, em função dos endereços IP fornecidos pelo servidor DHCP. Para informação, o primeiro draft sobre o DNS dinâmico data de Março de 1996… Mais informações sobre a actualização de DNS por servidores DHCP.



A Microsoft tem naturalmente o seu próprio servidor DHCP para NT, mas este ainda não aplica a actualização dinâmica de DNS.

Mais informações

A principal documentação sobre o DHCP é constituída pelos incontornáveis RFCs:




[mailto:sylbau@hplb.hpl.hp.com escrito por Sylvain Baudoin]

Veja também


The DHCP protocol
The DHCP protocol
El protocolo DHCP
El protocolo DHCP
Le protocole DHCP
Le protocole DHCP
Il protocollo DHCP
Il protocollo DHCP
Última modificação: 4 de agosto de 2009 às 19:29 por owliance.pt_004.
Este documento, intitulado 'O protocolo DHCP', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.