Você está na página 1de 9

APNDICE

9
9 Introduo ao DHCP
9.1 Motivao
Para que uma mquina possa participar de uma rede TCP/IP, necessrio que seu software TCP/IP esteja corretamente configurado. Configurar o software TCP/IP (a rede) em uma mquina significa basicamente1 definir endereo IP da mquina, mscara de rede e endereos IP do roteador default e do servidor de nomes a serem utilizados. Imagine uma rede TCP/IP com cinco mquinas clientes e um servidor. Seria fcil para Joo, o administrador dessa rede, configurar manualmente o software TCP/IP em cada uma das suas seis mquinas. Agora imagine que essa rede est crescendo rapidamente, e passou a conter 50 mquinas. Cada vez que uma nova mquina inserida na rede, Joo chamado, pois s ele tem o controle de quais endereos IPs j foram atribudos. Joo precisa ser cauteloso para evitar duplicao de endereos IPs. Suponha agora que a rede da qual estamos falando tenha 200 mquinas clientes e meia dzia de servidores. Dois outros profissionais foram contratados para ajudar Joo. Os trs tm autoridade para configurar o software TCP/IP das mquinas. Para que no haja IPs duplicados na rede, eles precisam manter as informaes sobre a atribuio de IPs atualizada. Mas agora existem 3 pessoas modificando essas informaes. Manter a configurao manual do software TCP/IP em redes grandes algo impraticvel: requer muito tempo dos administradores, alm de ser uma prtica bastante vulnervel a erros. Para complicar ainda mais a situao, o presidente da empresa est incentivando os funcionrios a levarem um notebook pessoal para o trabalho. Assim, eles podem continuar em casa o que estavam fazendo na empresa. Joo vai precisar gastar
Esta a configurao bsica. Mas configuraes adicionais podem ser feitas, como, por exemplo, informar o nome de domnio da mquina e quem o servidor WINS.
1

In tr oduo ao DHCP

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

103

Melhores Prticas para Gerncia de Redes de Computadores

um endereo IP para cada notebook? E o que pode ser ainda pior: quando o usurio do notebook for para uma outra sub-rede2, Joo ou outro membro da equipe ter de ser chamado para reconfigurar o software TCP/IP do notebook. A soluo para todos os problemas de Joo e de sua equipe simplesmente passar a utilizar o servio DHCP. O DHCP Dynamic Host Configuration Protocol um protocolo de comunicao que permite que administradores de rede gerenciem de forma central e automtica a atribuio das configuraes do software TCP/IP das mquinas de uma rede. O servio DHCP permite que os administradores supervisionem a distribuio dos endereos IP de um ponto central (a partir do servidor DHCP), e quando as mquinas forem levadas para outro local, sero passadas as configuraes adequadas.

9.2 Viso geral do DHCP


O servio DHCP apresenta, como a maioria dos servios das redes TCP/IP, uma arquitetura cliente/servidor. Nessa arquitetura, as mquinas que precisam ser configuradas so chamadas de clientes DHCP e as mquinas que oferecem as configuraes so chamadas de servidores DHCP. Para que uma mquina tenha suas configuraes de rede obtidas dinamicamente, basta que ela seja definida como um cliente DHCP. O servio DHCP est associado porta UDP 67 do lado servidor e UDP 68 do lado cliente. Suponha que um novo cliente DHCP ser inserido na rede. Quando a mquina ligada, ela envia para todas as outras mquinas da mesma rede fsica onde ela est a seguinte pergunta: Meu endereo MAC M, eu preciso me comunicar na rede, quem poder informar minhas configuraes?. Quando o servidor DHCP ouve essa pergunta ele responde: Que tal o endereo IP X?. Ento o cliente diz: Acho que esse endereo est legal! E quais so minhas outras configuraes?. Finalmente o servidor responde: Diante disso, seu endereo IP ser X, seu roteador default ser R, sua mscara de rede ser Z e o servidor de nomes que lhe serve N. Eu lhe concedo essas configuraes por T dias. Esse foi apenas um exemplo superficial e personificado de como se d a negociao entre o servidor e o cliente DHCP. A conversa entre eles pode tomar rumos diferentes do apresentado. O servidor DHCP pode, por exemplo, no responder ao cliente por no possuir mais endereos disponveis. Ou, devido a um erro de configurao3, o servidor pode oferecer ao cliente um endereo que j existe na rede. Alguns clientes, ao receber um endereo do servidor, fazem uma verificao e percebem quando o servidor lhes passou um IP duplicado, negando o endereo oferecido. Na seo a seguir veremos mais detalhes de como funciona o protocolo DHCP.

2 3

Em outra sub-rede as configuraes de rede so outras. Algum configurou manualmente uma mquina com um endereo IP que estava no conjunto de endereos a serem oferecidos pelo servidor.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

