Sistemas de Domínio de Referência


Um software de rede geralmente precisa de um endereço Internet de 32 bits para abrir uma conexão ou enviar um datagrama. No entanto os usuários preferem lidar com nomes de computadores do que com números. Desta forma existe uma base de dados que permite que o software encontre o número correspondente a um determinado nome.

Quando a Internet era pequena isso era fácil. Cada sistema tinha um arquivo que listava todos os outros sistemas, informando tanto os seus nomes quanto os seus números. Hoje há tantos computadores que esta solução tornou-se impraticável. Assim estes arquivos foram substituídos por um conjunto de servidores de nomes que armazenam os nomes de hosts e seus correspondentes endereços Internet. (Na verdade estes servidores são algo mais geral do que isto. Este é somente um tipo de informação armazenado no sistema de domínio). Note que um cojunto de servidores entrelaçados são usados, ao invés de um único e central.

Há agora tantas instituições ligadas a Internet que seria impraticável notificar uma autoridade central sempre que se instale ou mova um computador. Assim a autoridade de nomeação é delegada a instituições individuais.

O servidor de nomes forma uma árvore, correspondente a estrutura a instituição. Os próprios nomes seguem uma estrutura similar.

Um exemplo típico é o nome BORAX.LCS.MIT.EDU. Este é um computador do Laboratory for Computer Science (LCS) na MIT. Para encontrar o seu endereço Internet, você potencialmente deverá consultar 4 diferentes servidores. Primeiramente, você perguntaria a um servidor central (chamado root) onde está o servidor EDU. EDU é o servidor responsável por instituições educacionais. O servidor root lhe daria os nomes e endereços Internet de diversos servidores para EDU. (Há diversos servidores para cada nível, para permitir a possibilidade de um ou mais estarem fora (down). Você então pode perguntar ao servidor EDU onde está o servidor MIT.

Novamente, ele lhe daria nomes e endereços Internet de diversos servidores para MIT. Geralmente, nem todos esses servidores estariam em MIT, para permitir a possibilidade de uma falha geral em MIT. Então você perguntaria a MIT onde está o servidor LCS, e finalmente você perguntaria a um dos servidores LCS sobre o servidor BORAX. O resultado final seria o endereço Internet para BORAX.LCS.MIT.EDU.

Cada um desses níveis é referenciado como um domínio(domain). O nome inteiro, BORAX.LCS.MIT.EDU, é chamado de nome do domínio (domain name). (Assim são os nomes dos domínios de alto nível, tais como LCS.MIT.EDU, MIT.EDU e EDU).

Felizmente, muitas vezes você não precisa percorrer todo esse caminho. Primeiro, no servidor de nomes root pode acontecer de estarem servidores de nomes de domínios de nível mais alto, tal como o EDU. Assim uma única consulta ao servidor root poderá levá-lo ao MIT. Segundo, o software geralmente lembra de perguntas feitas anteriormente. Assim uma vez que nós procuramos um nome em LCS.MIT.EDU, nosso software lembra onde encontrar servidores para LCS.MIT.EDU, MIT.EDU e EDU. Ele também lembra a tradução de BORAX.LCS.MIT.EDU. Cada uma dessas peças de informação são associadas a um tempo de vida, tipicamente de alguns dias. Decorrido esse tempo, as infomações expiram e têm que ser procuradas novamente. Isto permite que as instituições façam alterações.

O sistema de domínio não é limitado a encontrar endereços Internet. Cada nome de domínio é um nó em uma base de dados. O nó pode ter registros que definem um número de diferentes propriedades. Exemplos são endereços Internet, tipo do computador, e uma lista de serviços providos pelo computador. Um programa pode perguntar por uma específica peça de informação, ou todas as informações sobre um dado nome. É possível que um nó na base de dados seja marcada como um "alias" ( nickname) para outro nó. É também possível usar o sistema de domínio para armazenar informações sobre usuários, lista de endereços, ou outros objetos.

Há um padrão Internet definindo a operação dessas bases de dados, assim como os protocolos usados para fazer consultas nelas. Todo utilitário de rede tem que ser capaz de fazer tais consultas, desde que esta é agora a maneira oficial de avaliar nomes de hosts. Geralmente os utilitários irão conversar com um servidor no seu próprio sistema. Este servidor irá cuidar de contactar os outros servidores.Isto modera a quantidade de código que deve estar em cada programa de aplicação.

O sistema de domínio é particularmente importante para manipular correio eletrônico. Há tipos de entradas para definir qual computador manipula correio eletrônico para um determinado nome, para especificar onde um indivíduo deve receber correio eletrônico, e para definir listas de endereços.

Veja os RFCs 882, 883, e 973 para especificações do sistema de domínio. RFC 974 define o uso do sistema de domínio no envio de correio eletrônico


texto original