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

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

Caixa eletrônico usando arquitetura limpa

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

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

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).

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

Veja também

Todo empreendedor deve estar consciente que cada funcionário é um humano, portanto deve reconhecer as tentações em alguns cenários

Estudar o comportamento das pessoas pode auxiliar um administrador a criar um sistema de fiscalização mais eficiente, evitando fraudes que prejudicam a imagem da empresa

Os computadores usam a numeração binária para a manipulação de dados em circuitos elétricos

A ausência e a presença de energia são dois estados que podem ser usados como valores. Esses valores são respectivamente zero e um.

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.

DNS Domain Name System (Sistema de Nomes de Domínio)

Protocolo utilizado para buscar endereços IPs vinculados com um URL solicitado através de um navegador ou aplicativo de email.

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.

Máscara de sub-rede (subnet mask)

Responsável por identificar cada valor dentro de um endereço IP, como endereço da rede, endereço de sub-rede e endereço da máquina hospedeira.