Juliana Jenny Kolb
Home > Redes de Computadores > Modelos de Arquitetura de Redes > Modelo TCP/IP
DHCP (Dynamic Host Configuration Protocol)
O DHCP, Dynamic Host Configuration Protocol (protocolo de configuração dinâmica de host), é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com:
- concessão de endereços IP de host;
- máscara de sub-rede;
- default gateway (gateway padrão);
- número IP de um ou mais servidores DNS;
- número IP de um ou mais servidores WINS;
- sufixos de pesquisa do DNS.
Este protocolo é o sucessor do BOOTP que, embora mais simples, tornou-se limitado para as exigências atuais.
O DHCP é um protocolo de rede de nível de aplicação.
Funcionamento Básico
O DHCP usa um modelo cliente-servidor.
Resumidamente, o DHCP opera da seguinte forma:
- Quando um computador ou outro dispositivo conecta-se a uma rede, o cliente DHCP envia um pacote UDP em broadcast (destinado a todas as máquinas) com uma requisição DHCP (para a porta 67);
- Qualquer servidor DHCP na rede pode responder a requisição. O servidor DHCP mantém o gerenciamento centralizado dos endereços IP usados na rede e informações sobre os parâmetros de configuração dos clientes como gateway padrão, nome do domínio, servidor de nomes e servidor de horário;
- Os servidores DHCP que capturarem este pacote irão responder (se o cliente se enquadrar numa série de critérios — ver abaixo) para a porta 68 do Host solicitante com um pacote com configurações onde constará, pelo menos, um endereço IP, uma máscara de rede e outros dados opcionais, como o gateway, servidores de DNS, etc.
Termos Utilizados no DHCP
- Servidor DHCP: É um servidor onde foi instalado e configurado o serviço DHCP. Em Windows, após a instalação de um servidor DHCP ele tem que ser autorizado no Active Directory, antes que ele possa, efetivamente, atender pedidos de clientes. O procedimento de autorização no Active Directory é uma medida de segurança, para evitar que servidores DHCP sejam introduzidos na rede sem o conhecimento do administrador. O servidor DHCP não pode ser instalado em um computador com o Windows 2000 Professional, Windows XP Professional ou Windows Vista. Além do Windows Server, o serviço de DHCP também pode ser instalado nas distribuições Linux, como o serviço DHCP3 Server, que já vem na maioria das distribuições Linux de rede.
- Cliente DHCP: É qualquer dispositivo de rede capaz de obter as configurações do TCP/IP a partir de um servidor DHCP. Por exemplo, uma estação de trabalho com o Windows 95/98/Me, Windows NT Workstation 4.0, Windows 2000 Professional, Windows XP, Windows Vista, Windows 7, Windows 8/8.1, uma estação com qualquer distribuição LINUX, uma impressora com placa de rede habilitada ao DHCP e assim por diante.
- Escopo: Um escopo é o intervalo consecutivo completo dos endereços IP possíveis para uma rede (por exemplo, a faixa de 10.10.10.100 a 10.10.10.150, na rede 10.10.10.0/255.255.255.0). Em geral, os escopos definem uma única sub-rede física, na rede na qual serão oferecidos serviços DHCP. Os escopos também fornecem o método principal para que o servidor gerencie a distribuição e atribuição de endereços IP e outros parâmetros de configuração para clientes na rede, tais como o Default Gateway, Servidor DNS e assim por diante..
- Superescopo: Um superescopo é um agrupamento administrativo de escopos que pode ser usado para oferecer suporte a várias sub-redes IP lógicas na mesma sub-rede física. Os superescopos contêm somente uma lista de escopos associados ou escopos filhos que podem ser ativados em cojunto. Os superescopos não são usados para configurar outros detalhes sobre o uso de escopo. Para configurar a maioria das propriedades usadas em um superescopo, você precisa configurar propriedades de cada escopo associado, individualmente. Por exemplo, se todos os computadores devem receber o mesmo número IP de Default Gateway, este número tem que ser configurado em cada escopo, individualmente. Não tem como fazer esta configuração no Superescopo e todos os escopos (que compõem o Superescopo), herdarem estas configurações.
- Intervalo de exclusão: Um intervalo de exclusão é uma sequência limitada de endereços IP dentro de um escopo, excluído dos endereços que são fornecidos pelo DHCP. Os intervalos de exclusão asseguram que quaisquer endereços nesses intervalos não são oferecidos pelo servidor para clientes DHCP na sua rede. Por exemplo, dentro da faixa 10.10.10.100 a 10.10.10.150, na rede 10.10.10.0/255.255.255.0 de um determinado escopo, você pode criar uma faixa de exclusão de 10.10.10.120 a 10.10.10.130. Os endereços da faixa de exclusão não serão utilizados pelo servidor DHCP para configurar os clientes DHCP.
- Pool de endereços: Após definir um escopo DHCP e aplicar intervalos de exclusão, os endereços remanescentes formam o pool de endereços disponíveis dentro do escopo. Endereços em pool são qualificados para atribuição dinâmica pelo servidor para clientes DHCP na sua rede. No nosso exemplo, onde temos o escopo com a faixa 10.10.10.100 a 10.10.10.150, com uma faixa de exclusão de 10.10.10.120 a 10.10.10.130, o nosso pool de endereços é formado pelos endereços de 10.10.10.100 a 10.10.10.119, mais os endereços de 10.10.10.131 a 10.10.10.150.
- Concessão: Uma concessão é um período de tempo especificado por um servidor DHCP durante o qual um computador cliente pode usar um endereço IP que ele recebeu do servidor DHCP (diz-se atribuído pelo servidor DHCP). Uma concessão está ativa quando ela está sendo utilizada pelo cliente. Geralmente, o cliente precisa renovar sua atribuição de concessão de endereço com o servidor antes que ela expire. Uma concessão torna-se inativa quando ela expira ou é excluída no servidor. A duração de uma concessão determina quando ela irá expirar e com que frequência o cliente precisa renová-la no servidor.
- Reserva: Você usa uma reserva para criar uma concessão de endereço permanente pelo servidor DHCP. As reservas asseguram que um dispositivo de hardware especificado na sub-rede sempre pode usar o mesmo endereço IP. A reserva é criada associada ao endereço de Hardware da placa de rede, conhecido como MAC-Address. No servidor DHCP você cria uma reserva, associando um endereço IP com um endereço MAC. Quando o computador (com o endereço MAC para o qual existe uma reserva) é inicializado, ele entre em contato com o servidor DHCP. O servidor DHCP verifica que existe uma reserva para aquele MAC-Address e configura o computador com o endereço IP associado ao Mac-address. Caso haja algum problema na placa de rede do computador e a placa tenha que ser substituída, mudará o MAC-Address e a reserva anterior terá que ser excluída e uma nova reserva terá que ser criada, utilizando, agora, o novo Mac-Address.
- Tipos de opção: Tipos de opção são outros parâmetros de configuração do cliente que um servidor DHCP pode atribuir aos clientes. Por exemplo, algumas opções usadas com frequência incluem endereços IP para gateways padrão (roteadores), servidores WINS (Windows Internet Name System) e servidores DNS (Domain Name System). Geralmente, esses tipos de opção são ativados e configurados para cada escopo. O console de Administração do serviço DHCP também permite a você configurar tipos de opção padrão que são usados por todos os escopos adicionados e configurados no servidor. A maioria das opção é predefinida através da RFC 2132, mas você pode usar o console DHCP para definir e adicionar tipos de opção personalizados, se necessário.
Critérios de atribuição de IPs
O DHCP, dependendo da implementação, pode oferecer três tipos de alocação de endereços IP:
- Atribuição manual – Onde existe uma tabela de associação entre o Endereço MAC do cliente (que será comparado através do pacote broadcast recebido) e o endereço IP (e dados restantes) a fornecer. Esta associação é feita manualmente pelo administrador de rede; por conseguinte, apenas os clientes cujo MAC consta nesta lista poderão receber configurações desse servidor;
- Atribuição automática – Onde o cliente obtém um endereço de um espaço de endereços possíveis, especificado pelo administrador. Geralmente não existe vínculo entre os vários MAC habilitados a esse espaço de endereços;
- Atribuição dinâmica – O único método que dispõe a reutilização dinâmica dos endereços. O administrador disponibiliza um espaço de endereços possíveis, e cada cliente terá o software TCP/IP da sua interface de rede configurados para requisitar um endereço por DHCP assim que a máquina for ligada na rede. A alocação utiliza um mecanismo de aluguel do endereço, caracterizado por um tempo de vida. Após a máquina se desligar, o tempo de vida naturalmente irá expirar, e da próxima vez que o cliente se conectar, o endereço provavelmente será outro.
Algumas implementações do software servidor de DHCP permitem ainda a atualização dinâmica dos servidores de DNS para que cada cliente disponha também de um DNS. Este mecanismo utiliza o protocolo de atualização do DNS especificado no RFC 2136.
Detalhes técnicos
O DHCP (Dynamic Host Configuration Protocol) utiliza o modelo cliente-servidor, no qual o cliente solicita o endereço e obtém a concessão de um IP, envolvendo quatro passos, que seguem a seguinte ordem (conforme figura abaixo):
DHCPDISCOVERY (descoberta)
O cliente transmite mensagens na sub-rede física para descobrir os servidores DHCP disponíveis. Os administradores de rede podem configurar um roteador local para encaminhar pacotes DHCP a um servidor DHCP de uma sub-rede diferente. Este cliente cria um pacote UDP (User Datagram Protocol), com o destino de difusão 255.255.255.255 ou o endereço de broadcast de sub-rede específica. Um cliente DHCP também pode solicitar o seu último endereço IP conhecido (no exemplo abaixo, 192.168.1.100). Se o cliente permanece conectado a uma rede IP para o qual este é válido, o servidor pode satisfazer o pedido. Caso contrário, ele depende se o servidor está configurado no modo autoritário ou não. Um servidor no modo autoritário negará o pedido, fazendo o cliente pedir um novo endereço IP imediatamente. Um servidor no modo não autoritário simplesmente ignora o pedido, levando a um limite de tempo, dependente da implementação, para o cliente desistir do pedido e pedir um novo endereço IP.
DHCPOFFER (oferta)
Quando um servidor DHCP recebe um pedido de concessão de IP de um cliente, ele reserva um endereço IP para o cliente (essa reserva é opcional, segundo a RFC 2131 – 3.1.2) e estende uma oferta de concessão IP através do envio de uma mensagem DHCPOFFER para o cliente. Esta mensagem contém o endereço MAC do cliente, o endereço IP que o servidor está oferecendo, a máscara de sub-rede, a duração da concessão, bem como o endereço IP do servidor de DHCP que faz a oferta. O servidor determina a configuração com base no endereço de hardware do cliente como especificado no campo CHADDR (endereço de hardware do cliente). Aqui o servidor, 192.168.1.1, especifica o endereço IP no campo YIADDR (seu endereço IP).
DHCPREQUEST (pedido)
Em resposta aos pedidos de oferta do servidor, o cliente responde com um DHCPREQUEST, ainda em broadcast (para ser visível por todos os DHCP servers), solicitando o endereço oferecido. Um cliente pode receber ofertas de vários servidores DHCP, mas vai aceitar apenas uma oferta DHCP. Com base no campo ID da transação no pedido, os servidores são informados da oferta que o cliente aceitou. Quando outros servidores DHCP receberem esta mensagem, eles retiram quaisquer ofertas que eles poderiam ter feito para o cliente e retornam o endereço oferecido ao pool de endereços disponíveis. Em alguns casos, DHCPMESSAGE é transmitido em broadcast, em vez de ser unicast para um servidor DHCP particular, porque o cliente DHCP ainda não recebeu um endereço IP. Além disso, esta mensagem de uma forma pode deixar todos os outros servidores DHCP saberem que outro servidor fornecerá o endereço IP sem perder qualquer um dos servidores com uma série de mensagens unicast. A mensagem DHCPREQUEST também é utilizada pelo cliente DHCP para renovar o período de concessão do endereço de rede de tempo em tempo (dependente do período de concessão configurado no servidor DHCP e de implementação do cliente).
DHCP de confirmação (ACK)
Quando o servidor DHCP recebe a mensagem DHCPREQUEST do cliente, o processo de configuração entra em sua fase final. A fase de reconhecimento envolve o envio de um pacote DHCPACK para o cliente. Este pacote inclui a duração da concessão e quaisquer outras informações de configuração que o cliente pode ter solicitado. Neste ponto, o processo de configuração de IP é concluído. O protocolo prevê que o cliente DHCP configurará sua interface de rede com os parâmetros negociados.
Informações DHCP
Um cliente DHCP pode solicitar mais informações do que o servidor enviou com o DHCPOFFER original. O cliente também pode solicitar dados repetidos para uma determinada aplicação. Por exemplo, os navegadores usam DHCPINFORM para obter as configurações de proxy web via WPAD. Estas consultas com o servidor DHCP não servem para atualizar o tempo de concessão do IP em seu banco de dados (para isso é enviada a mensagem DHCPREQUEST).
Liberando DHCP
O cliente envia uma solicitação (DHCPRELEASE) ao servidor DHCP para liberar a configuração de rede e o cliente DHCP desativa seu endereço IP. Como os dispositivos de lado do cliente geralmente não sabem quando os usuários podem desligá-los da rede, o protocolo não obriga o envio de DHCPRELEASE.