• Nenhum resultado encontrado

DNS - Domain Name System

N/A
N/A
Protected

Academic year: 2021

Share "DNS - Domain Name System"

Copied!
8
0
0

Texto

(1)

DNS - Domain Name System

Introdução

Componentes dum sistema DNS Zonas e Domínios

Resolução DNS Vs. WINS Ferramentas

Introdução

Na Internet, para que as máquinas possam comunicar é necessário que os routers de comunicação

(encaminhadores) saibam para onde direccionar as mensagens de comunicação. Para isso, na internet usa-se o protocolo IP (Internet Protocol). Duma forma muito simples, este protocolo baseia-se num mecanismo de identificação de máquinas denominado endereço IP. Um endereço IP, na versão mais comum (IPv4) tem a seguinte forma: XXX.XXX.XXX.XXX sendo XXX um número decimal entre 0 e 255. (Na versão IPv6 o endereço tem entre outras a forma XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX, em que XXXX é um número hexadecimal entre 0 e FFFF).

Seja um endereço IPv4 ou IPv6, este não é de fácil memorização pelo ser humano, uma vez que não é por si só representativo do serviço que presta ou da "organização que representa".

Torna-se portanto necessário atribuir nomes significativos a máquinas na internet, e desenvolver mecanismos que permitam ao ser humano usá-los com o máximo de abstração possível.

Nos primordios do uso do IP, o número de máquinas era pequeno, pelo que era simples e pouco trabalhoso gerir centralizadamente os nomes e endereços IPs das máquinas. Na realidade, cada máquina detinha informação acerca de todas as máquinas com que comunicava num ficheiro estático (no sistema Unix este ficheiro é o /etc/hosts).

Com o aumento do número de máquinas com que cada uma comunica, tal solução tornou-se impraticável quer do ponto de vista de conhecimento de todas as máquinas quer na gestão de nomes e endereços.

Em 1983 é inventado o DNS (Domain Name System).

O DNS é o sistema de gestão de nomes de máquinas (hosts) na Internet, e tem por objectivos fundamentais: Traduzir nomes de máquinas (strings) em endereços IP (números).

Permitir distribuir a gestão de endereços e respectivos nomes.

O primeiro objectivo é necessário para que os seres humanos se possam abstrair da forma de endereços de máquinas na Internet, e ao invés se possam referir de forma natural a serviços (WWW, mail, ftp). Por exemplo, o nome www.dei.isep.ipp.pt corresponde ao endereço IP 192.136.62.3. Além disso, permite que a máquina (ou máquinas) que disponibiliza o serviço possa mudar de endereço sem que o ser-humano tenha que saber dessa alteração para continuar a usar o serviço. Na realidade o tipo de informação gerida pelo DNS não se limita a um mapa entre nomes e IPs, mas outro tipo de informação (registo de recurso).

O segundo objectivo permite que as máquinas e seus nomes sejam geridos distribuidamente, por forma que não seja necessário contactar uma suposta entidade central sempre que uma alteração ou adição duma máquina é feita à Internet. Este processo baseia-se no princípio da delegação de autoridade, e determina que uma entidade delega noutra a responsabilidade de definição de IPs e nomes às máquinas que tem sob sua autoridade. Por exemplo, a entidade responsável pelas máquinas em Portugal (pt), delegou no IPP a autoridade para gerir os IPs e nomes das máquinas dum novo domínio denominado IPP. Assim, foi criado o domínio ipp.pt. O IPP fica ainda com autoridade para criar domínios dentro do domínio IPP, e se for caso disso delegar autoridade desses sub-domínios a outras entidades. Assim, o IPP delegou no ISEP a autoridade de gerir os IPs e nomes das máquinas dum domínio que se denomina isep.ipp.pt. O mesmo acconteceu entre o ISEP e o DEI, criando-se assim o domínio dei.isep.ipp.pt.

Com esta possibilidade (e necessidade) de delegação de autoridade, deixa de haver uma única entidade que saiba o nome de todas as máquinas, pelo que surge o problema de saber em que uma máquina se deve dirigir para traduzir o nome duma máquina num endereço IP. Este processo denomina-se resolução.

(2)

Um sistema DNS tem portanto por missão traduzir os nomes em IPs. Para isso é necessário que essa informação seja armazena e organizada de acordo com as necessidades do sistema.

