DNS - Domain Name System (ou Service)


O que é o DNS?

Com a utilização dos protocolos TCP/IP os computadores passaram a identificar-se uns aos outros através de endereços numéricos. Porém, é difícil memorizar diversos endereços numéricos correspondentes a diferentes computadores.

A solução foi adoptar nomes para os computadores dado que como são alfabéticos são pronunciáveis, e mais fáceis de memorizar. Dessa forma, em vez de se utilizar o endereço 192.105.232.4 para estabelecer uma ligação com um determinado computador, passava-se a utilizar o correspondente nome, por exemplo, mars.nasa.gov. Estes nomes lógicos também permitem que não seja necessário saber a localização física de um computador. Quando um computador é transferido para uma rede diferente, os utilizadores continuam a utilizar o mesmo nome lógico. Com as aplicações que suportam os protocolos TCP/IP é possível utilizar indiferentemente nomes de computadores ou endereços numéricos (inclusivé nos browsers).

Mas foi então necessário estabelecer um sistema de mapeamento entre os nomes dos computadores e os respectivos endereços numéricos. O sistema de mapeamento que veio a vingar chama-se DNS (Domain Name System (ou Service)). É este sistema que traduz nomes de computadores no respectivo endereço numérico IP.

A história do DNS

O sistema antigo de mapeamento entre nomes e endereços consistia num único ficheiro, conhecido como tabela de hosts (host table), que era mantido pelo Stanford Research Institute's Network Information Center (SRI-NIC). À medida que novos computadores se ligavam à Internet, o SRI-NIC adicionava-os à tabela, tarefa que efectuava poucas vezes por semana. Os administradores dos computadores ligados à Internet tinham periodicamente de actualizar os respectivos servidores de nomes de domínios através da cópia, via FTP, do ficheiro de hosts localizado no computador central do SRI-NIC.

Mas à medida que a Internet foi crescendo, a gestão da tabela de hosts tornou-se complicada. Embora funciona-se bem para o mapeamento entre nomes e endereços, não era a forma mais prática e efectiva de actualizar e distribuir informação para os nós da rede.

Uma vez que a estabilidade da Internet estava em jogo, Paul Mockapetris e outras pessoas decidiram criar, em 1984, o DNS para resolver os problemas de crescimento. A grande vantagem deste novo sistema é que nenhuma entidade é a única responsável pela sua actualização. O DNS baseia-se no conceito de base de dados distribuída, existindo em muitos servidores de nomes diferentes em todo o mundo, mas nenhum desses servidores possui toda a informação. Isto permite assim um crescimento praticamente ilimitado do DNS.

A base de dados do DNS é então utilizada pelas aplicações baseadas nos protocolos TCP/IP para realizar o mapeamento entre os hostnames e os endereços IP, e para fornecer informação de encaminhamento para o correio electrónico. Cada site (departamento universitário, campus universitário, empresa ou departamento dentro de uma empresa, por exemplo) mantém a sua própria base de dados de informação e executa um programa servidor que outros sistemas ligados à Internet podem questionar. O DNS fornece o protocolo que permite aos clientes e servidores comunicarem entre si.

O DNS marcou a transição da Internet de um modelo de administração centralizado (hosts.txt - flat namespace) para um modelo de administração distribuído (DNS - hierarchical namespace). Tal como a generalidade dos serviços da Internet, o DNS é um serviço cliente-servidor.

A organização do DNS

O Domain Name System utiliza um esquema de nomes hierárquico conhecido como nomes de domínios (domain names), que é semelhante à árvore do filesystem do UNIX. A raíz (root) da árvore do DNS é um nó especial com uma identificação nula (null label). O nome de domínio de qualquer nó na árvore é a lista de identificadores (labels), começando nesse nó, em direcção à raíz, utilizando um sinal '.' para separar os identificadores. Secções individuais de um nome podem representar sites ou um grupo, mas o sistema de domínios chama a cada secção um identificador.

A diferença entre o filesystem do UNIX e a árvore do DNS é que no DNS começa-se nas folhas em direcção à raíz, enquanto no UNIX é o inverso. Escrever os identificadores desta forma permite que sejam utilizadas técnicas de compressão em mensagens que contenham múltiplos nomes de domínios.

Por exemplo, o nome de domínio fe.up.pt contém três identificadores: fe, up, e pt. Qualquer sufixo de um identificador num nome de domínio também se chama domínio. No exemplo acima, o identificador de domínio de mais baixo nível é fe.up.pt (o nome de domínio para a Faculdade de Engenharia da Universidade do Porto em Portugal), o domínio de segundo nível é up.pt (o nome de domínio para a Universidade do Porto em Portugal), e o domínio de topo é pt (o nome de domínio para Portugal). O nó pt é um nó de segundo nível, já que está imediatamente abaixo da raíz.

 

 

