• Nenhum resultado encontrado

MicroDNS. Armando Adami Zaro Pablo Augusto Lerina Rodrigues. 3 de outubro de 2007

N/A
N/A
Protected

Academic year: 2021

Share "MicroDNS. Armando Adami Zaro Pablo Augusto Lerina Rodrigues. 3 de outubro de 2007"

Copied!
7
0
0

Texto

(1)

MicroDNS

Armando Adami Zaro

Pablo Augusto Lerina Rodrigues

3 de outubro de 2007

Resumo

O projeto do MicroDns visa simular localmente o funcionamento de um DNS. Poder-se-´a configurar quando da chamada do aplicativo servi-dor tantos nodos quantos se desejar, para que estes resolvam ou ajudem a resolver nomes de diferentes dominios. Haver´a tamb´em um cliente, respons´avel por realizar as requisi¸c˜oes aos servidores. Este cliente ser´a chamado sob demanda, quando se desejar resolver algum nome. Uma vez que o cliente ´e chamado, ele receber´a, quando da resposta do servidor, o endere¸co IP do dom´ınio enviado por parˆametro, caso este tenha sido encontrato, ou uma mensagem de dom´ınio n˜ao encontrado.

1

Objetivo

Ilustrar o funcionamento do sistema de resolu¸c˜ao de nomes de dom´ınio DNS.

2

Premissas

O funcionamento do sistema n˜ao depende de uma infra-estrutura de rede completa, bastando existir a implementa¸c˜ao de uma pilha TCP/IP no sistema operacional em uso no ambiente de testes.

´

E necess´ario que o usu´ario executando o sistema tenha permiss˜ao para ge-renciar a cria¸c˜ao de sockets.

• Na chamada do aplicativo servidor, todos os seus parˆametros devem ser obrigatoriamente informados.

• O aplicativo cliente deve retornar mensagem de erro caso n˜ao encontre um servidor.

• Ao se iniciar um servidor, deve-se consistir se os dom´ınios filhos que se est´a configurando pertencem ao dom´ınio do servidor sendo inicializado. • Verificar se existe algum outro servidor respondendo na mesma porta em

que se pretende inicializar o novo servidor. Caso j´a exista algum servidor respondendo pela porta, deve-se retornar erro.

(2)

• Ao se iniciar um cliente, deve-se consistir o envio de pelo menos um do-minio para que o mesmo seja resolvido.

3

Servidor

O processo servidor ´e respons´avel por armazenar o mapeamento entre nome de dom´ınio e endere¸co IP e fornecer um meio de acesso de rede para que clientes possam realizar consultas.

Como o sistema DNS ´e baseado em uma arquitetura distribu´ıda[1] e poder˜ao ser executados diversos processos servidores em um mesmo hospedeiro, conforme a especifica¸c˜ao do trabalho, as diferentes instˆancias de servidores dever˜ao ser ini-cializadas com configura¸c˜oes de rede diferentes, variando-se o n´umero da porta onde o servi¸co aguarda conex˜ao. A configura¸c˜ao de rede com a qual o servi-dor e seus “filhos”ir˜ao esperar clientes ´e especificada por argumento de linha de comando.

As instˆancias de servidores ra´ız poder˜ao ter um n´umero arbitr´ario de servido-res “filhos”, que ser˜ao inicializados e vinculados a uma porta exclusiva e dever˜ao respeitar o dom´ınio da ra´ız a qual pertencem. Os processos de servidores con-siderados ra´ız dever˜ao por sua vez referenciarem ao servidor ra´ız principal, que ser´a sempre inicializado na porta 53.

´

E preciso informar qual o servidor raiz para cada novo servidor a fim de se estabelecer a tabela de mapeamento. Atrav´es desta tabela que as consultas poder˜ao ser respondidas.

Tamb´em ´e poss´ıvel que um novo servidor tenha como sua ra´ız um servidor inicializado por outro como filho.

3.1

Protocolo

Devida a natureza da aplica¸c˜ao, faz-se necess´ario estabelcer um protocolo de comunica¸c˜ao entre servidores e clientes.

Ser´a implementado uma vers˜ao simples de protocolo para troca de mensagens entre servidores bem como clientes, compreendendo basicamente em um campo para o comando e outro para argumentos, que pode ser vazio. A figura 1 mostra o formato de mensagem.

Figura 1: Formato da mensagem

3.2

Mensagens

A tabela 1 lista os c´odigos de mensagens que ser˜ao implementadas no sistema. A seguir veremos uma descri¸c˜ao de uso de cada.

(3)

C´odigo Descri¸c˜ao

REGISTER Registra nodos filhos informados no argumento WHOIS Pergunta qual o IP para o dom´ınio no argumento ANSWER A mensagem contˆem no argumento o IP procurado NOTFOUND Dom´ınio n˜ao encontrado

Tabela 1: Comandos do sistema

3.2.1 REGISTER

