Arquitetura TCP/IP - INF

Propaganda
Arquitetura TCP/IP
Parte V – Inicialização e auto-configuração (RARP,
BOOTP e DHCP)
Fabrízzio Alphonsus A. M. N. Soares
Tópicos
●
Atribuição de endereço IP
●
RARP (Reverse ARP)
●
BOOTP (BOOTstrap Protocol)
●
DHCP (Dynamic Host Configuration
Protocol)
Tópicos
●
Atribuição de endereço IP
●
RARP (Reverse ARP)
●
BOOTP (BOOTstrap Protocol)
●
DHCP (Dynamic Host Configuration
Protocol)
Atribuição de endereço IP
●
●
Estática
–
Endereço IP é armazenado em algum dispositivo
de armazenamento persistente (ex.: disco)
–
Em geral, é exigido para alguns equipamentos
(ex.: servidores, roteadores)
Dinâmica
–
Endereço IP é obtido de um servidor
–
Útil para equipamentos simples (ex.: estações
sem disco) ou o que permanecem ligados
intermitentemente
Reverse Address Resolution
Protocol (RARP)
●
Protocolo antigo
–
●
●
Exceto em uns poucos casos especiais, RARP
foi amplamente substituído pelo DHCP
Projeto para atender computadores sem
disco
Adaptado do protocolo ARP
–
Difunde (broadcast) requisição para servidor
–
Espera por resposta
Funcionamento do RARP
A
S1
B
S2
A difunde uma requisição em busca de um servidor
A
S1
B
S2
Um ou mais servidores na rede respondem
Identificação do cliente
●
●
Equipamento cliente precisa se identificar
RARP usa o endereço de hardware com
um identificador único
–
Funciona adequadamente apenas em redes
que possuem endereço de hardware
permanentes
BOOTstrap Protocol (BOOTP)
●
Uma alternativa ao RARP
●
Fornece mais que apenas um endereço IP
–
●
Obtém parâmetros de configuração de um
servidor
Usa UDP
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.
BOOTP
●
●
●
●
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.
BOOTP
●
●
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.
BOOTP
●
●
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.
Uso da pilha antes da
inicialização
●
●
BOOTP é usado para obter parâmetros de
configuração do IP, porém
BOOTP usa IP e UDP para obter os
parâmetros
–
●
Pilha precisa ser inicializada antes de ser
inicializada?
De fato, BOOTP executa como uma
aplicação e precisa apenas de algumas
facilidades básicas fornecidas por
endereços especiais
Uso da pilha antes da inicialização
(cont.)
●
Cliente BOOTP envia pacote com:
–
Endereço IP de destino com o valor de difusão limitada
(255.255.255.255)
●
–
Endereço IP de origem com o valor “deste host nesta rede” (0.0.0.0)
●
●
Endereço de hardware de destino também com valor de difusão
Endereço de hardware de origem com o endereço físico da interface, o
qual é conhecido
Servidor BOOTP responde com:
–
Endereço IP de destino com o valor de difusão limitada
(255.255.255.255), pois o cliente ainda não sabe seu endereço IP
●
–
Endereço de hardware de destino com o valor fornecido pelo cliente
Endereços IP e de hardware de origem preenchidos da forma
convencional
Retransmissão BOOTP
●
Uma vez que o UDP é usado, o cliente
BOOTP foi preparado manipular
retransmissões
–
É sorteado um valor aleatório para a
temporização (timeout)
–
Caso não obtenha sucesso, são realizadas
novas tentativas, sendo que a cada nova o
intervalo de sorteio dobra
●
O intervalo dobra até atingir um determinado
valor, passando a ficar fixo, porém ainda com
sorteio aleatório dentro do mesmo
Formato da mensagem BOOTP
Campos da mensagem BOOTP
●
OP – especifica se é uma requisição (1) ou resposta (2)
●
HTYPE – tipo de hardware (ex.: Ethernet = 1)
●
●
●
●
HLEN – comprimento em bytes do endereço de
hardware (ex.: Ethernet = 6)
HOPS – número de roteadores que a mensagem
atravessa. É configurada com 0 (zero) pelo cliente e
incrementado caso algum servidor a repasse para outro
TRANSACTION ID – usado para casar requisições com
respostas
SECONDS – quantidade de segundos desde que o cliente
começou a inicializar
Campos da mensagem BOOTP
(cont.)
●
●
●
●
CLIENT IP ADDRESS – endereço IP enviado pelo
cliente (ex.: 0.0.0.0)
YOUR IP ADDRESS – endereço IP fornecido pelo
servidor ao cliente
BOOT FILE NAME – descreve uma imagem de
memória a ser fornecida a um cliente sem disco
VENDOR-SPECIFIC AREA – contém informações
opcionais a serem passadas do servidor para o
cliente
Campos da mensagem BOOTP
(cont.)
●
Itens de tamanho fixo do campo VENDOR-SPECIFIC AREA
●
Itens de tamanho fixo do campo VENDOR-SPECIFIC AREA
Atribuição dinâmica de
endereços
●
BOOTP assume um mapeamento um-para-um entre
o equipamento (endereço de hardware) e o
endereço IP
–
●
Inviabiliza reaproveitamento ou reatribuição automática
de um endereço IP para equipamentos diferentes
Mapeamento dinâmico de endereços é necessário
(sobretudo, por ISPs)
–
Cliente obtém um endereço IP e usa temporariamente
–
Quando o cliente não precisa mais do endereço, o mesmo
deve estar disponível para outro
●
Otimiza o uso de um conjunto de endereços IP
Extensão do BOOTP
●
●
BOOTP é estendido para permitir
atribuição dinâmica de endereços
Novo protocolo é chamado DHCP
(Dynamic Host Configuration Protocol)
–
Mantém
BOOTP
compatibilidade
retroativa
com
Dynamic Host Configuration Protocol
(DHCP)
●
●
●
Pode atribuir endereços de três formas:
–
Manual (semelhante ao BOOTP)
–
Automática (endereço atribuído pelo servidor e o equipamento
retém o mesmo endereço)
–
Dinâmica (endereço atribuído pelo servidor e o equipamento
pode obter endereços diferentes em requisições posteriores)
Administrador pode escolher o tipo atribuição para
cada endereço
Além do endereço IP permite que um host obtenha
todos os parâmetros necessários para se comunicar sem
intervenção manual
–
DHCP oferece auto-configuração
Atribuição dinâmica de
endereços
●
Cliente recebe um arrendamento de endereço
●
Servidor especifica o tempo de arrendamento
●
●
No fim do arrendamento, cliente deve renová-lo
ou parar de usar o endereço
Ações são controladas por uma máquina de
estados finitos
–
Basicamente, um cliente DHCP difunde
(broadcast) uma mensagem para todos os
servidores em uma rede local, coleta as ofertas,
seleciona uma e negocia com o servidor
Máquina de estados finitos do
DCHP
Formato da mensagem DHCP
●
Campo FLAGS – de fato apenas 1 bit é usado para indicar se o
servidor deve responder através de broadcast (1) ou unicast
(0)
Campo OPTIONS
●
Mesmo formato do campo VENDOR
SPECIFIC AREA do BOOTP
–
Mantém os mesmos itens definidos pelo
BOOTP e acrescenta um novo código (53)
para as mensagens DHCP
Download