Podemos ver que os nomes de domínios são construídos hierarquicamente, sendo o nível mais alto da hierarquia o último identificador.

Cada nó na árvore tem de possuir um nome de domínio único, mas o mesmo identificador pode ser utilizado em pontos diferentes da árvore. Os domínios de topo (top-level domains) estão divididos em três áreas:

Os 7 domínios genéricos são:

 

Nome de domínio Significado
COM Organizações comerciais
EDU Instituições educacionais
GOV Instituições governamentais
MIL Grupos/instituições militares
NET Centros de suporte das redes principais. Relacionadas com redes??
ORG Outras organizações
INT Organizações internacionais
 

Como o DNS foi introduzido originalmente nos Estados Unidos e o componente final de um endereço destinava-se a indicar o tipo de organização onde estava localizado o computador. Dessa forma, alguns dos domínios de topo (.edu, .gov e .mil) ainda só são utilizados por organizações baseadas nos Estados Unidos.

Os códigos de duas letras que indicam o país de origem estão definidos no ISO 3166 com a excepção do uk utilizado pelo Reino Unido (United Kingdom) em vez de gb, embora existam alguns sites .gb. Isto aconteceu aparentemente devido ao facto do comité ISO não ter a percepção de que a Irlanda do Norte fazia parte do Reino Unido mas não da Grã-Bretanha. O código us é utilizado por alguns sites nos Estados Unidos.

Em alguns países existem sub-domínios que indicam o tipo de organização como por exemplo, ac.uk, co.uk e sch.uk no Reino Unido e edu.au e com.au na Austrália. A maior parte dos países Europeus não adoptou esta prática. Informação sobre os domínios DNS do Reino Unido encontra-se no UK Network Information Centre.

O esquema da Internet pode acomodar uma grande variedade de organizações, e permite que cada grupo escolha entre hierarquias geográficas ou organizacionais. A maior parte dos sites segue esta filosofia de modo a poderem ligar as suas redes à Internet sem alterar os nomes dos computadores.

O nome de cada nó/identificador (excepto o do nó root) tem de ter, no máximo, 63 caracteres, e é indiferente a utilização de maiúsculas ou minúsculas. Os identificadores têm de começar por uma letra e podem consistir apenas de letras, algarismos e traços (-). No conjunto, um nome de domínio completo não pode exceder os 255 caracteres.

Os nomes de domínios podem ser relativos (relative) ou fully qualified. Neste último caso, são incluídos todos os identificadores e em toda a rede internet não existirá outro idêntico. Por exemplo, riff.fe.up.pt é o FQDN (Fully Qualified Domain Name) para o computador riff no domínio fe.up.pt. Correctamente, deveria existir um sinal '.' no fim de um FQDN mas isso é ignorado a maior parte das vezes. Um endereço relativo contém apenas o nome do computador e pode ser convertido num FQDN acrescentando a informação local de domínio.

Zonas

Os computadores e organizações que estejam pendurados no mesmo nó da árvore do DNS partilham uma parte do nome dos respectivos domínios. Por exemplo, todos os computadores e Faculdades existentes na Universidade do Porto utilizam o domínio up.pt. Pode-se então definir uma zona para essa subárvore do DNS que pode ser um domínio nacional de topo (TLND - Top Level National Domain) ou o departamento de uma universidade.

Dentro de uma zona o serviço DNS para zonas subsidiárias pode ser delegado conjuntamente com um domínio subsidiário. Desta forma, embora exista uma entidade responsável pela administração do domínio pt, que é a FCCN, a responsabilidade da administração do domínio up.pt foi delegada à Universidade do Porto.

A administração dos sub-domínios e das zonas é então realizada de uma forma independente. O computador que mantém a base de dados para uma zona é a autoridade dessa zona e representa o servidor de nomes primário dessa zona, embora possam existir servidores secundários para a zona. Isso significa que a lista correcta e actualizada de nomes DNS e endereços IP correspondentes relativa à zona em causa apenas se encontra nesse computador. Então, a zona também pode ser considerada como o grupo de computadores incluídos nessa lista ou como a unidade administrativa básica do DNS. Tenha em atenção que um servidor de nomes pode ter autoridade sobre uma ou mais zonas.

Servidores primários e secundários