O Servidores de Nomes (Name Servers) são as máquinas responsáveis pelo armazenamento desta informação, e são também as máquinas a quem as outras máquinas (Hosts) se dirigem para traduzirem/procurarem informação.

Registos de recursos

A informação a guardar é organizada e armazenada segundo um registo diferente conforme o tipo de informação ou entidade do sistema a que diz respeito. Alguns dos mais importantes tipos de registos de recursos são:

Abreviatura

Tipo

Significado

A

(IPv4) Address

Relaciona FQDN com o endereço IP (versão

IPv4)

AAAA

IPv6 Address

Relaciona FQDN com o endereço IP (versão

IPv6)

CNAME

Canonical Name

Alias de um nome de domínio

SOA

Start Of Authority

Início de uma zona de autoridade delegada

(especificado no novo domínio com autoridade

delegada pelo seu superior)

NS

Name Server

Indicação do servidor de nomes responsável

pela gestão da informação do domínio delegado

(especificado no super-domínio)

PTR

Pointer

Relaciona o IP com o registo A ou CNAME

duma máquina (usado em reverse lookup)

MX

Mail Exchange

Relaciona um domínio com as servidores

responsáveis pelo serviço de mail do domínio

SRV

Service Location

Registo genérico utilizado para definir a

localização de máquinas

TXT

Text

Permite armazena texto

Existem outros tipos de registos mais recentes, mas que no contexto deste documento não são fundamentais.

Ficheiros de Domínio

Tradicionalmente os servidores de nomes guardam essa informação em ficheiros de texto organizados segundo os tipos de registos de recursos anteriores.

Assim, por exemplo, um servidor de nomes dum domínio xy.dei.isep.ipp.pt deverá ter sempre informação respitante ao domínio (Start Of Authority) do qual é servidor de nomes (primário ou secundário):

;

; Database file xy.dei.isep.ipp.pt.dns for xy.dei.isep.ipp.pt zone. ; Zone version: 6

;

@ IN SOA w2k3s-a. hostmaster. ( 6 ; serial number 900 ; refresh 600 ; retry 86400 ; expire 3600 ) ; default TTL E também informação acerca dos servidores de nomes do domínio: ;

; Zone NS records ;

@ NS w2k3s-a.

O caracter "@" significa que a informação respeita ao domínio do próprio servidor de nomes. Tem também informação acerca das máquinas (hosts) que se encontram registadas no domínio. ;

(3)

;

a1 A 192.168.1.155 ns CNAME w2k3s-a.xy.dei.isep.ipp.pt. soa CNAME xy.dei.isep.ipp.pt.

Zonas e Domínios

Dentro dum domínio podem ser criados sub-domínios, formando assim um hierarquia de domínios (ex. pt delegou autoridade em ipp que por sua vez delegou autoridade em isep que por sua vez delegou autoridade em dei). Representa-se esta hierarquia na forma:

dom4.dom3.dom2.dom1

Em que dom1, dom2, dom3 são nomes dos domínios, e dom4 tanto pode ser um nome de domínio como de uma máquina. Um endereço é composto por até 127 níveis, sendo que o endereço completo não pode ultrapassar 255 caracteres.

Os domínios à direita são hierarquicamente superiores aos da esquerda. Isto é, os da direita delegam autoridade nos da esquerda.

No topo da hierarquia está um e um só domínio, denominado "root domain". Na realidade, um endereço internet deveria terminar sempre num ponto:

xy.dei.isep.ipp.pt.

sendo o último ponto correspondente ao "root domain", que não necessita de ter nome uma vez que é único.

A existência dum sub-domínio não implica forçosamente a delegação de autoridade. Na realidade a delegação de autoridade é feita por zonas.br> Uma zona é portanto um conjunto de domínios, sub-domínios e máquinas, a quem

(4)

foi delegada autoridade de gestão pelo nível hierarquicamente superior.

Em cada zona começa uma nova autoridade (Start Of Authority), representada no servidor de nomes (Name Server) do domínio superior, pelos registos de um ou mais Name Servers (NS).

Assim, ao delegar autoridade em XY para gestão das suas máquinas e sub-domínios, o servidor de nomes do domínio dei.isep.ipp.pt deve definir um registo com a relação entre o nome do domínio e o servidor(es) de nomes desse "novo" domínio:

;

; Delegated sub-zone: xy.dei.isep.ipp.pt. ;

xy NS w2k3s-a.xy.dei.isep.ipp.pt.

w2k3s-a.xy.dei.isep.ipp.pt. A 192.168.1.115 ; End delegation

A nova zona, denominada xy.dei.isep.ipp.pt, será gerida pela máquina w2k3s-a.xy.dei.isep.ipp.pt, por sua vez configurada como apresentado anteriormente.

Note-se que a delegação de autoridade é feita ao nome do servidor (w2k3s-a.xy.dei.isep.ipp.pt) e não ao seu IP. Ora, como esta máquina pertence ao domínio delegado, este servidor não vai conseguir posteriormente informar acerca do endereço IP do servidor de nomes responsável pelo domínio xy. Para resolver esse problema, o servidor de nomes do domínio dei deve também incluir informação acercad do nome e IP do servidor de nomes do domínio xy. Pelo papel que este tipo de registos tem na interligação entre domínios, denomina-se "glue records".

Uma zona pode ter vários servidores de DNS e cada servidor de DNS servir mais do que uma zona. No entanto, um mesmo servidor DNS não pode servir duas zonas hierarquicamente relacionadas. Isto é, não pode ser servidor DNS da zona A e B simultaneamente, se a zona A delegou autoridade na zona B, ou se a zona B delegou

(5)

Resolução

De acordo com a gestão de informação descrita anteriormente, o sistema de nomes baseado em DNS é um sistema distribuído, em que a informação sobre máquinas e domínios não depende e não está disponível numa só máquina na internet. Pelo contrário, através da delegação de autoridade, a informação está distribuída por milhares de servidores de nomes existentes na internet, que alteram constantemente a estrutura de domínios, máquinas e zonas de autoridade. É portanto necessário definir métodos que permitam descobrir determinado IP nesta hierarquia de domínios e servidores de nomes.

Resolução (lookup) é o processo que ocorre quando se deseja traduzir um nome de domínio num endereço de IP. No entanto, como se referiu anteriormente, a informação gerida pelo DNS não é hoje em dia apenas de endereços IPs e nomes de máquinas, pelo que a resolução ocorre sobre outro tipo de informação. De facto, o processo poderia ser denominado procura pois o seu obejctivo é a procura de um certo tipo de informação referente a um determinado argumento (ex. nome da máquina). (Daí que o Active Directory se adapte tão bem a gestor deste tipo de informação.)

As aplicações que necessitam de resolver determinada informação no DNS recorrem a um tipo de entidade denominada "resolver". Este tipo de entidade comunica com os servidores de nomes de forma que a aplicação não tem interveniência no processo.

Existem dois tipos de resolução conforme o processo que é seguido para se encontrar a informação: Iterativa, recorre interativamente a vários servidores de nomes até conseguir resolver a informação desejada.

Recursiva, recorre ao servidor de nomes "preferido" para resolver a infromação desejada.

Resolução iterativa

No processo de resolução iterativa o resolver tem o papel principal, questionando um servidor de nomes de cada vez até concluir a resolução com sucesso ou insucesso.

Cada servidor inquirido responde com a sua melhor resposta possível, mas sem contactar qualquer outro servidor de nomes. Em função dessa resposta o resolver decide que outro servidor deve contactar para resolver a

informação. O processo repete-se até a resposta recebida ser a desejada ou não permitir qualquer outra iteração do processo.

Os tipos de resposta mais comuns são os seguintes:

"Authoritative" (resposta "autoritária"), é uma resposta positiva (ver a seguir) em que a resposta chega dum servidor de nomes que tem autoridade sobre o domínio visado na pergunta;

Positiva, nos casos em que o conteúdo da resposta corresponde à pergunta efectuada. Tanto pode ser um registo de recurso como um conjunto de registos de recursos que responde à pergunta efectuada. Por exemplo, quando se deseja saber quais os servidores de nomes para determinado domínio a resposta pode incluir vários registos de NSs uma vez que pode haver mais do que um servidor de nomes registados para esse domínio;

(6)