Introduo ao DHCP

104

DHCP e BOOTP
O DHCP uma extenso de um protocolo mais antigo, chamado BOOTP (Bootstrap Protocol). O BOOTP, assim como o DHCP, capaz de configurar todo o software TCP/IP de um cliente quando iniciado. A equipe de gerncia da rede precisa configurar o protocolo BOOTP informando associaes pr-fixadas de endereos fsicos com endereos lgicos (IP, por exemplo). Cada vez que uma nova mquina participar da rede, os administradores precisam acrescentar o endereo fsico dessa mquina e seu respectivo IP na configurao do BOOTP. Com o crescimento e maior dinamismo das redes, o BOOTP passou a no ser escalvel e apropriado como mecanismo de configurao dinmica da rede em mquinas clientes. O DHCP, como extenso do BOOTP, capaz de oferecer todas as funcionalidades do BOOTP e outras novas. Com o DHCP, novas mquinas podem entrar na rede sem que os administradores tenham de modificar quaisquer configuraes. O DHCP herdou do BOOTP a mesma porta de transporte (UDP 67 para servidores e 68 para clientes) e o mesmo formato de mensagens.

9.3 Como o DHCP funciona?


O DHCP usa o conceito de aluguel. O endereo IP oferecido a um cliente vlido durante um certo perodo de tempo. Chamamos esse perodo de tempo de concesso. O tempo de concesso um valor configurado por ns, administradores do servio DHCP. Geralmente, usamos tempos de configurao maiores (de dezenas de meses, por exemplo) quando a quantidade de endereos IP sempre maior que a quantidade de mquinas ativas na rede e as mquinas no so mveis. Em casos onde mquinas entram e saem da rede com freqncia, costumamos escolher um tempo de concesso menor, de algumas unidades de horas. No exemplo da seo anterior o tempo de concesso era T dias. Alm do tempo de concesso, configuramos tambm no servidor as faixas de endereos que ele poder oferecer aos clientes DHCP e a mscara de rede. Joo, por exemplo, poderia configurar o seu servidor para oferecer aos clientes a faixa de endereos que vai de 192.168.1.1 a 192.168.1.200 e a mscara de rede 255.255.255.0. As configuraes de rede adicionais tambm so inseridas pelo administrador: roteador default e servidores de nomes, por exemplo. A Figura A9-1, baseada em [DHCP-CISCO], mostra, ainda de forma simplificada, como o servio DHCP funciona. Quando um cliente ligado/reiniciado, ele envia um quadro de difuso contendo uma mensagem DHCPDISCOVER. Se ele j foi servido por um servidor DHCP, pode ter armazenado localmente o ltimo endereo IP recebido e o tempo de concesso. Nesse caso, ele pode sugerir na mensagem DHCPDISCOVER o mesmo endereo IP que lhe fora concedido outrora. Com isso, quando o nmero de endere-

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

105

Melhores Prticas para Gerncia de Redes de Computadores

os suficiente, possvel que clientes DHCP possam permanecer com o mesmo endereo IP durante muito tempo. Se o servidor estiver no mesmo domnio de difuso que o cliente, ele imediatamente responder com uma mensagem DHCPOFFER.4 possvel que existam vrios servidores e que todos respondam ao cliente. Na mensagem DHCPOFFER, o servidor oferece um endereo IP disponvel. O cliente responde ao servidor com uma mensagem DHCPREQUEST. Com essa mensagem, o cliente solicita formalmente o endereo anteriormente oferecido pelo servidor. Se o cliente receber mensagens DHCPOFFER de mais de um servidor, ele ter de selecionar o servidor que utilizar. Em geral, o cliente escolhe quem primeiro lhe responde.

FIGURA A9-1:

Diagrama de uma sesso DHCP tpica.

Na mensagem DHCPREQUEST, o cliente informa explicitamente o endereo IP prestes a lhe ser concedido. Quando o servidor selecionado recebe a mensagem DHCPREQUEST, ele responde com uma mensagem DHCPACK ou uma mensagem DHCPNAK. No primeiro caso, o servidor est confirmando que conceder ao cliente o endereo IP em questo e informa ainda todas as outras configuraes de rede associadas ao escopo5 em questo. O servidor retornar uma mensagem DHCPNAK quando no for capaz de atender requisio do cliente. Por exemplo, o endereo de rede em questo foi concedido a outro cliente. Nesse caso, o cliente reinicia o processo. Os clientes DHCP disponveis nos sistemas operacionais mais novos checam o endereo recebido para assegurar que no um IP j atribudo a outra mquina. Se o
4

Se o servidor estiver em outro domnio de difuso ser necessria a utilizao de um agente de repasse DHCP veja Seo 9.6. 5 Veja Seo 9.5.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

Introduo ao DHCP

106