A pessoa responsável pela zona tem de disponibilizar um servidor primário para essa zona e um ou mais servidores secundários. A grande diferença entre estes dois tipos de servidores é que um servidor primário carrega toda a informação da zona em causa a partir de ficheiros (base de dados) existentes em disco, enquanto os servidores secundários obtêm toda a informação a partir do servidor primário. Quando um servidor secundário obtém a informação do primário respectivo, essa operação tem o nome de zone transfer.

Quando um novo computador é adicionado à zona, o administrador adiciona a informação apropriada (nome e endereço IP) a um ficheiro em disco existente no servidor primário (que constitui a base de dados DNS local). O servidor de nomes primário é então notificado que tem de reler os ficheiros de configuração. Os servidores secundários contactam o primário de uma forma regular (normalmente cada 3 horas), e se o primário possuir novos dados, os secundários obtêm esses dados através do mecanismo de zone transfer.

Como funciona o DNS

Os root servers

Quando qualquer processo (aplicação) necessita de determinar um endereço IP a partir de um nome de um endereço DNS solicita esse serviço ao host local, o que pode ser feito de várias formas: Para um processo de utilizador ou de uma aplicação o serviço de tradução de endereços é fornecido pelo computador local ou por um computador remoto através da Internet. O servidor DNS (ou resolver) pode comunicar com outros servidores DNS se não conseguir efectuar a tradução do endereço. O sistema de nomes de domínios e o intercâmbio de mensagens entre servidores está definido nos RFCs 1034 e 1035.

Se um processo servidor de nomes não poder dar resposta ao pedido, remove o componente menos significativo (da esquerda para a direita) do endereço e tenta identificar um servidor de nomes (DNS) para o domínio resultante, ao qual solicita a informação em causa. Este processo é repetido até que seja identificado um servidor de nomes ou até que não sobre mais nada do nome. Neste caso o servidor de nomes terá chegado à raíz do espaço de nomes do DNS (DNS name space) e entrará então em contacto com um root server. É normal existirem vários servidores para um determinado domínio. Neste caso, o servidor que efectua o inquérito tentará identificar o servidor authoritative.

A maior parte das vezes, os servidores não sabem como pode contactar os outros servidores. Mas têm obrigatoriamente de saber como contactar os root name servers. Estes por sua vez sabem o nome e a localização (isto é, o endereço IP) de todos os servidores de nomes com autoridade (authoritative name servers) para todos os domínios de segundo nível. Cada servidor de nomes primário tem de saber o endereço IP de pelo menos um dos root name servers para que o serviço DNS possa ser oferecido mesmo que não existam endereços em cache ou não existam servidores locais no ficheiro /etc/resolv.conf.

Existem actualmente (1998) 13 servidores que podem processar pedidos na raíz do DNS name space. Os root servers são administrados pela InterNIC e a lista actual inclui:

 

Endereço DNS Endereço IP Endereço DNS antigo
a.root-servers.net 198.41.0.4 ns.internic.net
b.root-servers.net 128.9.0.107 ns1.isi.edu
c.root-servers.net 192.33.4.12 c.psi.net
d.root-servers.net 128.8.10.90 terp.umd.edu
e.root-servers.net 192.203.230.10 ns.nasa.gov
f.root-servers.net 192.5.5.241 ns.isc.org
g.root-servers.net 192.112.36.4 ns.nic.ddn.mil
h.root-servers.net 128.63.2.53 aos.arl.army.mil
i.root-servers.net 192.36.148.17 nic.nordu.net
j.root-servers.net 198.41.0.10  
k.root-servers.net 193.0.14.129  
l.root-servers.net 198.32.64.12  
m.root-servers.net 202.12.27.33  
 

Todos os servidores estão localizados nos Estados Unidos, excepto o m.root-servers.net que está no Japão e o k.root-servers.net que está em Inglaterra no LINX (London Internet Exchange). Os root servers sabem o endereço IP dos servidores de todas as zonas nacionais de DNS e das zonas de três letras (domínios genéricos).

Uma lista de root servers num formato compreensível por um servidor DNS está disponível por FTP anónimo em rs.internic.net no directório /domain/named.root.

Como pode ver pelos endereços DNS antigos, a Network Solutions, Inc. (InterNIC) apenas opera o primeiro dos root servers, sendo os outros mirror sites administrados por diversas organizações como a PSINet, a University of Southern California, Vixie Enterprises (fundada pelo Internet Software Consortium), várias bases militares americanas e a Comedia Information AB na Suécia.

Os servidores relativos aos domínios genéricos de topo (.com, .edu, .net, etc.) também possuem mirrors nos root servers para evitar comunicações adicionais. Contudo, inquéritos relativos a domínios nacionais (ex: .pt, .uk, .nl) têm de ser enviados aos servidores dos respectivos países, adicionando alguns milisegundos ao tempo de resposta.

 

 

