dhcp (dynamic host configuration protocol) gerencia de redes redes de computadores ii *baseado no...
TRANSCRIPT
DHCP(Dynamic Host Configuration Protocol)
Gerencia de RedesRedes 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
• 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
Motivação
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).
RARP
EndereçoEthernet MAC
(48 bit)
ARPEndereço IP(32 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
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
OpCode Hardware Type
Your IP address
Gateway IP address
Client IP address
Server IP address
Hardware Address Length
Hop Count
Server host name (64 bytes)
Client hardware address (16 bytes)
Boot file name (128 bytes)
Transaction ID
Options
Number of Seconds Unused (in BOOTP)
Flags (in DHCP)
Formato de mensagem DHCPTipo da MensagemBootRequest /BootReply
Opicionalmente usado pelos agentes DHCP
OpCode Hardware Type
Your IP address
Gateway IP address
Client IP address
Server IP address
Hardware Address Length
Hop Count
Server host name (64 bytes)
Client hardware address (16 bytes)
Boot file name (128 bytes)
Transaction ID
Options
Number of Seconds Unused (in BOOTP)
Flags (in 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
OpCode Hardware Type
Your IP address
Gateway IP address
Client IP address
Server IP address
Hardware Address Length
Hop Count
Server host name (64 bytes)
Client hardware address (16 bytes)
Boot file name (128 bytes)
Transaction ID
Options
Number of Seconds Unused (in BOOTP)
Flags (in 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
OpCode Hardware Type
Your IP address
Gateway IP address
Client IP address
Server IP address
Hardware Address Length
Hop Count
Server host name (64 bytes)
Client hardware address (16 bytes)
Boot file name (128 bytes)
Transaction ID
Options
Number of Seconds Unused (in BOOTP)
Flags (in 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.Campo opcional de parâmetros.
Formato de mensagem DHCP
Encapsulamento das mensagens
Cabeçalho DHCP
Cabeçalho UDP
Cabeçalho IP
Ethernet
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 inicialServer A Client Server B
Cliente tenta descobrir disponíveis DHCP ServersDHCPDISCOVE
RDHCPDISCOVE
R
Servers responde com ofertasDHCPOFFER DHCPOFFER
Cliente recolhe ofertas e decide qual aceitar
O cliente faz um requisição broadcasts um dos endereços ofertados.
DHCPREQUEST
DHCPREQUEST
O servidor reconhece o uso do endereço IP pelo cliente.DHCPACKConfiguração Completa
O cliente libera o uso do endereço IPDHCPRELEA
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
• 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)
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çãoServer A Client Server B
Client unicasts request to continue using IP addressDHCPREQUE
STServer acknowledges request and updates leaseDHCPACK
Client broadcasts request to continue using IP addressDHCPREQUE
STDHCPREQUE
STServer acknowledges request and updates leaseDHCPAC
K
Configuration complete
T1 elapses
T1 elapses
Client unicasts request to continue using IP addressDHCPREQUE
STT2 elapses
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 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
DHCPRelay
Requesting Host
IP Router
LAN1 LAN2255.255.255.255
DHCPServer
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
DHCPRelay
Requesting Host
IP Router
LAN1 LAN2
DHCPServer
DHCP Relay
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