O protocolo DHCP: evolução, características e seu funcionamento

O DHCP é um protocolo da camada de aplicação que atua na atribuição de endereços IP e outras configurações para dispositivos conectados a uma rede. O artigo apresenta a evolução do protocolo, o seu funcionamento e o passo a passo para a instalação de um servidor DHCP em uma distribuição Debian para análise das trocas de mensagens entre cliente e servidor.

[ Hits: 3.694 ]

Por: Lauis de Oliveira e Silva Junior em 01/01/2024


Teoria e conceitos importantes



O protocolo DHCP pode ser implementado tanto em redes locais como em redes corporativas, sendo compatível com o IPv4 e o IPv6, eliminando a necessidade de atribuição manual tanto dos endereços IP quanto de informações de configuração como máscara de sub-rede, gateway padrão e servidores DNS.

É utilizado um modelo cliente-servidor, onde um servidor gerencia um pool de endereços IP que podem ser atribuídos aos clientes. Quando um dispositivo conecta a uma rede, ele envia a solicitação DHCP e recebe as informações necessárias para a configuração da sub-rede. O agente de retransmissão (DHCP relay) também pode compor o sistema, trata-se de um recurso usado por um switch que permite a comunicação DHCP entre hosts e servido-res DHCP remotos que não estão na mesma rede. Neste caso, quando um cliente envia um broadcast DHCP para um endereço IP, o agente de retransmissão encaminha a solicitação para a sub-rede em que o servidor DHCP remoto reside.

O processo de obtenção de um endereço de host via DHCP envolve as seguintes trocas de mensagens, cada uma com seu ID de transação:
  1. DHCP Discover: o dispositivo que deseja se conectar é rede envia uma mensagem de descoberta DHCP pelo endereço de broadcast (ou seja, é encaminhado a todos os dispositivos que estão na rede). O objetivo é encontrar um servidor DHCP que possa lhe oferecer as configurações;
  2. DHCP Offer: o servidor recebe a mensagem de descoberta e responde com a oferta contendo os parâmetros de configuração, também encaminhada ao endereço broadcast;
  3. DHCP Request: o cliente escolhe a oferta (caso tenha recebido de mais de um servidor DHCP) e responde ao servidor com a solicitação;
  4. DHCP ACK: por fim, o servidor confirma a concessão dos parâmetros de configuração.


A figura a seguir mostra a interação entre um cliente e os servidores DHCP em uma rede.


Além das mencionadas anteriormente, ainda há outras mensagens DHCP que podem ser trocadas:
  • DHCP Nack: O servidor DHCP envia esta mensagem para rejeitar uma mensagem DHCP Request de um cliente DHCP (caso não haja endereço disponível, por exemplo);
  • DHCP Decline: O cliente DHCP envia esta mensagem para notificar o servidor DHCP de que o endereço IP alocado está em conflito com outro endereço IP. O cliente DHCP então solicita ao servidor DHCP outro endereço IP;
  • DHCP Release: O cliente DHCP envia esta mensagem para liberar seu endereço IP alocado. Após receber uma mensagem DHCP Release, o servidor DHCP pode alocar este endereço IP para outro cliente DHCP;
  • DHCP Inform: O cliente DHCP envia esta mensagem para obter parâmetros de configuração de rede, como o endereço do gateway e o endereço do servidor DNS, depois de ter obtido um endereço IP.


As mensagens DHCP são transmitidas usando o protocolo UDP (User Datagram Protocol). Um cliente DHCP usa a porta UDP 68 para enviar mensagens a um servidor DHCP, e um servidor DHCP usa a porta UDP 67 para enviar mensagens a um cliente DHCP.

O uso do UDP como seu protocolo de transporte proporciona algumas vantagens, como velocidade e eficiência (como não é voltado é conexão, permite maior rapidez entre as trocas de mensagens), simplicidade (não requer manutenções de informações de estado de conexão), utilização de menos recursos (comparado ao UTP), suporte ao broadcast e multicast (permite a distribuição eficiente para vários dispositivos simultaneamente), possui flexibilidade na implementação (complexidade de código mínima para desenvolvimento de servidores e clientes) e escalabilidade, visto que permite lidar eficientemente com múltiplos dispositivos e condições de rede dinâmicas (BOUGUEZZI, 2023).