A árvore do DNS mostra como é que um determinado servidor só pode contactar outros servidores. Porém, esta árvore não indica uma ligação física de rede. Os servidores podem estar localizados em localizações arbitrárias na rede. Por isso, a árvore de servidores é uma ligação lógica entre servidores, que utiliza a Internet para estabelecer comunicação.

Como é processado um inquérito

O sistema acede ao DNS através de um resolver. O resolver recebe o nome de um computador e devolve o endereço IP, ou recebe um endereço IP e devolve o nome do computador:

 

 

Como pode ver pela figura, o resolver devolve o endereço IP antes de pedir ao TCP para abrir uma ligação ou enviar um datagrama utilizando o UDP.

Um computador envia o nome do domínio para o qual pretende um endereço IP para o respectivo servidor primário DNS. Esse servidor DNS verifica na base de dados local se o nome de domínio existe; se encontrar o full domain name respectivo endereço IP é devolvido à workstation.

Se o servidor DNS primário não possuir autoridade sobre o nome de domínio solicitado, passa o inquérito para o root server para o qual está configurado que deve utilizar para tias inquéritos.

O root server por sua vez passa o inquérito para um servidor de domínios do topo (Top-Level Domain), por exemplo, o servidor .com. O servidor TLD possui uma lista de sub-domínios (por exemplo up.pt) e os endereços IP dos respectivos servidores de DNS. Passa então o inquérito para o endereço IP do servidor DNS de sub-domínio que deverá conter dados DNS authoritative para esse sub-domínio. O inquérito pode percorrer a hierarquia DNS através de vários sub-domínios e correspondentes servidores DNS.

Eventualmente, se tudo correr bem, o inquérito chegará a um servidor DNS que contém informação authoritative sobre o computador em causa identificado pelo nome de domínio, por exemplo, www.fe.up.pt. Devolve então o endereço IP solicitado ao cliente.

Na prática, o inquérito pode ser empurrado de servidor DNS em servidor DNS até que o cliente ultrapasse o limite de tempo de timeout, assumindo que não existe entrada DNS para o nome de domínio em causa. Isto acontece frequentemente, devido ao facto dos administradores de sistema moverem servidores DNS entre computadores, delegarem responsabilidade DNS a novos servidores, ou não actualizarem os servidores DNS na hierarquia superior quando fazem essas alterações. Por isso, alguns nomes de domínios podem nunca ser encontrados.

Caching do DNS

Uma característica fundamental do DNS é o caching. Isto é, quando um servidor de nomes recebe informação ácerca de um mapeamento de um computador, faz o caching dessa informação. Então, um inquérito posterior relativo a esse mapeamento pode utilizar o resultado cached, evitando assim inquéritos adicionais a outros servidores. O DNS utiliza o caching para optimizar o custo da pesquisa.

Cada servidor possui uma cache com os nomes recentemente utilizados bem como um registo do local a partir do qual a informação de mapeamento foi obtida. Quando um cliente pergunta a um servidor o nome ou endereço IP de um determinado computador o servidor executa as seguintes operações:

  1. Verifica se possui autoridade para o nome. Se sim, o servidor não necessita da informação na cache.

  2. Se não, o servidor verifica na cache se possui a informação pretendida resultante de um pedido anterior. Se sim, o servidor passa a informação para o cliente que a solicitou.
Dado que a informação àcerca de um determinado nome pode ser alterada, um servidor pode possuir informação incorrecta na sua tabela de caching. Utiliza-se então o valor Time to Live (TTL) para decidir quando é que a informação não pode ser mais considerada como válida. Quando um servidor com autoridade responde a um pedido, inclui na resposta um valor TTL que especifica quanto tempo é que garante que o binding permanecerá.

 

 

Diferença entre nomes de domínios e nomes de computadores

O nome de domínio é o nome que regista para a sua organização. Tem uma função semelhante ao apelido do nome de uma pessoa. Exemplo de nomes de domínios são:

telepac.pt
apple.com 
columbia.lib.mo.us
fe.up.pt
centroatl.pt
Quando atribui um nome aos computadores de uma organização, os nomes individuais (tal como acontece com os nomes próprios das pessoas) serão acrescentados ao nome do domínio para criar o nome completo do computador. Tudo o que está à direita do primeiro '.' é considerado o nome do domínio. Os nomes completos dos computadores, têm o nome de Fully Qualified Host Names e são do tipo:
green.apple.com 
emerald.columbia.lib.mo.us
riff.fe.up.pt

Normas para a criação de nomes de computadores

Os nomes dos computadores estão sujeitos a regras de decência e correcção. Por isso é recomendada a leitura do
RFC 1178 (Choosing a Name for Your Computer).

