sábado, 23 de fevereiro de 2013

Evolução dos protocolos Rarp e Bootp para DHCP!


Numa rede de Arquitetura TCP/IP, todo computador tem que possuir um endereço IP distinto. O DHCP - Dynamic Host Configuration Protocol - é o protocolo que provê um meio para alocar estes endereços dinamicamente.

Embora este artigo também apresente uma introdução ao protocolo DHCP, o que já foi feito aqui no tecnosolution através do artigo DHCP: Você sabe o que é? , aqui são apresentados alguns conceitos de forma mais aprofundada.
Introdução

Inicialmente, a necessidade de automatizar a requisição e distribuição do endereço IP deu-se em função da existência de estações sem disco (diskless). Esta demanda provocou o uso do protocolo de camada de enlace RARP.

Com o aumento do número de máquinas nas redes e também a crescente necessidade de maiores informações de configuração para comunicação em uma rede, o RARP mostrou-se ineficiente, o que levou a criação do protocolo BOOTP.

O advento da computação móvel trouxe uma grande limitação ao BOOTP. Foi criado, então, o DHCP, uma versão estendida do BOOTP, que permite a atribuição dinâmica de endereços IP.

O DHCP foi designado para resolver esse problema enquanto simplifica a administração da rede TCP/IP. DHCP vem do Inglês Dynamic Host Configuration Protocol que significa Protocolo de Configuração de Host Dinâmico.

O DHCP é especificado pela IETF - Internet Engineering Task Force por meio dos RFCs (Requests For Comments) 1533, 1534, 1541 e 1542.
O RARP

Para se entender claramente o funcionamento do DHCP, é necessário conhecer o funcionamento do BOOTP, que, por sua vez, exige conhecimento prévio em relação ao funcionamento e problemas do RARP (Reverse Address Resolution Protocol).

Para um sistema computacional enviar e receber datagramas é preciso que este possua um endereço de rede IP de 32 bits que o identifique. Em condições normais (uma estação completa), o endereço IP fica armazenado na memória da máquina, carregado após o boot. Quando a máquina não possui um disco para inicialização do sistema (estação diskless) para carregar o seu endereço IP, a imagem de memória daquela estação fica armazenada no servidor. Como é possível a máquina cliente obter o seu endereço IP para envio da imagem de memória pelo servidor?

Cada máquina com uma placa de rede possui uma identificação única e que praticamente não se repete. Esta identificação é uma seqüência de bits, gravado no chip da placa, que é utilizada como endereço físico na rede (MAC address). A estação diskless utiliza um protocolo que permite a obtenção do endereço IP fazendo uso do endereço físico da placa. Este protocolo é o RARP.

RARP é uma adaptação do protocolo ARP [RFC826] e apresenta o seguinte formato de mensagem:



A exemplo do ARP, a mensagem RARP trafega na rede encapsulada na porção de dados de um quadro. A identificação do quadro é feita com o preenchimento de valores diferentes no campo operação.

A comunicação RARP é feita a partir da difusão da solicitação de uma estação na rede local para aquisição de um endereço IP. A estação solicitante remete, na sua mensagem, o seu endereço MAC no campo target HA. Somente os servidores RARP irão processá-la.

Os servidores respondem às solicitações preenchendo o campo tipo de protocolo, mudando o campo operação de solicitação para resposta e enviando a mensagem diretamente a máquina solicitante. Ela recebe as respostas de todos os servidores RARP, mesmo tendo aceito a primeira. A partir deste momento a máquina só utilizará o RARP novamente se for feita uma reinicialização do sistema.

Com isso, ficam aparentes algumas desvantagens deste protocolo:
  • Como o RARP opera num nível mais baixo, ele utiliza um acesso direto ao hardware de rede, com isso torna-se muito complicado para um programador de aplicativos construir um servidor;
  • Ele subutiliza o quadro, pois poderia carregar mais informações úteis para a configuração do cliente sem "custo adicional";
  • Pelo fato do RARP utilizar um endereço de hardware para identificar o equipamento, ele não pode ser aplicado em redes que atribuem esses endereços dinamicamente.
O BOOTP

As deficiências encontradas no RARP foram solucionadas com a criação do BOOTP (BOOTstrap Protocol). Por utilizar o UDP para trafegar suas mensagens, ele pode ser usado por uma aplicação de forma mais simples que o RARP. Ele também é mais eficiente que este protocolo por embutir em sua mensagem outras informações importantes para a inicialização.