"Referral", ocorre sempre que o servidor contactado não tiver um resposta positiva. Nesse caso a resposta inclui registos de recursos relacionados com a pergunta mas que não respondem directamente à pergunta. Pode incluir tipos de registos não solicitados na pergunta, mas que podem contribuir para o processo de iteração, se o resolver tiver essa capacidade.

Negativa, ocorre sempre que o servidor de nomes delegado (autoritário) é contactado para resolver um nome relacionado com a sua zona, mas em que ou o nome não existe ou o registo existente acerca desse nome não é do tipo solicitado.

A resolução iterativa não é muito comum pois implica maior complexidade do resolver apesar de requer menos recursos ao servidor de nomes preferido.

Resolução recursiva

A resolução recursiva (recursive lookup) faz uso do servidor de nomes para resolver a informação desejada. Ou seja, o "resolver" envia a pergunta ao servidor de nomes e espera que este resolva a informação através da cooperação com outros servidores de nomes.

Contudo, ao contrário da abordagem iterativa, esta segue uma pesquisa determinística, em que cada resposta vai garantidamente resolvendo a pergunta.

Para isso, o nome a resolver é pesquisado da direita para esquerda, de tal forma que os servidores de nomes dos domínios mais à direita do nome sabem qual o servidor de nomes do domínio imedatamente à esquerda,

fornecendo essa informação ao "servidor de nomes recursivo".

Por exemplo, se se desejar resolver o endereço www.dei.isep.ipp.pt. (note-se o ponto no final), é necessário contactar o servidor de nomes responsável pela delegação do dominio "pt". Nesse caso é necessário contactar os servidores de nomes do "root domain".

Para isso existem 13 servidores de nomes em todo o mundo que são autoritários sobre o "root domain", denominados "root hints". Qualquer servidor de nomes sabe o endereço IP de todos estes "root hints". Estes root-hints têm um endereço na forma

letra.root-servers.net em que letra varia entre A e M.

Estes servidores não sabem o endereço IP de www.dei.isep.ipp.pt., mas sabem o endereço do servidor de nomes do domínio pt. Portanto, responde ao servidor de nomes responsável pela resolução sobre este registo de NS. O servidor de nomes usa então este registo para contactar o servidor de nomes referente ao domínio pt, que por sua vez sabe o endereço do servidor de nomes do domínio ipp. Responde ao servidor de nomes, que por sua vez usa essa informação para perguntar ao servidor de nomes do domínio isep. Este responde com o registo (ou conjunto de registos) dos endereços dos servidores de nomes do domínio dei. Finalmente o servidor de nomes responsável pela recursividade contacta o servidor de nomes do domínio dei, que sabe que

www.dei.isep.ipp.pt é uma máquina (registo do tipo A) duma máquina sobre o qual tem autoridade. A resposta que envia portanto ao servidor de nomes é uma resposta "autoritária" com o endereço IP da máquina.

(7)

Este é o processo mais comum de resolução apesar de sobrecarregar os servidores de nomes.

Resolução com Cache

No entanto o processo de resolução recursivo pode ser substancialmente melhorado pelo uso de mecanismos de cache.

Nesta abordagem mais realista, cada uma das entidades intervenientes no processo de resolução usam a sua capacidade de caching para guardar temporariamente a informação que vão resolvendo ao longo da sua execução.

Assim, antes de cada entidade contactar a seguinte (como descrito anteriormente), cada entidade procura na sua cache privada, e apenas na circunstância de não ter tal informação disponível é que contacta a próxima entidade. Complementarmente aos servidores de nomes primários, existem:

servidores de nomes secundários, são uma cópia do primário mas que necessitam de ser periodicamente actualizado. Servidores secundários são "autoritários";

servidores de nomes de cache, são servidores cuja informação é recebida aquando de respostas a pedidos em que é interveniente. Servidores de nomes de cache não são "autoritários".

Para haver controlo sobre a informação do DNS são definidos alguns parámetros por zona, e que são enviados em cada resposta (ver exemplo anterior):

TTL (Time To Live) é o tempo por defeito que os registos permanecem válidos em cache depois de ter sido disponibilizado por um servidor primário ou secundário;

Retry interval, indica de quanto em quanto tempo o servidor de nomes secundário tenta conectar-se de novo depois de ter falhado;

Expires after, indica o tempo após o qual o servidor de nomes secundário deixa de responder a perguntas se não conseguir contactar o servidor primário;

