Como os servidores DNS funcionam?

14

Eu sei que um nome de domínio é resolvido por um servidor DNS para um endereço IP, que é usado para acessar o servidor solicitado. Estou um pouco envergonhado por não conhecer alguns detalhes de como isso funciona.

  • Para que meu computador solicite ao serviço DNS que resolva um domínio, o servidor DNS deve ser conhecido pelo meu computador. Eu nunca disse explicitamente ao meu computador sobre servidores DNS, então como ele sabe qual servidor DNS deve usar? É o ISP que envia essas informações para o meu computador de alguma forma?

  • Nesse caso, onde estão localizados esses servidores DNS? Meu ISP possui alguns servidores DNS em execução em algum lugar que são usados ​​por todos os seus clientes (ISP's)?

  • O servidor DNS que meu computador usa deve conhecer todos os domínios para poder resolvê-los. Como os registros são atualizados / mantidos?

  • Existe alguma entidade / registro / ... central que alimenta as alterações de um servidor DNS que ocorreram?

  • Se eu pedir um nome de domínio em algum lugar, o vendedor precisará estabelecer uma conexão entre um endereço IP e o nome de domínio que ele me vendeu. Como são atualizados todos os servidores DNS para saber sobre este link? Em outras palavras, que ações o vendedor toma para informar "a Internet" para onde esse domínio aponta agora?

Sei que isso parece um monte de perguntas, mas acho que são apenas aspectos diferentes da mesma história. Alguém pode me dizer como tudo isso funciona juntos?

Asciiom
fonte

Respostas:

15

Seu computador possui uma lista de servidores DNS que podem ser consultados para obter mais informações. Em um sistema unix ou linux, isso é armazenado em /etc/resolv.conf. No Windows, é configurável nas suas configurações de rede. Freqüentemente, seu servidor DNS será fornecido pelo servidor DHCP, possivelmente junto com outras configurações, como domínio padrão, servidores proxy etc.

A localização do servidor DNS que você usa não importa muito. Desde que o seu computador tenha um endereço IP e uma rota padrão que funcione (por exemplo, você pode pingo servidor DNS), você poderá fazer consultas DNS.

Os servidores DNS não precisam conhecer "todos" os domínios. Eles só precisam saber quem é "autoritário", o que ele aprende em um conjunto de servidores "raiz". Cada servidor DNS possui uma lista de servidores "raiz" e essa lista é alterada com pouca frequência. Em um dos meus servidores DNS, há 18 servidores raiz configurados, e essa configuração ocorreu quando eu instalei o servidor DNS, há dois anos. Se a lista de servidores raiz mudou desde então, é possível acessar um número suficiente deles que eu não tenho percebi isso.

Meu servidor DNS, quando solicitado a resolver um domínio que não conhece, faz uma consulta a um servidor raiz para descobrir qual outro servidor DNS é autoritário para o domínio. A resposta obtida pode conter registros "NS" adicionais e ser marcada como não autoritativa; nesse caso, meu servidor DNS sabe que precisa "seguir a cadeia" e fazer uma nova consulta para um novo servidor. Eventualmente, ele encontra um servidor DNS que fornece informações autorizadas e podem ser feitas consultas que não são apenas registros NS. A (endereço) e MX (troca de correio) são obviamente os dois mais comuns.

Cada TLD (domínio de nível superior), como COM, NET, ORG, CA, UK, etc, mantém seu próprio registro de subdomínios. (Um "subdomínio" é qualquer domínio dentro de outro domínio; portanto, "example.com" é um subdomínio dentro de "com" e "com" é mesmo um subdomínio dentro de ".", A "raiz".) As regras para cada registro aplicam-se apenas ao TLD que administra - ou seja, há um conjunto de critérios completamente diferente para cada TLD com código de país, e os TLDs "genéricos" são administrados por diferentes organizações com políticas diferentes. Mas todos eles mantêm servidores DNS para seu TLD, que, a partir de uma linha de comando, você pode ver usando as ferramentas básicas de consulta DNS:

[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$ 

Quando você compra um domínio de um registrador (dos quais existem muitos), esse registrador envia informações sobre o domínio ao registro (dos quais existe apenas um por TLD). É responsabilidade de cada registro manter a lista de domínios registrados em seu TLD e manter os servidores DNS que fornecem essas informações a outros servidores.

ghoti
fonte
-1

O trabalho do servidor DNS como protocolo é um conjunto de regras para a troca de dados na Internet em redes privadas, como o protocolo TCP / IP. Simplesmente transforma o domínio amigável em protocolo da Internet. Pode ser qualquer nome de domínio adquirido pelo proprietário do site de qualquer provedor de domínio confiável, como domainia ou outro. Vamos dar o exemplo de um domínio como "myweb.com", que por sua vez será convertido em IP como 71.12.252.1, que permitirá que o computador seja reconhecido pela rede.

adrienne hansen
fonte
1
Sinto muito, mas sua postagem é muito difícil de entender. Você poderia, por favor, reformular a frase e prestar mais atenção ao significado das palavras? Então alguém provavelmente poderia ajudar a polir o texto, corrigindo pequenos erros.
Pabouk