Diferente da comunicação RARP, a comunicação BOOTP se processa na camada de rede. A estação cliente lança a sua solicitação na rede utilizando um endereço IP de difusão. Os servidores BOOTP serão os únicos a reconhecer e responder também por difusão. Esta forma de resposta é utilizada pelo fato do cliente não possuir ainda, o seu endereço IP para confirmar o recebimento.

O BOOTP delega ao cliente toda a responsabilidade por uma comunicação segura pois, os protocolos utilizados são passíveis de corrupção ou perda de dados. O BOOTP solicita ao UDP - User Datagram Protocol - que faça um checksum e ainda especifica que solicitações e respostas tenham seu campo DONT FRAGMENT ativo para comportar clientes de memória pequena.

O BOOTP permite várias respostas e processa sempre a primeira. Caso haja perda de datagrama, utiliza-se uma técnica de TIMEOUT para retransmissão.
DHCP: A evolução

Criado para substituir o BOOTP na tarefa de automatizar o fornecimento de endereços IP em uma rede, o DHCP é um serviço que permite facilidades para redes que utilizam a computação móvel (wireless network, computadores portáteis) ou que possuem uma faixa de endereços IP limitada.

Dois fatores contribuíram para que esse novo protocolo de configuração fosse criado. O BOOTP resolveu parte do problema de subutilização do quadro quando do envio de um endereço IP. Com o DHCP, em uma única mensagem são enviadas para o equipamento todas as informações de inicialização necessárias. Outro fator importantíssimo e que pode ser considerado como o principal é a locação rápida e dinâmica de um endereço IP para um equipamento conectado à rede.

ATRIBUIÇÃO DE ENDEREÇO
O DHCP pode atribuir endereço para um equipamento de rede de três formas:
  • Configuração manual;
  • Configuração automática;
  • Configuração dinâmica.
Configuração Manual
Neste caso, é possível atrelar um endereço IP a uma determinada máquina na rede. Para isso, é necessária a associação de um endereço existente no banco do servidor DHCP ao endereço MAC do adaptador de rede da máquina. Configurado desta forma, o DHCP irá trabalhar de maneira semelhante ao BOOTP. Esse endereço "amarrado" ao equipamento não poderá ser utilizado por outro, a não ser que eles utilizem a mesma placa de rede.

Configuração Automática
Nesta forma, o servidor DHCP é configurado para atribuir um endereço IP a um equipamento por tempo indeterminado. Quando este conecta-se pela primeira vez na rede, lhe é atribuído um endereço permanente. A diferença existente entre esta e a primeira configuração é que nesta não é necessária uma especificação do equipamento que utilizará determinado endereço. Ele é atribuído de forma automática.

Configuração Dinâmica
Neste tipo de configuração, é que reside a característica principal do DHCP, que o diferencia do BOOTP. Desta forma o endereço IP é locado temporariamente a um equipamento e periodicamente, é necessária a atualização dessa locação. Com essa configuração, é possível ser utilizado por diferentes equipamentos, em momentos diferentes, o mesmo endereço IP. Basta, para isso, que o primeiro a locar o endereço, deixe de utilizá-lo. Quando o outro equipamento solicitar ao servidor DHCP um endereço IP poderá ser fornecido ao mesmo o endereço deixado pelo primeiro.

O SERVIDOR DHCP
O servidor DHCP deve ser configurado pelo administrador da rede para disponibilizar aos seus clientes, endereços IP em uma das três formas de fornecimento descritas acima. Para tanto, ele alimenta um banco com os endereços da sua sub-rede que serão fornecidos de forma automática. É importante deixar claro que, em uma rede, o administrador deverá deixar fixo em algumas máquinas os seus endereços IP.

Nas configurações, será estabelecido o prazo de locação de um endereço. Esse prazo pode variar de horas a dias ou simplesmente ser ilimitado. Essa decisão irá depender da rede em que o DHCP está servindo e das necessidades de um determinado equipamento.

O CLIENTE DHCP
Um cliente DHCP é um equipamento que está configurado para solicitar a um servidor DHCP um endereço IP.
Como já foi dito anteriormente, alguns equipamentos na rede devem possuir endereços IP fixos, já configurados na própria máquina, em função dos serviços que eles disponibilizam na rede. Essas máquinas não são consideradas como clientes DHCP.