Usado quando uma nova instˆancia de servidor ´e inicializada. Informa `a ra´ız os dom´ınios(especificados por argumento em linha de comando) pelos quais ´e respons´avel. O diagrama de estados da figura 2 ilustra o processo.

Figura 2: Diagrama de estado do processo de registro de um nodo no servidor ra´ız.

3.2.2 WHOIS

Pode ser usado pelo cliente ao consultar o servidor ra´ız ou para consulta entre servidores. O argumento passado ´e uma lista com os nomes de dom´ınios a serem resolvidos.

No diagrama de estados da figura 3 podemos acompanhar o processo de pergunta de dom´ınio. O ´ultimo cliente pode tamb´em ser um servidor que repassa a pergunta adiante, dessa forma estabelece-se o processo recursivo de consulta, onde a pergunta ´e enviada at´e o servidor que possui a resposta e retorna atrav´es de todos os demais servidores pelo qual passou.

(4)

Figura 3: Diagrama de estado do processo de consulta envolvendo o c´odigo de mensagem WHOIS e ANSWER.

3.2.3 ANSWER

Retorna ao agente que efetuou a pergunta com o(s) IP(s) correspondentes na lista de argumentos. O agente que realizou a consulta ter´a uma tabela mapeando as consultas que realizou e a origem, quando necess´ario.

A resposta ser´a composta por pares “dom´ınio = IP”separados por virgula caso mais de um dom´ınio tenha sido consultado.

3.2.4 NOTFOUND

Informa ao agente que efetuou a pergunta que o dom´ınio n˜ao foi encontrado em nenhum servidor dispon´ıvel. Os argumentos para mensagens deste tipo ser˜ao o endere¸co de rede do agente que realizou a consulta e o dom´ınio consultado, separados por v´ırgula.

A mensagem NOTFOUND ser´a gerada no ´ultimo servidor dispon´ıvel na hierarquia estabelecida caso n˜ao seja encontrada nenhuma resposta satisfat´oria.

3.3

Troca de Mensagens

A seguir ser´a especificado para cada processo definido no sistema o diagrama de tempo para a troca de mensagens.

3.3.1 Registro

O processo de registro de novos servidores compreende a inicializa¸c˜ao do mesmo com seus n´odos filhos e a comunica¸c˜ao ao servidor ra´ız da existˆencia de um novo n´odo na rede. O diagrama de tempo da figura 4 ilustra estre processo inicial.

(5)

Figura 4: Diagrama de tempo do processo de registro de novos servidores.

Os servidores filhos n˜ao ir˜ao enviar mensagens de rede `a sua ra´ız, visto que s˜ao inicializados no mesmo processo, e portanto suas associa¸c˜oes s˜ao geradas concomitantemente.

3.3.2 Consulta

A consulta `a tabela de dom´ınios de outro servidor ´e ass´ıncrona, e a fonte geradora n˜ao manter´a a mesma conex˜ao para receber a resposta.

Na figura 5 temos o “caso feliz”onde o primeiro servidor consultado possui uma resposta autoritativa.

Figura 5: Diagrama de tempo do processo de consulta de dom´ınios onde o primeiro servidor tem a resposta correta.

A figura 6 ilustra o caso onde mais de um servidor precisa ser consultado e a resposta ´e obtida de maneira recursiva, ou seja, ´e repassada ao ´ultimo servidor que efetuou a pergunta, e este por sua vez repassa `a origem. Ser´a mantido em cada servidor al´em da tabela de cache uma tabela com a origem e consulta que foram realizadas atrav´es do mesmo, a fim de estabelecer-se um v´ınculo para resposta.

O caso onde mais de um servidor ´e consultado e nenhuma resposta autori-tativa ´e encontrada ´e ilustrado na figura 7.

4

Interface

O sistema ´e implementado na arquitetura cliente-servidor, e ser´a executado em ambiente linha de comando.

(6)

Figura 6: Diagrama de tempo onde mais de um servidor precisa ser consultado, com resposta de maneira recursiva.

Figura 7: Diagrama de tempo onde mais de um servidor ´e consultado por´em n˜ao ´e encontrada uma resposta autoritativa

4.1

Servidor

O aplicativo servidor ir´a oferecer as seguintes op¸c˜oes de configura¸c˜ao em linha de comando:

• domain: o dom´ınio pelo qual o nodo servidor ´e respons´avel; • parent: determina o endere¸camento do nodo pai;

• children: inicializa o nodo filho, identificando o dominio pelo qual ´e res-pons´avel e seu endere¸camento;

• authority: n´umero vari´avel de endere¸cos que s˜ao respondidos de forma autoritativa

(7)

• cachesize: tambem nao faz sentido

Poder˜ao ser informados diversos nodos filhos bem como rela¸c˜oes autoritati-vas.

4.2

Cliente

Ir´a realizar a consulta para os dom´ınios especificados em linha de comando com o argumento resolve no servidor especificado pelo argumento local. ´E espe-rada uma resposta do tipo “consulta realizada em XXms: dominio = IP”caso o dom´ınio tenha sido encontrado, ou “dom´ınio n˜ao encontrado”caso contr´ario.

Referˆ

encias

[1] STEVENS, W. Richard; TCP-Illustrated: the protocols Addisson-Wesley professional computing series, ISBN 0-201-63346-9

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Os Oficiais de Registro Civil das Pessoas Na- turais do Estado de São Paulo também têm competência para os atos notariais de reconhecimento de firma, autenticação de cópia

Objetivando avaliar a utilização de óleos vegetais de diferentes origens em rações no desempenho e características de carcaça do escargot francês “gros gris” (Helix

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

1- Indica com P, se a frase estiver na voz passiva e com A se estiver na ativa. Depois, passa-as para a outra forma. a) Vimos um cisne moribundo.. Assinala com um X o

1- Indica com P, se a frase estiver na voz passiva e com A se estiver na ativa. Depois, passa-as para a outra forma.. Assinala com um X o retângulo correspondente.. Derivada

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –