Anda di halaman 1dari 50

Dynamic Host Configuration

Protocol – DHCP

Conceito e Funcionamento

Bruno Roberto V. Castro – bruno.una@gmail.com


Objetivos

 Antes do DHCP, o RARP e o BOOTP


 Como surgiu o DHCP
 O que é o DHCP
 Conceitos de Funcionamento
 Procedimentos de inicialização
 Os estados de aquisição
 Término da utilização
Obtendo um endereço IP
automaticamente....
 Uma desvantagem ao utilizar a arquitetura
TCP/IP, se comparado com outros protocolos
de rede, como o IPX/SPX, é o trabalho de
administrar os endereços IP´s

 Cada computador possui seu próprio


endereço IP e o administrador é “obrigado” a
configurar e controlar os endereços IP´s
Obtendo um endereço IP
automaticamente....
 Para minimizar este trabalho, criou-se o
BOOTP que “distribui” o endereço IP para os
computadores na REDE. E posteriormente,
veio o DHCP, uma melhoria do protocolo
BOOTP.

 Ambos, nasceram do protocolo RARP


(Reverse Address Resolution Protocol )
 RARP -> BOOTP -> DHCP
Como surgiu o RARP ?

 A necessidade inicial de automatizar a


requisição e distribuição do endereço IP,
surgiu com a existência de estações sem
disco (diskless)

 Surge o protocolo RARP


Como surgiu o RARP ?

 Em condições normais (estação de trabalho


normal), o endereço IP fica armazenado na
própria máquina e é carregado após o BOOT

 Quando a máquina não possui disco para


inicialização do sistema (diskless) e
conseqüentemente carregar seu endereço
IP, a “imagem” de memória daquela estação
fica no servidor
Como surgiu o RARP ?

 Como é possível a máquina cliente obter seu


endereço IP para então receber a “imagem”
de memória pelo servidor ?

 Utilizando o RARP a estação “diskless”


consegue obter o endereço IP, fazendo uso
naquele momento, do seu endereço físico de
rede (MAC address)
O que é o RARP ?

 O RARP é uma adaptação do protocolo ARP


(RFC 826), feito para obter endereços IP´s
através da técnica de “Reverse ARP”
Como funciona o RARP
Mensagem BROADCAST:
“Quero um IP !”
DISKLESS

ESTAÇÂO
DISKLESS
SERVIDOR RESPONDE
UNICAST para o endereço
MAC da solicitante:
“O seu IP é XX”

SERVIDOR
RARP
Como funciona o RARP

 A partir do momento da obtenção do


endereço IP, a máquina somente fará uso do
Servidor RARP novamente, quando for
reinicializada

 Intuito final do RARP: Enviar um endereço IP


para uma máquina “diskless”, para que ela
consiga trafegar pacotes na rede após a
obtenção do endereço
Algumas desvantagens do RARP
 Opera em nível considerado “baixo” das
camadas (Camada de Acesso)

 Opera na camada de Acesso, apesar de


levar no final da comunicação, o endereço IP
para ser atribuído

 Por operar a nível de acesso de hardware,


fica muito complicado para um programador
de aplicativos, desenvolver um servidor
RARP
Algumas desvantagens do RARP

 Sub-utilização do Quadro
 Poderia carregar mais informações úteis à
estação de trabalho (carrega somente o IP)

 Não pode ser aplicado em redes que têm


atribuições dinâmicas nos endereços de
hardware ***
O BOOTP e o DHCP

 Para compensar algumas das desvantagens


do RARP, os pesquisadores desenvolveram:

 BOOTP (RFC 1532)

 E posteriormente o seu sucessor:

 DHCP (RFC´s 1533, 1534 e 1542)


O BOOTP e o DHCP

 Os dois protocolos guardam estreita relação

 O DHCP estende a funcionalidade do


BOOTP, oferecendo uma atribuição dinâmica
de endereços
DHCP – Como Funciona – Uso do IP
para determinar um endereço IP
 Uma das características mais excêntricas do
DHCP e também do BOOTP, é que eles
utilizam o UDP (transporte) e
conseqüentemente o IP (rede) para transmitir
mensagens

 Parece impossível um computador utilizar o


UDP para encontrar um end. IP, sendo que
ele ainda não possui IP
DHCP – Como Funciona – Uso do IP
para determinar um endereço IP

 Um programa aplicativo pode utilizar o