Um cliente DHCP pode passar por seis estados de aquisição:
  • INICIALIZA
  • SELECIONA
  • SOLICITA
  • LIMITE
  • RENOVA
  • VINCULA NOVAMENTE
O que define em que estado se encontra o cliente é a mensagem que ele envia para um dos servidores DHCP da sua rede.

Inicializa
Quando um cliente inicializa pela primeira vez, ele difunde uma mensagem para todos os servidores DHCP da rede local a fim de adquirir as configurações de inicialização na rede. Para tanto ele manda uma mensagem DHCPDISCOVER.
DHCPDISCOVER é enviado em um datagrama UDP da mesma forma que no BOOTP. Após o envio dessa mensagem, o cliente passa para o estado SELECIONA.

Seleciona
Neste estado, o cliente permanece aguardando a resposta dos servidores DHCP que receberam o DHCPDISCOVER. Aqueles servidores que estiverem configurados para responder, enviam ao cliente uma mensagem DHCPOFFER. Nesta mensagem, estão embutidas as informações necessárias para a configuração do cliente juntamente com um endereço IP que o servidor lhe oferece como empréstimo. Após o recebimento de todas as mensagens enviadas pelos servidores, o cliente irá optar por uma e entrará em negociação de locação com o servidor ofertante. Para iniciar a negociação, o cliente envia a mensagem DHCPREQUEST. Neste momento, ele entra no estadoSOLICITA.

Solicita
Aqui, o cliente aguarda uma resposta de confirmação do servidor DHCP que ele entrou em negociação. Essa confirmação é remetida através da mensagem DHCPACK. Com o recebimento da confirmação, o cliente passa a ter um endereço IP e utiliza-o, bem como todas as outras informações de configuração que foram enviadas pelo servidor e entra no estado LIMITE.

Limite
Este é o estado em que permanece o cliente durante a utilização do endereço IP até que atinja o período de renovação ou ele decida não mais utilizar o endereço locado. Para este último caso, onde o cliente não espera o término do prazo da locação, ele envia uma mensagem DHCPRELEASE para o servidor, a fim de provocar a liberação do endereço IP locado. Desta forma, o cliente não mais poderá enviar datagramas IP utilizando-se do endereço que possuía e passa para o estado INICIALIZA.

Renova
Ao receber um DHCPACK, o cliente adquire a informação do período de locação do endereço. De posse dessa informação, ele inicializa três temporizadores. Eles são utilizados para controlar os períodos de renovação, revinculação e do fim da locação. O servidor pode especificar o valor de cada temporizador. Não havendo essa especificação o cliente utiliza os valores padrões, que são de 50%, 85% e 100%, respectivamente.

Quando o temporizador ultrapassa o valor da renovação, o cliente tentará renovar a locação. Para isso, ele faz uso novamente do DHCREQUEST ao servidor. Assim, ele passa para o estado RENOVA e aguarda a resposta. Na mensagem, segue embutido o endereço IP atual do cliente e uma solicitação de extensão da locação do mesmo. O servidor poderá responder autorizando a renovação da locação que necessariamente não possuirá o período anteriormente destinado, ou poderá responder de forma negativa. No primeiro caso, o servidor envia um DHCPACK ao cliente. O recebimento dessa mensagem faz com que o cliente retorne ao estado limite. No segundo caso, o servidor envia um DHCPNACK, que faz com que o cliente interrompa o uso do endereço IP e passe para o estadoINICIALIZA.

Vincula Novamente
Ao entrar no estado RENOVA, um cliente fica aguardando a resposta do servidor. Caso essa resposta não chegue (é possível que o servidor tenha sido desligado, ou tenha sido desconectado da rede), o cliente permanece nesse estado e comunicando-se normalmente até que seja ultrapassado o limite do segundo temporizador. Nesse ponto, o cliente passa do estado RENOVA para o estado VINCULA NOVAMENTE. A partir daí, o cliente pressupõe que o servidor que lhe locou o endereço IP não estará mais disponível e tenta obter a renovação com qualquer outro servidor DHCP da sua rede local através da difusão de DHCPREQUEST. Caso receba umDHCPACK de algum servidor habilitado para tal, o cliente retornará para o estado LIMITE. Em recebendo um DHCPNACK, ele passará para o estado INICIALIZA.

No caso do cliente não receber qualquer resposta, ele permanecerá utilizando o endereço IP inicialmente locado até que seja atingido o valor limite do terceiro temporizador, o que fará com que ele passe para o estado INICIALIZA.

