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

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

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.

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando artes de texto usando imagens

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

Veja também

Afinal, vale a pena gastar tempo com web marketing?

Expressões como gastar tempo e investir tempo andam lado a lado. Quando algo investido não tem o retorno esperado isso se torna uma perde de tempo...

Uma das vantagens de ter um robô trabalhando para você é o aumento da produtividade

Hoje em dia não é mais necessário gastar o nosso tempo com tarefas que podem se automatizadas. Os robôs estão aqui para nos ajudar...

Portas TCP e UDP

A porta é um número de 16 bits que é adicionado no final do endereço IP, insinuando qual aplicativo está vinculado e atuando nessa porta.

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.

Protocolo

Protocolo é um conjunto de regras a serem seguidas para tornar possível a comunicação entre dois dispositivos ou computadores.

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.