endereço IP de difusão limitada para obrigar
o IP a difundir um datagrama na rede local,
antes que o IP descubra seu endereço IP da
rede local ou equipamento

 Difusão Limitada =
11111111.11111111.11111111.1111111
255.255.255.255
DHCP – Como funciona

Mensagem BROADCAST:
to: 255.255.255.255
Cliente DHCP Tem algum Servidor DHCP
ESTAÇÂO Aí ???
de Trabalho
SERVIDOR RESPONDE
UNICAST para o endereço
MAC da solicitante:
“O seu IP é XX”
“O seu Gateway é YY”
“O seu DNS é ZZ”
SERVIDOR
DHCP
DHCP – Como Funciona - Diretriz de
Retransmissão
 O DHCP delega à aplicação cliente, toda a
responsabilidade por uma comunicação
segura.

 Tanto o UDP quanto o IP, não oferecem


confiabilidade.

 Mensagens podem ser retardadas, perdidas,


transmitidas foram de ordem ou duplicadas
DHCP – Como Funciona - Diretriz de
Retransmissão
 O cliente DHCP usa o campo CHECKSUM
do UDP para garantir a integridade do pacote

 Para solucionar o problema de perda de


datagrama (mensagem UDP), o DHCP utiliza
uma técnica convencional de TIMEOUT com
RETRANSMISSÃO.
DHCP – Como Funciona - Diretriz de
Retransmissão

 Quando o cliente transmite uma solicitação,


aciona um temporizador. Não chegando
resposta antes de o temporizador expirar, o
cliente repete a transmissão

 Mas, se houver uma queda de energia e


todos os clientes após a inicialização
sobrecarregariam o servidor DHCP....
Então...
DHCP – Como Funciona - Diretriz de
Retransmissão
 Para solucionar isto, o DHCP recomenda um
valor aleatório de TIMEOUT e de início de
transmissão

 Aleatório entre 0 e 4 segundos, e o dobro do


tempo após cada retransmissão

 Depois de alcançar 60 segundos (temporizador),


o cliente continua usando o processo aleatório

 A “aleatorização”, ajuda a evitar transmissões


simultâneas
Formato de uma mensagem BOOTP
OP HTYPE HLEN HOPS
ID DE TRANSAÇÕES
SEGUNDOS NÃO UTILIZADOS
ENDEREÇO IP DO CLIENTE
SEU ENDEREÇO IP
ENDEREÇO IP DO SERVIDOR
ENDEREÇO IP DO ROTEADOR
ENDEREÇO DE HARDWARE DO CLIENTE (16 octetos)

NOME DO HOST DO SERVIDOR (64 octetos)


NOME DO ARQUIVO DE PARTIDA (128 octetos)
CAMPO ESPECÍFICO DO FABRICANTE (64 octetos)
Formato de uma mensagem DHCP
OP HTYPE HLEN HOPS
ID DE TRANSAÇÕES
SEGUNDOS NÃO UTILIZADOS
ENDEREÇO IP DO CLIENTE
SEU ENDEREÇO IP
ENDEREÇO IP DO SERVIDOR
ENDEREÇO IP DO ROTEADOR
ENDEREÇO DE HARDWARE DO CLIENTE (16 octetos)

NOME DO HOST DO SERVIDOR (64 octetos)


NOME DO ARQUIVO DE PARTIDA (128 octetos)

OPÇÕES (VARIÁVEL)
Diferença entre o BOOTP e o DHCP

 O BOOTP é um ótimo fornecedor de


informações para um cliente TCP/IP, mas
tem a desvantagem de seu mapeamento
(oferecido à estação de trabalho) ser estático

 A atribuição do parâmetro estático funciona


bem se os computadores permanecerem em
locais fixos e um gerenciador possuir uma
quantidade suficiente de endereços IP´s
Diferença entre o BOOTP e o DHCP

 Para administrar a atribuição de endereços


automatizada, o IETF “aperfeiçoou” o BOOTP e
criou o DHCP (Dynamic Host Configuration
Protocol)

 O DHCP estende o BOOTP de duas maneiras:


 1. O DHCP permite que o computador adquira todas as
informações necessárias em um única mensagem
 2. Permite que um computador obtenha de forma