Algumas recomendações existentes nesse ficheiro são:

  1. Utilize nomes de cores, heróis de banda desenhada, flores, animais, locais ou pessoas mitológicos, etc. Não se preocupe em utilizar nomes vulgares como rosa. A combinação com o seu nome de domínio cria um nome de computador único no mundo;
  2. Embora seja indiferente a utilização de minúsculas ou maiúsculas, é preferível a utilização das primeiras;
  3. Utilize palavras existentes na língua do país em vez de strings aleatórias que são mais difíceis de memorizar;
  4. Não utilize nomes vulgares de pessoas, como o seu próprio ou o de alguém da empresa;
  5. Não utilize nomes de locais se não se encontrar nesses locais. Por exemplo, não utilize o nome Tahiti senão se encontrar no Tahiti;
  6. Não utilize sinais de pontuação;
  7. Não utilize um algarismo como primeiro caracter do nome dado que alguns programas que utilizam o protocolo TCP/IP podem ficar confusos.

Aliases

Os nomes dos computadores que fornecem serviços aos utilizadores da Internet utilizam frequentemente nomes alternativos (alias). Por exemplo, suponha que pretende criar um servidor World Wide Web num computador com o nome aqua.wcr3.k12.mo.us. Embora não seja necessário, é vulgar identificar um servidor Web com a designação www. Seria então criado um alias no servidor de nomes de domínios respectivo de forma a redireccionar para o endereço aqua.wcr3.k12.mo.us todos os pedidos efectuados ao endereço www.wcr3.k12.mo.us. Poderia então publicitar o seu endereço Web como http://www.wcr3.k12.mo.us/. Tenha em atenção que ainda poderia utilizar o endereço aqua.wcr3.k12.mo.us para aceder ao servidor Web.

Os aliases têm tipicamente endereços do tipo:

irc.telepac.pt
gopher.apple.com 
ftp.wcr3.k12.mo.us 
mail.columbia.lib.mo.us 
www.fe.up.pt
É mesmo possível ter disponível num único computador diversos serviços Internet - por exemplo serviços de WWW, ftp e correio electrónico. Cada serviço possui então um alias próprio no servidor de nomes de domínios que referencia o computador em causa. Neste caso, os endereços www.wcr3.k12.mo.us, ftp.wcr3.k12.mo.us e mail.wcr3.k12.mo.us apontariam todos para o computador aqua.wcr3.k12.mo.us.

Isto funciona porque os protocolos TCP/IP definem portas de software para os vários serviços disponíveis. O software cliente que efectua o pedido também especifica um número de porta. O software que estiver à escuta dessa porta é que responde ao pedido. Por exemplo, o standard aceite para servidores e browsers WWW é a porta 80.

Tenha em atenção que o serviço de nome domínio para os servidores de correio electrónico necessita de um passo extra, que corresponde ao registo MX.

Interface com o utilizador - nslookup

Em sistemas UNIX a interface do utilizador com o DNS é o programa nslookup (localizado normalmente em /usr/sbin) que permite questionar servidores de nomes. Este programa pode ser utilizado para executar praticamente qualquer função do DNS e apresentar os resultados ao utilizador.

Eis um exemplo de utilização:

$ nslookup
Default Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

> set q=A
> ccub.wlv.ac.uk.
Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

Name:    ccub.wlv.ac.uk
Address:  134.220.1.20
> set q=CNAME
> www.wlv.ac.uk.
Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

www.wlv.ac.uk	canonical name = ccuf.wlv.ac.uk
> set q=MX
> wlv.ac.uk.
Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

wlv.ac.uk	preference = 1, mail exchanger = wlv.ac.uk
wlv.ac.uk	inet address = 134.220.1.12
> set q=HINFO
> ccub.wlv.ac.uk.
Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

ccub.wlv.ac.uk	CPU=SUN 690MP	OS=Solaris 2.4
> set q=PTR
> 12.1.220.134.in-addr.arpa
Server:  scitsc.wlv.ac.uk
Address:  134.220.4.1

12.1.220.134.in-addr.arpa	host name = ccug.wlv.ac.uk

Aqui demonstra-se como o computador scitsc fornece serviços de DNS, tendo sido executados diversos inquéritos. O tipo de inquérito pretendido é definido pelo comando set q=:

Explorar uma zona

O programa nslookup pode ser utilizado para obter uma lista de todos os computadores existentes numa zona. Para o fazer é em primeiro lugar necessário identificar o servidor de nomes (name server) da zona, o que é feito através de um inquérito NS. Configura-se o parâmetro servidor para um dos servidores de nomes identificados e depois utiliza-se o comando ls.