Refresh intreval, é o intervalo entre actualizações obrigatórias do servidor de nomes secundário sobre o servidor de nomes primário;

Serial, é um número que indica o número de vezes que a base de dados (ficheiro) foi alterado. Através deste parámetro é possível controlar facilmente se uma base de dados entre primário e secundário está desactualizada.

(8)

Como a evolução da intrenet e de serviços, surgiu a necessidade de procurar o nome associado ao endereço IP. Portanto, a pergunta inversa àquela que se tem feito.

Como o DNS está desenvolvido para responder a perguntas sobre nomes, e porque existe uma grande infra-estrutura que não está preparada para responder se não a primeiro tipo de pergunta, houve a necessidade de adaptar a pergunta às facilidades implementadas pelo servidores de DNS.

Assim, um dos grandes problemas envolvidos está relacionado com o facto do nome de domínio ser escrito pela ordem contrário ao IP. Isto é, o domínio hierarquicamente superior está escrito à direcita nos nomes, e à esquerda nos endereços IP.

Para resolver o problema, é criada nos servidores de nomes uma zona de resolução inversa (reverse lookup), que guarda registos do tipo PTR. Isto é, associa o endereço IP ao nome.

Complementarmente, a pergunta aos servidores de nomes é feita com o endereço IP invertido, de tal forma que o processo de resolução recursivo possa usar a mesma lógica. No entanto, não existe definido nenhum endereço com números apenas, pelo que os servidores de nomes não detém essa informação.

Para obviar essa ambiguidade, para além de inverter o endereço IP, é-lhe acrescentado um sufixo respeitante ao um domínio que os servidores reconhecem como endereço de resolução inversa.

Por exemplo, se se desejar saer qual o nome da máquina cujo IP é 193.136.62.3, os "resolver" deve converter o IP para 3.62.136.193.in-addr.arpa

Desta forma os root hints ou qualquer outro servidor de nomes, sabem que se trata dum pedido de resolução inversa, e procuram na zona de resolução inversa e não na zona de resolução directa (forward lookup).

DNS Vs. WINS

O sistema de nomes das redes Microsoft NetBIOS é o WINS (Windows Internet Name Service). Originalmente este sistema de nomes usava broadcast para anunciar nomes, com todos os inconvenientes que isso traz, nomeadamente relacionados com o facto de não serem encaminhados entre redes.

Se bem que este sistema esteja em desuso, foram ao longo dos anos desenvolvidos abordagens mais eficientes que a baseada unicamente em broadcast. Assim, existem de momento 4 tipos diferentes de nós NetBIOS no que respeita à procura de nomes:

Tipo B: só utiliza broadcast para resolver os nomes do domínio;

Tipo P: utiliza apenas um servidor de nomes NetBIOS, denominado NetBIOS Name Service (NBNS); Tipo M (mixed): que utiliza primeiramente o broadcast, e se não conseguir tenta então o NBNS; Tipo H (hybrid): que utiliza primeiramente o NBNS e só se não resolver o nome utiliza o broadcast.

Ferramentas

nslookup ipconfig

Referências

Documentos relacionados

Para o caso de fluidos que obedecem às equações constitutivas de Maxwell e Oldroyd – modelos UCM (upper-convected Maxwell) e Oldroyd-B respectivamente, foi determinada, por Waters

Aqueles que recusam reconhecer as limitações do sistema tributário como instrumento directo de políticas de redistribuição do rendimento e a sua incapacidade para

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

O que prevalece é a busca de lucros cada vez maiores, não importando que para isso ela tenha de subornar, colocar centenas de lobistas no Congresso de seus países,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Espírito Santo Rendimento Dinâmico – Fundo Especial de Investimento Aberto Espírito Santo Rendimento Fixo – Fundo Especial de Investimento Aberto Espírito Santo Rendimento Fixo

apresentar documentação falsa para o certame, ensejar o retardamento da execução de seu objeto, não mantiver a proposta, não celebrar o contrato ou instrumento equivalente, falhar

20 Voltage gain Hệ số khuếch đại (độ lợi) điện áp 21 Current gain Hệ số khuếch đại (độ lợi) dòng điện 22 Power gain Hệ số khuếch đại (độ lợi) công