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: 2.003 ]

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

Load Balancer com Failover, Perlbal e Heartbeat para servidores web

Apache2 + PHP + PostgreSQL + phpPgAdmin

Blockmail: um filtro de anexos de e-mail

Redes, Modelos de Referência, suas Camadas e seus Protocolos

Velox: Como configurar sua conexão após a mudança

  
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