Seminário de Redes
DHCP
Flávio Almeida
Gustavo Ferraz
Hugo Simões
Humberto Pacheco
Rodrigo Mateus
Roteiro
• Motivação
• Origem
▫ RARP
▫ BOOTP
• DHCP
▫
▫
▫
▫
▫
Formato de mensagem DHCP
Funcionamento
Tipos de Mensagens
Renovação endereço IP
DHCP Relay
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 em boot time.
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
DHCP
10
• 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
Tipo da Mensagem
Opicionalmente usado
Formato
de
mensagem
DHCP
BootRequest /BootReply
pelos agentes DHCP
OpCode
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
Formato de mensagem DHCP
OpCode
Hardware Type
Hardware Address
Length
Hop Count
Transaction ID
Unused (in BOOTP)
Flags (in DHCP)
Number of Seconds
Client IP address
ID da transação, um número
Your IP address
gerado randomicamente
Endereço IP do cliente.
TotalIP de
segundos
Server
address
escolhido pelo cliente, usado
passados desde que o
pelo cliente e servidor para
Gateway IP address
cliente iniciou a
associar mensagens e
address (16 bytes)
respostas entre um cliente eClient hardwarerequisição.
um servidor.
Server host name (64 bytes)
Boot file name (128 bytes)
Options
Formato de mensagem DHCP
OpCode
Hardware Type
Hardware Address
Length
Hop Count
Transaction ID
Unused (in BOOTP)
Flags (in DHCP)
Number of Seconds
Endereço IP do agente
Relay, usado no booting
via um agente relay.
Seu endereço IP.
Client IP address
Your IP address
Server IP address
Gateway IP address
Client hardware address (16Endereço
bytes)
IP do próximo
servidor usado no
Server host name (64 bytes)
bootstrap; retornado no
Boot file name (128 bytes)
DHCPOFFER,
DHCPACK pelo servidor.
Options
Formato de mensagem DHCP
OpCode
Hardware Type
Hardware Address
Length
Hop Count
Transaction ID
Unused (in BOOTP)
Flags (in DHCP)
Number of Seconds
Client IP address
Your IP address
Opcional host name
do servidor.
Nome
do arquivo de
Gateway IP address
boot, nome ou null em
Client hardware address (16 bytes)
DHCPDISCOVER,
nome do diretório.
Server host name (64 bytes)
Campo opcional
Boot file name (128 bytes) de parâmetros.
Server IP address
Opcional host name
do servidor.
Endereço
do
Hardware do cliente.
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)
•
•
•
•
•
T1 < T2 < Tempo de concessão
T1 valor padrão = 1/2 of lease time
T2 valor padrão = 7/8 of lease time
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
DHCP Relay
• Servidor DHCP seleciona um endereço IP dinâmico
▫ Mapeia endereços MAC dos hosts para endereços IP
dinâmicos
• Outra vantagem dos relays: habilita as respostas
DHCP a voltarem para o host que requisitou
▫ Servidor não pode enviar diretamente de volta usando
endereços MAC dos hosts
▫ Servidor DHCP envia unicast ao endereço IP conhecido
do DHCP relay, o qual envia aos endereços MAC locais
dos hosts
IP Router
LAN1
LAN2
DHCP
Relay
Requesting Host
DHCP
Server
Referências
• Tominaga, Akihiro; et al “Problems and
Solutions of DHCP”
• RFC 2131
• Computer Networking, 4 ed. James F. Kurose
Keith W. Ross
• Andrew S. Tanenbaum, Computer Networks
Download

DHCP