O DHCP, que significa Dynamic Host Configuration Protocol, é um protocolo que disponibiliza um serviço de configuração dinâmica de hosts no TCP/IP.
Este protocolo vem substituir o antigo protocolo BOOTP que era mais simples mas limitado para as exigências actuais. Começou a ser utilizado como standard a partir de 1993.
Visa minimizar o “peso” da configuração, de modo a facilitar a vida aos técnicos e administradores, tanto na fase de instalação inicial, como nas reestruturações que envolvem:
- Alterações gamas de IP
- Mascaras de Sub-Rede
- Default Gateway
- Servidores DNS/WINS
- Leases
- Restantes Parâmetros de configuração
DHCP: Duas Vertentes
O serviço DHCP existe em duas vertentes: Servidor e Cliente.
A vertente servidor, que apenas funciona nas versões de servidor Windows e Linux, fornece as configurações, designando-se a máquina por DHCP Server.
A vertente Cliente, funciona em qualquer Sistema Operativo moderno e visa a obtenção de uma configuração. Designa-se por DHCP Client.
O processo de atribuição de IP por DHCP divide-se em várias fases que passo a explicar.
DHCP Discover
Quando o TCP/IP do cliente DHCP se inicia é emitido um broadcast de uma mensagem DHCPDISCOVER para a rede local.
Para permitir que o servidor de DHCP responda à “mensagem de descoberta”, a mensagem inclui o endereço MAC do cliente DHCP.
Esta mensagem pode ser reencaminhada para outras redes para ser entregue em servidores DHCP na Internet. Isto pode ser feito por um Router que suporte a RFC 1542 (BOOTP Relay) ou por um DHCP Relay Agent.
DHCP Offer
Cada Servidor DHCP que receber a “discover message” e puder responder ao pedido (contem um endereço apropriado para a sub- rede em que o cliente se encontra)
Responde com uma mensagem DHCPOFFER que consiste de um endereço IP e informações de configuração associada.
Selecting State
De seguida o cliente DHCP entra num estado de selecção e examina a mensagem de oferta. São avaliados os valores da configuração, tal como o tempo de Lease (empréstimo).
Se todas as ofertas forem iguais, o cliente irá escolher a primeira oferta que recebeu.
DHCP Request
Após a seleção da oferta, o cliente DHCP, faz um broadcast com a mensagem DHCP REQUEST para a rede local a requisitar a configuração oferecida.
Como a mensagem é enviada em broadcast, outros servidores DHCP recebem também a mensagem, e ficam notificados que a sua oferta de endereços não vai ser requisitada.
DHCP Ack
O Servidor DHCP garante então a configuração com uma mensagem DHCP ACK (DHCP acknowledgment). Esta mensagem contém o Endereço IP e respetiva configuração juntamente com o Lease para usar a configuração por um tempo especifico.
O Administrador de Rede Local é quem estabelece as politicas de Lease.
Initialization
Após o cliente DHCP receber o acknowledgment inicia então a configuração do IP.
Os computadores clientes retêm a configuração durante o tempo fornecido pelo empréstimo, e este, pode ser reiniciado sem negociar um novo Lease.
Renovação do Lease
A atribuição da configuração tem um tempo máximo limite que deve ser renovado. Também para isso existem regras específicas e rígidas.
First Renewal Attempt
Quando o empréstimo está ativo à 50% do seu período de duração o cliente tenta renovar pela primeira vez o tempo de Lease com o servidor de DHCP.
Second Renewal Attempt
Se o Lease não puder ser renovado aos 50% do seu tempo de vida o cliente irá tentar uma segunda vez renovar aos 75% e aos 87,5%.
Normalmente o servidor DHCP renova os empréstimos sem problemas. Na maioria dos casos o Lease é renovado logo na primeira tentativa, excepto se o servidor se encontrar em baixo.
Falha a renovar
Caso o cliente DHCP falhe a renovação do empréstimo, este imediatamente abandona o endereço IP (unbind).
Necessita então de recomeçar o processo DHCP e fazer um novo pedido sendo-lhe atribuído um novo endereço com um novo Lease.