Repare que no exemplo que se segue o utilizador foi cuidadoso na inclusão do ponto no fim do nome do domínio, impedindo assim o nslookup de acrescentar por omissão o nome de domínio local. ( scit.wlv.ac.uk). Para domínios muito grandes (com um grande número de computadores) o comando ls possui uma opção para escrever os resultados num ficheiro.

$ /usr/sbin/nslookup
Default Server:  sunc.scit.wlv.ac.uk
Address:  134.220.4.1

> set q=NS
> bilston.ac.uk.
Server:  sunc.scit.wlv.ac.uk
Address:  134.220.4.1

Non-authoritative answer:
bilston.ac.uk   nameserver = unad1.wlv.ac.uk
bilston.ac.uk   nameserver = ccua.wlv.ac.uk
bilston.ac.uk   nameserver = ccub.wlv.ac.uk

Authoritative answers can be found from:
unad1.wlv.ac.uk internet address = 134.220.192.26
ccua.wlv.ac.uk  internet address = 134.220.1.39
ccub.wlv.ac.uk  internet address = 134.220.1.20
> server ccub.wlv.ac.uk
Default Server:  ccub.wlv.ac.uk
Address:  134.220.1.20

> ls bilston.ac.uk.
[ccub.wlv.ac.uk]
 bilston.ac.uk.                 server = ccub.wlv.ac.uk
 bilston.ac.uk.                 server = unad1.wlv.ac.uk
 bilston.ac.uk.                 server = ccua.wlv.ac.uk
 gw                             194.62.148.1
 novix1                         195.188.205.2
 www                            194.62.148.4
 fc                             194.62.148.5
 student1                       195.18.205.3
Esta sessão revela que existem 5 computadores no domínio bilston.ac.uk. De uma forma surpreendente aparecem na listagem endereços pertencentes a 3 classes C diferentes. Isto aconteceu porque a empresa estava no processo de alterar os endereços para duas das redes, sendo a terceira (195.18.205) aparentemente um erro tipográfico relativo ao endereço 195.188.205.

O inquérito NS também pode ser útil para identificar o servidor para uma reverse zone como pode ser visto no exemplo que se segue, que é uma tentativa para identificar a os servidores de nomes da reverse zone para as suas redes da Classe C com endereços 195.188.0.0.

> 188.195.in-addr.arpa
Server:  sunc.scit.wlv.ac.uk
Address:  134.220.4.1

Non-authoritative answer:
188.195.in-addr.arpa	nameserver = ns2.cableinet.net
188.195.in-addr.arpa	nameserver = ns.cableinet.net

Authoritative answers can be found from:
ns2.cableinet.net	internet address = 194.117.157.4
ns.cableinet.net	internet address = 193.38.113.3

Hierarquias DNS alternativas

Com a rápida comercialização da Internet, apareceram disputas relacionadas com nomes DNS e por isso foram feitas sugestões para a criação de mais domínios de topo (TLD - Top-Level Domains). A raíz (root) da actual hierarquia DNS é mantida pelo Network Information Center sob contracto do governo dos Estados Unidos da América.

Existiram várias tentativas para criar hierarquias alternativas, mas a mais bem sucedida é a Alternic.

Para utilizar o serviço DNS da Alternic necessita de saber o endereço dos respectivos servidores root, um dos quais é o mx.alternic.net. Vejamos um exemplo de como funciona para obter informação sobre o endereço www.alternic.nic:

$ /usr/sbin/nslookup
Default Server:  sunc.scit.wlv.ac.uk
Address:  134.220.4.1

> server mx.alternic.net
Default Server:  mx.alternic.net
Address:  206.191.128.47

> www.alternic.nic.
Server:  mx.alternic.net
Address:  206.191.128.47

Name:    www.alternic.nic
Address:  206.191.128.47
A Alternic utiliza domínios de topo com três letras para os países (por exemplo, jpn para Japão e ger para a Alemanha) e possui um grande número de domínios de topo orientados para as empresas comerciais. Nesta altura os únicos domínios com empresas em número significativo são porno e xxx.

Um servidor normal de nomes apenas pode lidar com endereços Alternic se eles já se encontrarem na respectiva cache. A maior parte das implementações DNS que possuem uma lista de root servers consultam-nas em ordem aleatória ou consultam de uma forma consistente a primeira da lista. Incluir um dos servidores Alternic na lista de root servers não permite uma resolução consistente de endereços em ambas as hierarquias.

Configuração de servidores DNS

Vamos agora ver a configuração dos ficheiros relativos a um servidor DNS (BIND - Berkeley Internet Name Domain) num computador UNIX:

/etc/svc.conf

hosts=local,bind

/etc/resolv.conf

Exemplo de um ficheiro
resolv.conf.

Nome do domínio

Endereço IP de pelo menos um servidor de nomes

;
domain fe.up.pt
nameserver 193.136.28.17

Named.boot

Tipo de servidor, Zona, dados

;
; BIND data file to boot a primary name server.
; directory where all the data files are stored
directory       /var/dns
domain          fe.up.pt
; type             domain                source host/file
primary         fe.up.pt                hosts.db

;
primary         0.0.127.in-addr.arpa    named.local
primary         28.136.193.in-addr.arpa rev.193.136.38
primary         28.136.193.in-addr.arpa rev.193.136.29

Named.local

Local Host address, Start of Authority (SOA)

@       IN      SOA     obelix.fe.up.pt.        cnet.obelix.fe.up.pt. (
                     19971101 ; Serial
                      28800    ; Refresh
                      7200     ; Retry
                      604800   ; Expire
                      86400 )  ; Minimum
        IN      NS       obelix.fe.up.pt.
        IN      NS       korky.fe.up.pt.
1      IN      PTR     localhost.
localhost.      IN      A       127.0.0.1

Named.ca

Top domain name servers

               999999  IN      NS      ciup1.ncc.up.pt.; closest
               999999  IN      NS      terp.umd.edu.   
               999999  IN      NS      ns.nic.ddn.mil.
; Prep the cache (hotwire the addresses).  Order does not matter
;
ciup1.ncc.up.pt.        999999  IN      A           193.136.51.52
terp.umd.edu.           999999  IN      A           128.8.10.90
ns.nic.ddn.mil.         999999  IN      A           192.112.36.4

Hosts.db

$ORIGIN fe.up.pt.
@               IN      SOA     obelix.fe.up.pt. cnet.obelix.fe.up.pt. (
                        	 19971106; Serial
                            28800   ; Refresh depois de 8 horas
                            7200    ; Retry depois de 2 horas
                            604800  ; Expire depois de 1 semana
                            86400 ) ; Minimum TTL de 1 dia
; Name servers
fe.up.pt.               IN      NS              obelix.fe.up.pt. ; Mail exchangers
; Mail Exchangers
fe.up.pt.               IN      MX 10           garfield.fe.up.pt.
spirou                  IN      A                    193.136.38.38
                            IN      HINFO           Pentium W95

Hosts.rev

; Data file for reverse address to hostname.
;
38.136.193.in-addr.arpa. IN     SOA     obelix.fe.up.pt. cnet.obelix.fe.up.pt. (
                        19971106; Serial
                        28800   ; Refresh
                        7200    ; Retry
                        604800  ; Expires
                        86400 ) ; Minimum
38.136.193.in-addr.arpa.           IN      NS      obelix.fe.up.pt.
38.38.136.193.in-addr.arpa.      IN      PTR     spirou.fe.up.pt.

RFCs

O sistema actual de registos de nomes de domínios

Cerca de 69% dos registos dos nomes de domínios são realizados através da Network Solutions, Inc de Herndon, Virginia. Isto pode ser uma surpresa para muita gente que pensava que a NSI possuía o monopólio do registo de nomes de domínios. Na realidade, a NSI apenas é responsável de cinco domínios de topo: .com, .net, .org, .edu e .gov.

O TLD (Top-Level Domain) é o mais popular com mais de 58% de todos os nomes de domínios no mundo. Por isso pode demorar algum tempo a encontrar um domínio livre no TLD .com. A base de dados whois localizada no site da InterNIC pode fornecer-lhe a informação se um determinado domínio já foi registado, e a quem é que pertence.

Poderá então querer telefonar ao "proprietário"e comprar o direito de utilizar o seu nome de domínio favorito. Ou talvez seja melhor tomar uma atitude mais sensata e escolher um nome disponível. Ou ainda processar o "proprietário" actual, dado que está a violar a sua marca registada. Como esse proprietário não possuirá muito dinheiro, pode processar a NSI por permitir a utilização de uma marca registada. Nos Estados Unidos este problema tem o nome de "contributory (trademark) infringement" e é o medo a este tipo de acções em tribunal que levou a NSI a implementar a Domain Name Dispute Policy.

Basicamente, pode registar qualquer nome de domínio. Ao fazê-lo garante que tem o direito legal de utilizar o nome em causa. Mas se alguém apresentar à NSI o registo de marca (em qualquer nação do mundo), terá um grande problema. Poderá perder o seu nome de domínio e a identidade de empresa que construiu na Internet.