rápida e dinâmica um endereço IP
DHCP – Tipos de atribuições de
endereços
 O DHCP, basicamente permite três tipos de
atribuições:

 Configuração Manual
 Determinado Endereço para Determinado Computador
 Configuração Automática
 Atribui um endereço permanente quando um
computador conectar-se pela primeira vez à rede
 Configuração Dinâmica
 “Empresta” um endereço a um computador, por um
tempo limitado
DHCP – Atribuição dinâmica do endereço
IP
 A atribuição dinâmica é o aspecto mais significativo
e moderno do DHCP

 Ao contrário da atribuição estática de endereços


que permanentemente aloca cada endereço IP para
um host específico, a atribuição dinâmica é
temporária

 Um servidor DHCP “empresta” um endereço para o


cliente por um período de tempo determinado, que
ele especifica ao alocar o endereço
DHCP – Atribuição dinâmica do endereço
IP
 Durante este período de “empréstimo”, o
servidor não alocará o mesmo endereço a
outro cliente

 Mas, quando a alocação terminar, o cliente


deverá renová-la, ou cancelar o uso do
endereço
DHCP – Atribuição dinâmica do endereço
IP
 O tempo ideal de alocação do endereço,
depende da rede em questão e das
necessidades da empresa

 O administrador pode configurar o período


máximo de empréstimo
DHCP – Atribuição dinâmica do endereço
IP
 Em último caso, pode-se configurar um valor
“infinito” para permitir que uma alocação dure
por um tempo arbitrário.

Assim como as atribuições feitas pelo


BOOTP
DHCP – Estados de Aquisição de
Endereços
 Quando um cliente utiliza o DHCP para obter
um endereço IP, ele encontra-se em um dos
seis estados de aquisição:

 INICIALIZA
 SELECIONA
 SOLICITA
 LIMITE
 VINCULA NOVAMENTE
 RENOVA
Partidas do Host
DHCPDISCOVER INICIALIZA

SELECIONA
DHCPNACK
Ou
Expiração da
DHCPOFFER Alocação Alocação Atinge
87,5% Expiração
Selecione Offer DHCPREQUEST
VINCULA
DHCPREQUEST
NOVAMENTE RENOVA

SOLICITA
DHCPACK

Alocação Atinge
50% Expiração
DHCPACK LIMITE DHCPREQUEST

Cancele Alocação/DHCPRELEASE
DHCP – Estados de Aquisição de
Endereços
 Quando um cliente faz a primeira inicialização
ele entra no estado INICIALIZA.
 Para dar início à aquisição de um endereço IP,
o cliente primeiramente entra em contato com
todos os servidores DHCP da rede local. Afim
de possibilitar isso, o cliente difunde uma
mensagem DHCPDISCOVER e passa para o
estado rotulado SELECIONA.
DHCP – Adquirindo Informações
V ER
CO
DI S
CP
DH Mensagem BROADCAST:
to: 255.255.255.255
Cliente DHCP Tem algum Servidor DHCP
ESTAÇÂO Aí ???
de Trabalho
F ER
P OF SERVIDOR RESPONDE
H C
D UNICAST para o endereço
MAC da solicitante:
“O seu IP é XX”
“O seu Gateway é YY”
“O seu DNS é ZZ”
SERVIDOR
DHCP
DHCP – Estados de Aquisição de
Endereços
 Pelo fato de o protocolo ser uma extensão do
BOOTP, o cliente envia a mensagem
DHCPDISCOVER em um datagrama UDP com a
porta de destino configurada para a porta
BOOTP (porta 67).

 Todos os servidores da rede local recebem a


mensagem e aqueles que foram programados
para responder para um cliente em particular
enviam uma mensagem DHCPOFFER.
DHCP – Estados de Aquisição de
Endereços

 Para utilizar o DHCP, um host torna-se um


cliente difundindo uma mensagem para todos
os servidores. Em seguida, o host reúne
ofertas de servidores, seleciona uma delas e
verifica a aceitação com o servidor.

 Opta então, por uma das respostas. Pode ser