FORMATO DA MENSAGEM DHCP
O servidor DHCP poderá responder tanto às solicitações BOOTP, quanto DHCP, pois ambas possuem o mesmo formato.

A figura a seguir mostra o formato da mensagem DHCP.

OP
HTYPE
HLEN
HOPS
ID DE TRANSAÇÕES
SEGUNDOS
FLAGS
ENDEREÇO IP DO CLIENTE
SEU ENDEREÇO IP
ENDEREÇO IP DO SERVIDOR
ENDEREÇO IP DO ROTEADOR
ENDEREÇO DE HARDWARE DO CLIENTE (16 OCTETOS)
NOME DO HOST DO SERVIDOR (64 OCTETOS)
NOME DO ARQUIVO DE PARTIDA (128 OCTETOS)
OPÇÕES (VARIÁVEL)

Os campos da mensagem DHCP:

CAMPO
INFORMAÇÕES
OP
Numa mensagem DHCP, uma solicitação e uma resposta possuem os mesmos campos. O que as diferenciam é o conteúdo deste campo. A informação um indica uma solicitação, a informação dois indica uma resposta
HTYPE
Informa o padrão de rede utilizado pelo adaptador de rede
HLEN
Informa o tamanho do endereço MAC do adaptador de rede
HOPS
Quantidade de roteadores pelos quais a mensagem deverá passar
ID DE TRANSAÇÕES
Número de identificação da mensagem
SEGUNDOS
Quantidade de tempo em segundos desde que o cliente fez a inicialização
FLAGS
Utilizado para "setar" opções especiais de resposta às solicitações
ENDEREÇO IP DO CLIENTE
Em uma solicitação o cliente informa o seu endereço IP (possível quando o cliente conhece o seu endereço)
SEU ENDEREÇO IP
Utilizado pelo servidor para enviar informação do endereço IP disponível para o cliente que solicitou.
ENDEREÇO IP DO SERVIDOR
Preenchido pelo cliente quando ele quer obter uma informação de um servidor específico.
ENDEREÇO IP DO ROTEADOR
Preenchido pelo servidor para informar ao cliente o endereço IP do roteador da rede local
END. DE HARDWARE DO CLIENTE
Informação do endereço MAC do cliente
NOME DO HOST DO SERVIDOR
Quando esses campos não são utilizados para enviar as informações pertinentes a cada um (nome do servidor e informação do sistema operacional que será inicializado no cliente) o DHCP utiliza-o remetendo informações adicionais transformando-os em campo de OPÇÕES, otimizando assim a utilização da mensagem.
NOME DO ARQUIVO DE PARTIDA
Nome do arquivo que contém a imagem de memória da(s) estação (ões) correspondente(s)
OPÇÕES
Esse campo é utilizado para informar que tipo de resposta ou solicitação DHCP (DHCPDISCOVER, DHCPOFFER etc.) está sendo enviada para o cliente ou para o servidor.
Usando o DHCP

Um servidor DHCP faz com que o endereçamento a máquinas seja um processo mais dinâmico do que estático. Normalmente, um novo usuário da rede solicita ao gerenciador um endereço IP válido. O gerenciador executa uma entrada nas tabelas HOSTS ou no banco de dados DNS. Esse usuário pode precisar desse endereço apenas esporadicamente ou até temporariamente. Contudo, enquanto o endereço é atribuído a uma máquina, ninguém mais pode usá-lo.
Outro problema surge quando os usuários se tornam móveis e levam suas máquinas com eles. Se alguém move o seu computador pessoal de uma rede do prédio para outra, o endereço antigo poderá não funcionar na nova rede local. Solicitar ao gerenciador de rede local um endereço para usar apenas temporariamente não faz sentido.

Com o DHCP, os endereços IPs são atribuídos automaticamente conforme a necessidade e depois liberados quando não são mais necessários. O processo é bem simples. Um servidor DHCP possui um grupo de endereços válidos que pode atribuir aos clientes. Quando o sistema de um cliente inicia, ele envia uma mensagem na rede solicitando um endereço.

Cada servidor DHCP (podem existir vários) responde com um endereço IP e informações de configuração. O cliente recolhe as ofertas e seleciona um endereço válido, enviando de volta a confirmação para o servidor. Todos os servidores DHCP recebem a confirmação do cliente. O servidor DHCP cujo endereço foi selecionado pelo cliente, envia de volta uma mensagem de reconhecimento, enquanto os demais servidores DHCP cancelam as ofertas anteriores de seus grupos. Após o recebimento da mensagem de reconhecimento do servidor DHCP, o cliente pode participar da rede TCP/IP.

