DHCP
(Dynamic Host Configuration
Protocol)
Gerencia de Redes
Redes de Computadores II
*baseado no material de Flávio Almeida, Gustavo Ferraz, Hugo Simões, Humberto
Pacheco
Motivação
• Principais parâmetros que devem ser
configurados para que o protocolo TCP/IP
funcione em uma máquina
– Número IP
– Máscara de sub-rede
– Gateway Padrão
– Número IP de um ou mais servidores DNS
Motivação
• Em uma rede com centenas e até mesmo
milhares de estações de trabalho, configurar o
TCP/IP em cada estação se torna uma tarefa
bastante trabalhosa
• Sempre
que
houver
mudanças,
a
reconfiguração
terá
que
ser
feita
manualmente em todas as estações de
trabalho
Motivação
• Possibilidade de erros de configuração
– Digitação do endereço IP
– Digitação da máscara de sub-rede
Origem
RARP
• Reverse Address Resolution Protocol
– Funcionalmente similar ao ARP
– Faz um broadcast de requisição de um endereço
IP associado ao endereço MAC fornecido
– O servidor RARP responde com um endereço IP
– Apenas atribui o endereço IP (não o roteador
default e a máscara de subrede).
Endereço IP
(32 bit)
ARP
RARP
Endereço
Ethernet MAC
(48 bit)
BOOTP
•
•
•
•
BOOTstrap Protocol (BOOTP)
De 1985
Host pode configurar seus parâmetros IP durante o boot
3 serviços
– Atribuição de endereço IP
– Detecta o endereço IP para uma máquina servidora.
– O nome de um arquivo para ser carregado e executado por um cliente
(boot file name)
• Não apenas a atribuição de IP, mas também o roteador
padrão, máscara de rede, etc.
• Enviado como mensagens UDP
• Usa o endereço de broadcast (255.255.255.255):
DHCP
9
DHCP
• Dynamic Host Configuration Protocol
– A partir de 1993
– RFC 1541
– Uma extensão do BOOTP
– Mesmos números de porta do BOOTP
– Extensões:
• Apoia alocação temporária ( “leases") de endereços IP
• O cliente DHCP poderá adquirir todos os parâmetros de
configuração IP necessários para a operar
– DHCP pode interoperar com clientes BOOTP.
DHCP
▫ DHCP é o mecanismo preferido para alocação dinâmica de
endereços IP
▫ Criado para facilitar a configuração e administração do
protocolo TCP/IP em uma rede com um grande número de
máquinas
▫ Gerencia informações sobre parâmetros de configuração
do cliente como o gateway padrão, nome do domínio, os
servidores DNS, etc.
▫ Evita problemas de conectividade ou desorganização da
rede, tais como:
 Mudança de endereços IP e gateway
 Conflito de endereços
Critério de atribuição de IP
• Atribuição manual
• Atribuição automática
• Atribuição dinâmica
Formato de mensagem Opicionalmente
DHCP usado
Tipo da Mensagem
BootRequest /BootReply
OpCode
pelos agentes DHCP
Hardware Type
Hardware Address
Length
Hop Count
Transaction ID
Unused (in BOOTP)
Flags (in DHCP)
Number of Seconds
Client IP address
Your IP address
Server IP address
Gateway IP address
Client hardware address (16 bytes)
Server host name (64 bytes)
Boot file name (128 bytes)
Options
Funcionamento DHCP
Funcionamento DHCP
• Processo de 4 fases entre cliente e
servidores
– Cliente envia DISCOVER “Alguém me envie um endereço”
(Broadcast).
– Servidores OFFER “Use este endereço”.
– Cliente REQUESTS “Eu usarei este”. (broadcast)
– Servidores ACKNOWLEDGE
(ACK/NAK)
“OK ou No Way!”
Fluxo de mensagens inicial
Server A
Client
DHCPDISCOVER
DHCPOFFER
Server B
DHCPDISCOVER
DHCPOFFER
Cliente recolhe ofertas
decide qual aceitar
DHCPREQUEST
Configuração Completa
Cliente
tenta
descobrir
disponíveis DHCP Servers
Servers
ofertas
responde
com
e
DHCPREQUEST
DHCPACK
Desligamento
DHCPRELEASE
O cliente faz um requisição
broadcasts
um
dos
endereços ofertados.
O servidor reconhece o uso
do endereço IP pelo cliente.
O cliente libera o uso do
endereço IP
DHCP Tipos de Mensagens
Message
Description
DISCOVER
Client broadcast to locate available servers
OFFER
Server to client response offering configuration
parameters
REQUEST
Client broadcast requesting offered parameters
ACK
Server to client response confirming a request
NAK
Server to client response denying a request
RELEASE
Client to server request to relinquish IP address
DECLINE
Client to server notification that IP address is in use
Tempo de renovação concessão (Client
Lease)
• Escolhendo um tempo de lease
– Lease atribuído anteriormente ao cliente;
– Lease padrão
– Lease requisitado pelo cliente
– Lease relacionado com o identificador do cliente
Tempo de renovação concessão (Client
Lease)
• T1 < T2 < Tempo de concessão
(exemplo: lease time de 600seg 10minutos)
• T1 valor padrão = 1/2 of lease time (300s)
• T2 valor padrão = 7/8 of lease time (75s)
• Comunicado via DHCPOFFER/DHCPACK
• Ações do cliente quando o tempo passa:
▫ T1: cliente deve renovar endereço com o servidor
DHCP.
▫ T2: cliente deve renovar endereço com algum servidor
DHCP.
▫ Tempo de concessão (Lease time): cliente deve parar
de usar o endereço IP.
Fluxo de renovação
Server A
Client
Server B
T1 elapses
DHCPREQUEST
Configuration complete
DHCPACK
Client unicasts request to
continue using IP address
Server acknowledges
request and updates lease
T1 elapses
DHCPREQUEST
Client unicasts request to
continue using IP address
T2 elapses
DHCPREQUES
T
DHCPAC
K
DHCPREQUES
T
Configuration complete
Client broadcasts request to
continue using IP address
Server acknowledges
request and updates lease
Estrutura de uma rede
DHCP Clients
UDP Port
68
UDP Port
68
UDP Port
68
UDP Port
67
Router
Internet
DHCP Relay
Sub-rede 1
DHCP RELAY
Sub-rede 2
DHCP Relay
• DHCP relays habilitam um servidor DHCP por
domínio administrativo, além de um servidor por
rede.
▫ Necessita um DHCP relay em cada rede
▫ DHCP relay envia um pacote IP unicast para o servidor DHCP, quando
“escuta” um pacote broadcast IP local com DHCPDISCOVER
IP Router
LAN1
255.255.255.255
LAN2
DHCP
Relay
Requesting Host
DHCP
Server
Download

Lease