O protocolo DHCP

DHCP significa Protocolo de Configuração Dinâmica de Host. 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 de rede. Só é preciso especificar ao computador que ele encontre sozinho um endereço IP através do DHCP. O objetivo principal é a simplificação da administração de uma rede.

O que é o protocolo DHCP

O protocolo DHCP serve principalmente para distribuir endereços IP em uma rede, mas foi concebido originalmente como complemento do protocolo BOOTP (Bootstrap Protocol), que é utilizado, por exemplo, quando instalamos uma máquina através de uma rede. O BOOTP é utilizado em estreita colaboração com um servidor TFTP no qual o cliente vai encontrar os arquivos a ser carregados e copiados no disco rígido. Um servidor DHCP pode reenviar parâmetros BOOTP ou de configuração próprios a um determinado host.

Como funciona o protocolo DHCP

Para começar, é preciso um servidor DHCP que distribui endereços IP. Essa máquina vai servir de base para todos os pedidos DHCP e deve ter um endereço IP fixo. Em uma 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. Para obter os dados, a técnica utilizada é o broadcast, que encontra e dialoga 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. Esse 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 de qualquer tipo feito pelo cliente.
  • DHCPACK: resposta do servidor que contém parâmetros e o endereço IP do cliente.
  • 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 quando já possui 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, isso é 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 é que, se nenhum endereço for liberado depois de um certo tempo, nenhum outro pedido DHCP poderá ser satisfeito por falta de endereços a ser 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 esse o que melhor obedece aos RFC. Porém, um servidor DHCP não é nada simples de desenvolver e, por esse motivo, os servidores são atualizados e corrigidos regularmente. A última versão é a 3.0. Uma das principais inovações dessa versão é a possibilidade de atualizar um DNS dinamicamente, em função dos endereços IP fornecidos pelo servidor DHCP.

Foto: © Martial Red - Shutterstock.com

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
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.

Assine nossa newsletter!

Assine nossa newsletter!