por exemplo, a primeira que chegar.
DHCP – Adquirindo Informações
V ER
CO
DI S
CP
DH Mensagem BROADCAST:
to: 255.255.255.255
Cliente DHCP Tem algum Servidor DHCP
ESTAÇÂO Aí ???
de Trabalho ER
F
P OF
H C SERVIDOR RESPONDE
D UNICAST para o endereço
MAC da solicitante:
“O seu IP é XX”
“O seu Gateway é YY”
“O seu DNS é ZZ”
SERVIDOR
DHCPREQUEST
DHCP

DHCPACK
Estado normal de Operação - LIMITE

 Consideramos o estado LIMITE o estado


normal de operação. Geralmente, um cliente
permanece no estado LIMITE enquanto
estiver utilizando o endereço IP que adquiriu

 Neste momento, o computador CLIENTE


aciona os seus “TEMPORIZADORES”
DHCP – Operando Normalmente, estado
“LIMITE”

Cliente DHCP

ESTAÇÂO
de Trabalho

Rede LAN
“O meu IP é XX”
“O meu Gateway é YY”
“O meu DNS é ZZ”

Meus temporizadores estão em:


1. 01:00:00hs - renovação
2. 01:30:00hs - revinculação
3. 02:00:00hs – fim alocação SERVIDOR
DHCP
Estado normal de Operação - LIMITE

 Um servidor DHCP pode especificar os


valores explícitos para os “ 3 temporizadores”
nos clientes, caso contrário, o cliente utiliza o
padrão para os 2 primeiros.

 O 3° temporizador, via de regra, é obrigatório


ser fornecido pelo Servidor
Estado normal de Operação - LIMITE

 O padrão para o primeiro temporizador


(renovação), é metade (50%) do valor total
da alocação

 O padrão para o segundo temporizador é


87,5% do período total de alocação (contido
no 3° temporizador)
Para que os Temporizadores ??

 Quando o primeiro temporizador ultrapassar


o tempo determinado, o cliente deverá tentar
renovar a alocação.

 Neste momento, o cliente envia um


DHCPREQUEST ao servidor que fez
alocação e ganha o STATUS de “RENOVA”
O estado RENOVA

 Com o envio do DHCPREQUEST, o cliente


esta tentando prolongar o uso do IP que ele
obteve

 O Servidor pode Aprovar


 Neste caso devolvendo um DHCPACK, o que faz
o cliente voltar ao estado LIMITE
 (Operação Normal)
 Pode enviar novos valores de Temporizador
O estado RENOVA

 O Servidor pode não aprovar

 Neste caso, o servidor devolve um DHCPNACK,


que faz com que o cliente interrompa
imediatamente o uso do endereço IP e retorne ao
estado INICIALIZA
O estado RENOVA

 O Servidor pode NÂO Responder... (por


exemplo, ficou fora do ar....)

 Neste caso, não chegará nenhuma resposta por


parte do servidor que forneceu os dados. Para
contornar essa situação, o DHCP Cliente, espera
o SEGUNDO temporizador (que expira a 87,5%
do tempo total) expirar, e faz com que o Cliente
mude de RENOVA para VINCULA NOVAMENTE.
O estado VINCULA NOVAMENTE

 Ao fazer essa transição, o cliente pressupõe


que o servidor DHCP antigo não está
disponível e passa a difundir a mensagem
DHCPREQUEST para toda a rede, a procura
de outros servidores.

 Caso receba uma resposta positiva


(DHCPACK), o cliente retorna ao estado
LIMITE
O estado VINCULA NOVAMENTE

 Caso receba uma resposta NEGATIVA


(DHCPNACK), o cliente voltará ao estado
INICIALIZA e imediatamente interromperá o
uso do endereço IP

 Desta forma, irá tentar obter outro IP


novamente, começando em INICIALIZA
O estado VINCULA NOVAMENTE

 Na última hipótese, caso o cliente não receba


nenhuma resposta, de nenhum servidor, este
permanecerá usando o endereço IP, no
estado de VINCULA NOVAMENTE, até o
terceiro e último temporizador expirar.

 Para então voltar ao estado INICIALIZA e


tentar nova aquisição de endereço IP
Término precoce de uma alocação

 Quando não precisar mais da alocação, o


DHCP permitirá que um cliente a encerre
sem esperar que o prazo da validade
termine.

 Para o término precoce de uma alocação, um


cliente envia uma mensagem
DHCPRELEASE ao servidor. A liberação de
um endereço é o ultimo procedimento que
impede que o cliente posteriormente utilize o
endereço.
Fim parte 1