cliente detectar que o endereo IP em questo j est configurado em outra mquina, ele envia para o servidor uma mensagem DHCPDECLINE e reinicia o processo. Antes de ser desligado, o cliente DHCP envia para o servidor uma mensagem DHCPRELEASE para liberar seu endereo IP. Mas o que acontece quando o tempo de concesso (T) expira? Em condies normais, esse tempo no chega a expirar. Sempre que se passa a metade do tempo de concesso, o cliente DHCP fala com o servidor para renovar seu aluguel. No tempo T/2 o cliente envia diretamente para o servidor uma mensagem DHCPREQUEST com o seu endereo IP. O servidor ento responde ao cliente com uma mensagem DHCPACK que contm um novo tempo de concesso. Dessa forma, o cliente readquire o direito de continuar utilizando o endereo IP que lhe foi passado por mais tempo. Caso o cliente no consiga falar com o servidor em T/2, ele tentar novamente renovar seu aluguel mais tarde. Veja mais detalhes em [RFC2131, COMER].

9.4 Mensagens DHCP


As mensagens DHCP tm um formato prprio, com campos bem conhecidos. A Figura A9-2 apresenta o formato de uma mensagem DHCP. Entre parnteses indicamos o tamanho (em bytes) de cada campo. Na RFC 2131 [RFC2131], onde o protocolo DHCP definido, voc encontrar o significado de cada um de seus campos. Trataremos aqui apenas de alguns campos, que sero mencionados em sees futuras ou que consideramos mais interessantes.
op (1) Htype (1) xid(4) secs (2) ciaddr (4) yiaddr (4) siaddr (4) giaddr (4) chaddr (16) sname (64) file (128) options (varivel)
FIGURA A9-2:

hlen (1)

hops (1)

flags (2)

Formato das mensagens DHCP.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

107

Melhores Prticas para Gerncia de Redes de Computadores

Quando um cliente DHCP j recebeu um determinado endereo IP do servidor, esse endereo fica armazenado em uma cache, mesmo depois de ter sido liberado pelo cliente. Dessa forma, quando o cliente novamente participar da rede, solicita ao servidor o mesmo endereo anteriormente concedido a ele. Quando o cliente DHCP lembra-se de seu endereo anteriormente concedido6, ele preenche o campo ciaddr com esse endereo. O servidor DHCP informa o endereo IP oferecido ao cliente atravs do campo yiaddr. Quando uma mensagem DHCP recebida para retransmisso por um agente de repasse, o campo giaddr alterado. O agente de repasse preenche esse campo com seu endereo IP. Caso a mensagem seja repassada diretamente do cliente para o servidor, o campo giaddr tem valor zero. Atravs do campo opes, o servidor comunica ao cliente as informaes necessrias para que ele participe da rede. Em geral, cada opo define uma informao. Por exemplo, a opo subnet mask indica a mscara de rede que o cliente deve usar. Na Figura A9-3 encontra-se uma mensagem DHCPACK capturada com o Sniffer Pro v3.5 da Network Associates. Nessa figura, destacamos o endereo IP que o servidor envia para o cliente e algumas opes de configurao.

FIGURA A9-3:

Mensagem DHCPACK capturada com Sniffer da network Associates.

Isto pode ser aps ter liberado sua concesso, como falamos anteriormente, ou ao tentar renov-la.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

Introduo ao DHCP

108

9.5 Escopos DHCP


O servio DHCP, assim como outros servios da rede, depende do envio de quadros de difuso. Ento voc poderia se perguntar: deve existir um servidor DHCP para cada sub-rede? A resposta : no, graas possibilidade de usar um agente de repasse DHCP (ou agente de repasse BOOTP, como chamado na especificao do protocolo [RFC2131]). Mas para que um servidor DHCP possa servir a vrias sub-redes distintas necessrio que ele esteja devidamente configurado para tal. Apenas na prxima seo veremos como agentes de repasse funcionam em conjunto com vrios escopos de forma que seja possvel existir apenas um servidor DHCP oferecendo configuraes TCP/IP para clientes em diferentes sub-redes. Mquinas em sub-redes diferentes devem ter prefixos de rede diferentes. Veja a rede apresentada na Figura A9-4. A mquina dm1 deve ter prefixo de rede 192.168.1.0 e mscara de rede 255.255.255.0, enquanto a mquina df1 deve ter prefixo 192.168.2.0 e mscara 255.255.255.0. Para o servidor DHCP dessa figura, devemos configurar no mnimo dois escopos: um para as mquinas da sub-rede do Departamento de Marketing e outro para as mquinas do Departamento de Finanas.

FIGURA A9-4:

Um nico servidor DHCP para vrias sub-redes.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA

109

Melhores Prticas para Gerncia de Redes de Computadores