Mas manterá o domínio se poder provar que registou o nome antes de:18:40 10/05/1998

a) da data que o queixoso utilizou pela primeira vez a marca registada;

b) da data efectiva do registo da marca pelo queixoso;

A NSI limita-se a verificar estes registos. Mas se isso não for suficiente para o acusado libertar o domínio, a NSI pede-lhe que forneça a prova da respectiva marca registada que tem de sem idêntica ao domínio de segundo nível que o acusado registou. Por exemplo, no caso do domínio sonae.com o acusado teria de provar que era o detentor da marca sonae. O registo da marca tem de ser anterior à acção em tribunal do queixoso.

Se não conseguir fornecer esta prova, a NSI oferece-lhe 90 dias para alterar o seu nome de domínio. Fazemlhe a atribuição de um novo nome e mantêm ambos os nomes de domínios durante 90 dias para facilitar a transferência.

Tem 30 dias para libertar o nome de domínio ou para aceitar a oferta de um novo nome. Se recusar a oferta, ou não fizer nada, a NSI coloca o nome de domínio em disputa no estado de hold em que ninguém o pode utilizar. Este procedimento tem irritado os possuidores de nomes de domínios porque pensam que a NSI não deveria fazer nada até que recebesse uma ordem de um tribunal.

Contudo, se qualquer uma das partes envolvidas intenta uma acção contra a outra parte num tribunal competente dos Estados Unidos, a NSI não coloca o domínio em causa em hold, ou não reactiva um domínio que já esteja em hold. A NSI depositará então nas mãos do tribunal o controlo do nome de domínio, lavando assim as suas próprias mãos. O tribunal pode decidir colocar imediatamente o nome em hold, deixá-lo activo até o caso ser resolvido, ou tomar qualquer outra decisão em relação ao nome de domínio. A NSI apenas obedecerá às ordens do tribunal.

O novo sistema

O novo sistema prevê a criação de até 150 novos iTLD (International Top-Level Domains) ao longo dos próximos 5 anos. Actualmente existem três iTLDs (.com, .net e .org) delegados pela IANA ao InterNIC.

Os 239 TLDs nacionais (.pt, .ge, .uk, .fr,...) permanecerão tal como estão nas mãos das entidades dos respectivos países. O mesmo acontecerá com os domínios .mil e .gov pertencentes ao governo americano e com os domínios .edu e .int.

Serão licenciados pela IANA novas entidades para o registo e administração dos novos iTLDs. Estas entidades terão um funcionamento semelhante ao da NSI, sendo responsáveis pela criação de nomes de domínios de segundo nível dentro dos TLD que terão disponíveis, e poderão cobrar a quantia que bem lhes apetecer. Cada entidade só poderá gerir no máximo 3 novos TLDs. A intenção deste sistema é semelhante ao licenciamento de estações de rádio em alguns países. Cada entidade recebe uma licença de 5 anos que poderá ser renovada pela IANA segundo determinados critérios.

Os servidores de registros DNS aprovados passariam a ser os servidores DNS autoritários de topo para os TLDs que essas entidades administram. Os nomes desse servidores TLD e respectivos endereços IP seriam adicionados às bases de dados DNS dos root servers. Isso permitiria que os nomes dos domínios destas novas entidades ficassem disponíveis para todos os servidores DNS do mundo.

Entidades registadoras nacionais

Tal como foi mencionado anteriormente, existem 239 entidades registadoras nacionais. A cada uma é atribuído um TLD baseado nos códigos de países de dois caracteres definidos pelo documento ISO-3166 da International Standards Organization. Estes registos são completamente diferentes dos da InterNIC, não sendo administrados pelo NSI mas pelas organizações certificadas por cada país. Cada uma dessas entidades tem as suas próprias políticas de registo de nomes de domínios. A maior parte delas requer que a entidade que se candidata a um nome de domínio esteja baseada no país em causa ou que pelo menos lá tenha alguma presença física.

Por exemplo, a entidade americana é o The US Domain Registry localizado no Information Sciences Institute da University of Southern California (USC-ISI) em Marina del Rey, California, e está debaixo da autoridade da IANA. Qualquer computador fisicamente localizado nos Estados Unidos pode ser registado no domínio .us. Alguns computadores localizados no estrangeiro podem ser registados nesse domínio se estiverem a ser utilizados em conjunto com projectos americanos. Não é cobrada nenhuma quantia pelo registo de domínios.

O domínio .us utiliza uma arquitectura hierárquica domínio/sub-domínio baseada na localização geográfica, e que incorpora a cidade e o estado. Um exemplo é boardwatch.newark.ny.us.

 


© Maio 1998, Pedro Remoaldo.