DHCP

O DHCP é um protocolo que automatiza o processo de atribuição de informações que são necessárias para um dispositivo poder se conectar à internet.

Categoria de Tecnologia

Postado em 01 maio 2022

Atualizado em 23 julho 2022

Palavras-chave: network,protocol,dhcp,dynamic,host,configuration

Visualizações: 3511

DHCP é a abreviação de Dynamic Host Configuration Protocol.

Nos primórdios da internet, quando DHCP ainda não existia, todo seu trabalho era feito manualmente. Porém, com o crescimento do número de dispositivos conectados à internet, tornou-se necessário automatizar algumas tarefas repetitivas. O DHCP foi criado para automatizar essas tarefas.

O que é DHCP?

DHCP é um protocolo que possibilita um servidor DHCP atribuir automaticamente endereços IP para dispositivos conectados à internet.

Antes do DHCP existir, alguém tinha que atribuir esses endereços IP manualmente. Atribuir endereços manualmente pode ser um grande desastre, pois não podemos atribuir um mesmo endereço IP para dois dispositivos diferentes, o endereço IP precisa ser único. Além disso, quando se fala de centenas de dispositivos conectados à internet, esse trabalho fica extremamente complicado.

Além do endereço IP, o DHCP também atribui as seguintes informações ao nosso dispositivo conectado à internet:

O servidor DHCP vai alocar essas informações baseando-se no nosso endereço físico (MAC).

Quando nos desconectamos da internet, o nosso endereço IP pode ser diferente quando nos conectarmos novamente. Isso acontece porque o endereço IP que o nosso dispositivo recebe do servidor DHCP é dinâmico, possuindo uma data de expiração. Quando nosso endereço IP expira, nosso dispositivo precisa solicitar novamente ao servidor DHCP um endereço IP.

Porém, existem dispositivos conectados à internet que necessitam endereços IP estáticos. Um endereço IP estático, é um endereço fixo, que nunca muda. Endereços IP estáticos precisam ser atribuídos manualmente. Um exemplo de dispositivo que precisa de um endereço estático é a impressora.

dhcp

Como funciona o processo de atribuição de endereços?

Quando um dispositivo tenta se conectar à internet, primeiro é necessário um endereço IP, que deverá ser solicitado à um servidor DHCP. São 4 etapas até o dispositivo obter as informações necessárias para se conectar à internet.

1. DHCPDiscover

Olá, tem alguém aí?
Dispositivo
Servidor DHCP

2. DHCPOffer

Olá, quer se conectar à internet?
Servidor DHCP
Dispositivo

3. DHCPRequest

Sim, eu aceito!
Dispositivo
Servidor DHCP

4. DHCPack

Volte sempre!!
Servidor DHCP
Dispositivo

Se analisarmos cada etapa mais detalhadamente, temos as seguintes informações:

  1. Um dispositivo irá tentar se comunicar com algum servidor DHCP, mesmo não sabendo se há ou não um servidor DHCP por perto.
  2. Se houver um servidor DHCP por perto, este mandará um resposta contendo informações necessárias para o dispositivo poder se conectar à internet. Essas informações são endereço IP, máscara de sub-rede, default gateway e servidor DNS. Nessas informações também estará incluído a data de expiração dessas informações.
  3. O dispositivo mandará outro sinal aceitando essas informações atribuídas pelo servidor DHCP.
  4. Finalmente, o servidor DHCP enviará o último sinal para o dispositivo confirmando que tudo deu certo. Uma vez que tudo isso termina, o servidor DHCP alocará o endereço IP atribuído e o endereço físico(MAC) desse dispositivo.

Conclusão

O DHCP é um protocolo que automatiza o processo de atribuição de informações que são necessárias para um dispositivo poder se conectar à internet. Esse processo de atribuição de informações pode ser feito manualmente, porém traz muitas desvantagens e pode ser extremamente tedioso.

O DHCP atribuí um endereço IP dinâmico, que pode mudar caso a data de expiração chegue ao seu fim.

Projetos práticos

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Veja também

Os robôs estão aprendendo por conta própria?

Já não é mais novidade saber que os robôs não precisam mais da orientação de um humano para aprender. Além disso, os robôs já superam os humanos em muitas áreas...

Os três pilares de segurança da informação são o requerimento mínimo para um serviço seguro

A quantidade de programadores só tende a aumentar com o tempo. Porém, muitos programadores ainda não conhecem os três pilares de segurança da informação.

VPN Rede virtual privada

A VPN permite a transferência de dados de modo privado e seguro em uma rede pública sem a utilização de infraestrutura adicional.

ESNI Indicação de nome de servidor criptografado

Versão criptografada do protocolo SNI. O SNI é usado para gerenciar múltiplos certificados TLS de sites em um único servidor.

WiFi Wireless Fidelity

Realiza a transmissão de dados entre o roteador e os dispositivos da LAN usando ondas de rádio. As bandas de frequência utilizadas podem ser 2,4GHz e 5Ghz.

Envenenamento de cache DNS

O envenenamento de cache DNS é a injeção de endereços IP de um site falso no cache de um servidor DNS local, com o objetivo de pharming.