Um escopo DHCP uma coleo de informaes de configurao TCP/IP que definem os parmetros que sero usados para configurar todos os clientes DHCP de uma determinada sub-rede. Deve existir no servidor um escopo definido para cada sub-rede onde existem clientes DHCP deste servidor. Os escopos definem as seguintes informaes:
n

Faixa de endereos IP a serem atribudos aos clientes. Geralmente, definimos o primeiro e o ltimo endereo desta faixa. Alm disso, possvel excluir desta faixa alguns endereos que j esto reservados para mquinas com IP fixo (servidores e roteadores, por exemplo). Esses endereos excludos, apesar de fazerem parte da faixa de endereos IP configurada, no so oferecidos a clientes DHCP; Mscara de rede. Esta mscara ser passada aos clientes e serve para permitir a identificao da rede lgica qual os endereos IP da faixa de endereos pertencem; Tempo de concesso. o perodo de tempo durante o qual um endereo cedido para um cliente DHCP; Outras opes de configurao tais como endereo do roteador default e dos servidores de nomes dos clientes DHCP do escopo.

9.6 O agente de repasse


Um agente de repasse DHCP um hospedeiro ou roteador que repassa mensagens DHCP de clientes para servidores DHCP. muito simples configurar um agente de repasse. S preciso saber o(s) endereo(s) IP(s) do(s) servidor(es) DHCP para o qual as mensagens dos clientes DHCP sero repassadas. Quando um agente de repasse recebe uma mensagem DHCPDISCOVER, ele a retransmite para os servidores DHCP que conhece. Antes de repassar a mensagem, ele coloca seu endereo no campo giaddr da mensagem. Quando o servidor DHCP recebe a mensagem, ele verifica o campo giaddr. Quando esse campo zero, o servidor DHCP sabe que a mquina que enviou o DHCPDISCOVER est na mesma rede local que ele. Ento ele envia o DHCPOFFER para o endereo de difuso, uma vez que a mquina no possui ainda endereo IP configurado. Caso o campo giaddr no seja zero, o servidor DHCP envia o DHCPOFFER para o endereo definido nesse campo, que o endereo do agente de repasse. Considerando a Figura A9-4, vejamos a seguir como o agente de repasse DHCP funciona: 1. O cliente df1 envia uma mensagem DHCPDISCOVER para todas as mquinas da sub-rede do Departamento de Finanas. Essa mensagem destina-se porta UDP 67 das mquinas da sub-rede; 2. O agente de repasse, assim como as demais mquinas da rede, recebe essa mensagem. No entanto, apenas o agente de repasse processar a mensagem.

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 2 PROVA

Introduo ao DHCP

110

Ele a examinar, preencher o campo giaddr com o endereo da interface na qual recebeu a solicitao DHCP e a repassar para os servidores DHCP que conhece; 3. Quando o servidor DHCP recebe uma mensagem DHCPDISCOVER, ele observa o valor do campo giaddr. Quando esse campo tem valor diferente de zero, o servidor sabe que a mensagem lhe foi repassada por um agente de repasse; 4. Caso o servidor DHCP tenha muitos escopos configurados, o prprio endereo do campo giaddr guiar o servidor para que ele escolha o escopo correto. Por exemplo, se o endereo do agente de repasse da Figura A9-4 for 192.168.2.222, o campo giaddr da mensagem recebida pelo servidor ser 192.168.2.222. O servidor DHCP procurar por um escopo que contenha o endereo do agente de repasse; 5. Uma vez encontrado o escopo adequado, o servidor envia uma mensagem DHCPOFFER diretamente para o agente de repasse, que a repassa para o cliente DHCP. O endereo desse cliente ainda no foi definido, ento essa resposta repassada para o cliente atravs de um quadro de difuso; 6. De forma semelhante, mensagens DHCPREQUEST so repassadas de clientes para servidores e DHCPACK e DHCPNAK de servidores para clientes. Lembre-se de que, para que tudo isto funcione, importante que o endereo das interfaces do agente de repasse a partir das quais requisies DHCP podem ser recebidas e as respectivas mscaras de rede estejam na faixa de endereos configurada no escopo DHCP do servidor.

9.7 Referncias
[COMER]

Comer, Douglas. Internetworking with TCP/IP: Principles, Protocols, and Architectures. Prentice Hall, 4a edio. Knowledge: Understanding DHCP. Em
http://www.cisco.com/warp/public/779/smbiz/service/knowledge/t cpip/dhcp.htm

[DHCP-CISCO]

[RFC2131]

Droms, R. Dynamic Host Configuration Protocol. Maro, 1997. Em


http://www.ietf.org/rfc/rfc2131.txt?number=2131

ED. CAMPUS MELHORES PRTICAS PARA GERNCIA DE REDES DE COMPUTADORES 0700 CAPTULO 22 3 PROVA