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

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 um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

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.

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.

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Veja também

Ainda nos primórdios da internet discada, o maior medo de um usuário era o telefone tocar...

Esperávamos horas para baixar apenas alguns megabytes. Nessas horas, quando o telefone tocava nós fazíamos de tudo para não atender o telefone. Mas infelizmente nem sempre dava certo....

Os bancos estão sendo substituídos pelos robôs em transações online

As criptomoedas mudaram totalmente o modo das pessoas pensarem. Usar robôs para autentificar transações online, custa muito menos comparado com os bancos em relação às taxas...

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.

Pacote de dados

Unidades contendo informação de um arquivo que é enviado de um nó para o outro através da internet. Quando juntadas formam um arquivo.

LAN

Rede local de computadores (LAN) é um conjunto de computadores ou dispositivos conectados uns aos outros de forma isolada em um pequeno local.

HTTP, HTTPS e SSL

HTTPS é a versão evoluída do protocolo HTTP. O HTTPS utiliza o protocolo SSL, que torna a transferência de dados segura.