Na configuração realizada para demonstrar o funcionamento do protocolo foi utilizado o servidor ISC DHCP, uma solução de código aberto para a implementação de servidores DHCP, agentes de retransmissão e clientes. O grupo responsável pelo seu desenvolvimento atualmente trabalha no Kea (o seu substituto). Além dele, há outras opções disponíveis para as distribuições GNU/Linux, como o BusyBox e o Dibbler. No Windows, o serviço DHCP já está incluído no sistema operacional.

A tabela a seguir apresenta alguns servidores DHCP, a plataforma e os recursos que eles disponibilizam.


Como já apontado anteriormente, informações adicionais são fornecidas, conhecidas como opções DHCP, visando a otimização da rede. Vejamos as principais:
  1. Gateway Padrão: roteador que permite a comunicação do seu dispositivo com outras redes. é fornecido o seu endereço IP para que o cliente saiba como encaminhar o tráfego para redes externas;
  2. Máscara de sub-rede: determina a quantidade de endereços IP disponíveis em uma rede local. Fornecido ao cliente para que se saiba quais endereços IP estão na mesma rede local;
  3. Servidores DNS: responsáveis pela tradução de nomes de domínio em endereços IP, permitindo que dispositivos acessem a Internet. O servidor DHCP pode fornecer os endereços IP dos servidores DNS para que o dispositivo possa resolver nomes de domínio em endereços IP;
  4. Opções personalizadas: além disso, pode-se incluir configurações de segurança, como autenticação e criptografia, configurações de servidor de impressão que estejam disponíveis na rede, configurações de tempo e fuso horário, bem como configurações específicas para servidores de e-mail ou de banco de dados.


O DHCP oferece suporte a alguns mecanismos diferentes para alocação de endereços IP: alocação estática, dinâmica, dinâmica estática e manual. Na alocação estática o servidor atribui um endereço IP permanente a um cliente com base em seu endereço MAC (Media Access Control). Na dinâmica, um endereço IP é atribuído por um período limitado ou até que ele seja liberado. A dinâmica estática combina os dois métodos anteriores, atribuindo um endereço estático a um dispositivo em específico e dinâmico aos demais. A alocação manual ocorre quando o servidor transmite um endereço ao cliente que foi especificamente atribuído pelo administrador de rede.

A alocação dinâmica permite a reutilização de endereços IP de modo automático e é o modo que o DHCP ajuda a controlar o problema de esgotamento de endereços, principalmente em locais em que há diversos clientes conectados é rede e que há algum fluxo de usuários. Assim, quando um host se desconectar, o mesmo endereço IP pode ser atribuído a outro que acabou de se conectar é rede, sem que seja necessária a configuração manual, ao mesmo tempo em que é realizada a administração pelo servidor dos endereços disponíveis (evitando a alocação de um mesmo endereço a diferentes clientes).

O lease time, ou tempo de locação, é um mecanismo do servidor DHCP para realizar o gerenciamento dos endereços. Trata-se da duração de tempo em que o servidor atribui um endereço IP a um determinado cliente. Quando esse tempo expira, o cliente deve solicitar uma renovação da concessão para continuar utilizando o mesmo endereço. também é responsável configurar, se necessário, o max lease time (tempo máximo de locação), sendo o tempo máximo que um cliente pode manter o endereço IP antes que seja obrigado a liberá-lo. é uma medida utilizada para evitar que dispositivos retenham IPs por longos perãodos sem usá-los.

A escolha do lease time adequado depende de vários fatores, como o tipo de rede, número de dispositivos, disponibilidade de endereços IP e os requisitos de segurança e estabilidade da rede. Por exemplo, lease time curtos são adequados para redes com muitos dispositivos transitários, enquanto um tempo mais longo pode ser melhor em grupos fixos de usuários, reduzindo o tráfego e a sobrecarga na rede causados por renovações frequentes de locação.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Importância do protocolo DHCP
   3. Motivação histórica e origem
   4. Teoria e conceitos importantes
   5. A segurança do serviço DHCP
   6. Protocolos relacionados e semelhantes
   7. RFCs: Evoluções e melhorias
   8. Clientes DHCP
   9. Instalação do servidor DHCP
   10. Teste com o cliente
   11. Análise básica do protocolo com Wireshark
   12. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Node.js para administradores de sistema

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

Firefox: Testando e/ou utilizando várias versões

Gravando mp3 usando o XMMS

Servidor Apache hospedando diversos sites com e sem SSL

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/01/2024 - 13:12h


Muito bom, bem completo.

___________________________________________________________
https://www.youtube.com/@LinuxDicasPro
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts