O protocolo DHCP

Outubro 2017

O que é o protocolo 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 (ou seja, sem intervenção específica) a sua configuração (principalmente, a sua configuração rede). Você só precisa especificar ao computador de encontrar sozinho um endereço IP através do DHCP. O objetivo 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, originalmente, como complemento do protocolo BOTP (Bootstrap Protocol) que é utilizado, por exemplo, quando instalamos 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 arquivos a serem carregados e copiados no disco rígido). Um servidor DHCP pode reenviar parâmetros BOOTP ou de configuração próprios a um determinado hóspede.

Como funciona o protocolo DHCP

Para começar, é preciso 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, podemos ter apenas 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 é inicializada, ela não tem nenhuma informação sobre a sua configuração de rede e, sobretudo, o usuário 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 com informações como o tipo de pedido e as portas de conexão, na rede local.

Quando o servidor DHCP receber o pacote, ele 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 pode ser contatado diretamente. Este novo pacote contém todas as informações requeridas pelo cliente.

Poderíamos pensar que um só pacote pode ser suficiente para o bom funcionamento do protocolo. Na verdade, existem vários tipos de pacotes DHCP que podem ser emitidos, quer do cliente para os servidores, quer do servidor para um cliente. Entre eles estão:

DHCPDISCOVER: para localizar os servidores DHCP disponíveis.
DHCPOFFER: resposta do servidor para um pacote DHCPDISCOVER, que contém os primeiros parâmetros.
DHCPREQUEST: pedido diverso do cliente para, por exemplo, prolongar o seu aluguel.
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 aluguel acabou ou se o cliente anunciou uma má configuração de rede.
DHCPDECLINE: o cliente anuncia ao servidor que o endereço já foi utilizado.
DHCPRELEASE: o cliente libera o seu endereço IP.
DHCPINFORM: o cliente pede os parâmetros locais, ele já tem o seu endereço IP.

O primeiro pacote emitido pelo cliente é um pacote de tipo DHCPDISCOVER. O servidor responde com um pacote DHCPOFFER, em especial para apresentar um endereço IP ao cliente. O cliente estabelece a sua configuração e 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 apenas com um DHCPACK com o endereço IP para confirmar a atribuição. Normalmente, isto é suficiente para que um cliente obtenha uma configuração de rede eficaz, mas pode ser mais ou menos longo, caso o cliente aceite ou não o endereço IP.

O que são as concessões ativas do DHCP

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

A sutileza do DHCP é que podemos otimizar 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 depois de um certo tempo, nenhum outro pedido DHCP poderá ser satisfeito, por falta de endereços a serem distribuídos.

Em uma rede constituída majoritariamente por dispositivos fixos, 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 a banda larga em pequenas redes muito solicitadas.

Como é um servidor DHCP

É a ISC que desenvolve o servidor DHCP, sendo este mais utilizado e que obedece melhor aos RFCs. Porém, um servidor DHCP não é nada simples de desenvolver e, por esse motivo, os servidores que eles propõem são completados e corrigidos regularmente. A última versão é a 3.0, mas ainda em fase beta. Uma das principais inovações desta versão é a possibilidade de atualizar um DNS dinamicamente, em função dos endereços IP fornecidos pelo servidor DHCP. Saiba que o primeiro draft no DNS dinâmico é de março de 1996.

A Microsoft tem o seu próprio servidor DHCP para o sistema NT, mas este ainda não aplica a atualização dinâmica de DNS. A documentação sobre o DHCP é constituída pelos RFCs: RFC 821 - BOOTP, RFC 1542 - Interações entre BOOTP e DHCP, RFC 2131 - DHCP, RFC 2132 - DHCP Options and BOOTP Vendor Extensions.

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: 19 de abril de 2017 às 05:37 por ninha25.
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.