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).
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
Critério de atribuição de IP
•Atribuição manual
•Atribuição automática
•Atribuição dinâmica
Formato de mensagem DHCP
Tipo da Mensagem BootRequest
/BootReply
Opicionalmente usado pelos agentes DHCP
Formato de mensagem DHCP
ID da transação, um número gerado randomicamente escolhido pelo cliente,
usado pelo cliente e servidor para associar mensagens e respostas
entre um cliente e um servidor.
Total de segundos passados desde que
o cliente iniciou a requisição.
Endereço IP do cliente.
Formato de mensagem DHCP
Seu endereço
IP. Endereço IP do
próximo servidor usado no bootstrap;
retornado no DHCPOFFER, DHCPACK pelo
servidor.
Endereço IP do agente Relay, usado
no booting via um agente relay.
Formato de mensagem DHCP
Endereço do Hardware do
cliente.
Opcional host name do servidor.Nome do arquivo
de boot, nome ou null em
DHCPDISCOVER, nome do diretório.
Opcional host
name do servidor. Campo
opcional de parâmetros.
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 “OK ou No Way!”
(ACK/NAK)
Fluxo de mensagens inicial
Server A Client Server B
Cliente tenta descobrir disponíveis DHCP Servers
DHCPDISCOVE R
DHCPDISCOVE R
Servers responde com ofertas
DHCPOFFER DHCPOFFER
Cliente recolhe ofertas e decide qual aceitar
O cliente faz um requisição broadcasts um dos endereços ofertados.
DHCPREQUE ST
DHCPREQUES T
O servidor reconhece o uso do endereço IP pelo cliente.
DHCPACK
Configuração Completa
O cliente libera o uso do endereço IP
DHCPRELEA SE
Desligamento
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
Client unicasts request to continue using IP address
DHCPREQUE ST
Server acknowledges request and updates lease
DHCPACK
Client broadcasts request to continue using IP address
DHCPREQUE ST
DHCPREQUE ST
Server acknowledges request and updates lease
DHCPAC K
Configuration complete T1 elapses
T1 elapses
Client unicasts request to continue using IP address
DHCPREQUE
T2 elapses ST
Configuration complete
Estrutura de uma rede
Router
Internet
UDP Port 68
UDP Port 68
UDP Port 68
UDP Port 67
DHCP Clients
DHCP Relay
DHCP RELAY
Sub-rede 1
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
DHCP Relay Requesting Host
IP Router
LAN1255.255.255.255 LAN2
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
DHCP Relay Requesting Host
IP Router
LAN1 LAN2
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