O servidor DHCP, essencialmente, reserva o endereço para o cliente. Esta pode ter um tempo determinado de modo que as reservas sem uso sejam retornadas de forma automática ao grupo de endereços. Se a reserva expirar, mas a máquina ainda estiver usando o endereço, o servidor DHCP poderá renová-la, a fim de que o cliente possa continuar com o mesmo endereço.
Conclusão
O DHCP - Dynamic Host Configuration Protocol - é um padrão industrial aberto que é projetado para reduzir a complexidade da administração da rede TCP/IP. Ele especifica métodos para configuração simplificada e dinâmica dos computadores, reduzindo, dessa forma, a carga de adicioná-los, movê-los e/ou removê-los destas redes.
Conhecendo-se os recursos DHCP, pode-se utilizá-lo como um aliado na administração de uma rede.
Referências bibliográficas
Douglas E. Comer - Interligação em Redes com TCP/IP vol. 1 - Princípios, protocolos e arquitetura - tradução ARX Publicações, 3a. ed. Ed. Campus - 1995
Microsoft Windows NT Server resource Kit: for Windows NT Server version
4.0/Microsoft Corporation: tradução Altair Dias Caldas. São Paulo: Makron Books, 1997

Leia Mais >>

domingo, 17 de fevereiro de 2013

Curiosidade – Você conhece Xenix, o Unix da Microsoft ?


O Xenix foi uma versão específica do Sistema Operacional Unix que a Microsoft pretendia usar em microcomputadores.  A Microsoft comprou uma licença para utilizar o Unix da AT&T no final de 1979, e em agosto de 1980 anunciou que ele seria disponível para o mercado de microcomputadores de 16-bit, visando ser o seu sistema operacional principal já na versão 1.0.



No início a Microsoft não foi capaz de licenciar o próprio nome "UNIX",  pois a mesma licenciou somente o código fonte, já que na época não era tão relevante o licenciamento do nome. Então a Microsoft deu a ele um nome original chamando o de Xenix.


Com relação a vendas, a Microsoft não vendia o Xenix diretamente ao usuário final, ela licenciava o Xenix e suas integrações com o MS-DOS em formatos OEM's assim como a Intel, Panasonic e outras que também utilizavam o mesmo método na época.


Quando a Microsoft fez um acordo com a IBM para desenvolver o Sistema OS/2, ela perdeu todo seu interesse em promover o Xenix, pois outros caminhos já estavam sendo estratégicamente traçados(Projeto do Windows 2.0). E em 1987 a Microsoft vendeu sua licença do Xenix para a Santa Cruz Operation (SCO) que  adquiriu os direitos exclusivos do Sistema Operacional Xenix e começou a distribuí-lo com o nome de SCO Xenix. Com esse acordo a Microsoft tornou-se proprietária de 25% da SCO.


No mesmo ano a SCO adaptou o Xenix para os processadores Intel 386, já na casa dos 32-bits. O Xenix em sua nova versão 2.3.1 introduziu o suporte a controladores SCSI e protocolos TCP/IP.

Mesmo após ter vendido a licença de seu Unix para a SCO, a Microsoft ainda continuou a usar o Xenix internamente,  pois estava desenvolvendo o seu mais novo produto, um  software para edição de textos com o simples nome: 

Microsoft Word for Unix.


Tentando avançar na década seguinte com uma força mais agressiva e melhorias de seu sistema operacional, a SCO em meados de 1989 ramificou o Xenix em SCO UNIX e sua última versão foi a 2.3.4.

Um fato ocorrido e muito curioso de toda essa história, que de acordo com o Setor de Projetos e Implementação de Sistemas Operacionais da Universidade de Berkeleyberço do BSD UNIX, curiosamente foi dito uma frase marcante: "O Xenix era provavelmente a versão mais difundida do Sistema Operacional UNIX, de acordo com a quantidade de máquinas em que ele funcionava".

Leia Mais >>

Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online

Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online
Cidade: Paracatu/MG - Gênero: Popular

Chuck Norris Aprova Tecnosolution!


NOTÍCIAS TI

Ajude a divulgar nosso blog!


Total de visualizações de página

Usuários Online

Usuários online

  ©TECNOSOLUTION - Todos os direitos reservados.

Template by Dicas Blogger | Topo