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: 4332

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 artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

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.

Criando um sistema de integração contínua (CI/CD)

Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.

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.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Veja também

O usuário malicioso joga a isca e espera a vítima pacientemente

Phishing tem esse nome pois a vítima se torna só mais um peixe na rede. Ter conhecimento de phishing é o melhor jeito de evitar ser um desses peixes

Nunca se sabe quando tem alguém nos espionando no nosso computador

Um computador conectado à internet está exposto a diversos perigos. O spyware é um deles e é esse malware responsável por roubar contas de redes sociais.

Websockets

Protocolo que atua sobre o protocolo HTTP para múltiplas transferências de dados com uma única conexão com o intuito enviar e receber dados em tempo real.

Navegador

Aplicativo que adquiri e converte o conteúdo de outros servidores para a exibição de páginas na internet através de protocolos de comunicação, como o HTTP.

MQTT Message Queue Telemetry Transport

Protocolo de transferência de mensagens projetado especialmente para a comunicação de dispositivos IoT, sendo eficiente em sistemas com recursos limitados.

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.