DNS: o que é e como funciona

Publicados: 2014-08-14

O Domain Name System, ou DNS, é um dos fundamentos mais importantes da internet. Ele é responsável por nossa capacidade de nos conectarmos a servidores sem ter que lembrar de sequências de números longas e complicadas. Como designer ou desenvolvedor, é importante entender o que é o DNS, como funciona e como usá-lo.

O que é DNS?

Arpanet_logical_map_march_1977

Diagrama de cada computador conectado à ARPANET, um antecessor da Internet, em março de 1977

Na década de 1970, havia tão poucos computadores conectados em rede que todos podiam facilmente manter uma lista manual de todos os outros computadores. Nos dias da ARPANET (uma antecessora da internet), se um novo computador fosse comprado e adicionado à rede, o proprietário apenas diria a todos os outros na ARPANET, que apenas adicionariam esse novo computador à sua lista. Esse sistema funcionava bem quando havia apenas algumas dezenas de computadores conectados, mas rapidamente se degradava à medida que a computação se tornava mais barata e mais acessível ao público. Nos termos de hoje, isso seria como ter que notificar o mundo inteiro sempre que um novo site ou serviço fosse lançado.

No início dos anos 80, o DNS foi criado para resolver esse problema, mantendo uma lista oficial de domínios e para quais computadores eles são apontados. Mas como, exatamente, é que isso funciona? Em termos técnicos, o DNS é um sistema usado por quase todos os dispositivos habilitados para rede para resolver nomes de domínio com endereços IP associados. Pense nisso como a lista telefônica da internet.

Quando você digita um endereço da web como http://www.getflywheel.com em seu navegador da web, seu computador não sabe automaticamente para onde ir. Ele requer um endereço IP para se conectar, mas você forneceu um nome de domínio, que é apenas uma sequência de letras. Os domínios tornam muito mais fácil para os humanos lembrarem onde os sites estão localizados, mas não são o que um computador precisa para fazer uma conexão. Em vez disso, seu computador entra em contato com um servidor DNS e solicita o endereço IP desse site. O servidor DNS responde e informa ao seu computador “http://www.getflywheel.com está localizado em 192.241.128.208.” Seu computador pega esse endereço IP do servidor DNS e o usa para se conectar ao endereço IP, que por sua vez traz o site do Flywheel.

DNS_Rquest

Como os registros DNS são gerenciados e definidos?

O DNS é definido por meio de registros DNS, que contêm informações como para qual endereço IP um domínio deve apontar, subdomínios, configurações de e-mail e até mesmo texto arbitrário. Depois que um domínio é adquirido, o proprietário especifica servidores de nomes autorizados para o domínio. Esses servidores de nomes controlam os registros DNS do domínio, que são capturados por outros servidores DNS e propagados por toda a Internet. Geralmente, se você estiver configurando seus próprios registros DNS, saberá o endereço IP do seu site. Por exemplo, o Flywheel fornecerá um endereço IP para o qual você pode apontar um registro de nome A.

Existem muitos milhares de servidores DNS em todo o mundo, e todos eles são sincronizados para manter um registro de onde tudo está. No entanto, nem todos os servidores DNS são criados iguais.

Entender como o DNS funciona é ótimo. Precisa colocar em prática? Confira nosso incrível e-book gratuito sobre os registros DNS mais comuns e como usá-los.

A estrutura dos servidores DNS parece uma árvore de cabeça para baixo. Existem 13 servidores raiz ou mestres que formam o tronco dessa árvore. Eles são a cópia mestre final do DNS. Todos os dados DNS devem vir de um servidor raiz ou de um servidor que tenha contatado anteriormente um servidor raiz e obtido os dados. Os servidores raiz compõem o que é chamado de zona raiz , ou a zona DNS mais autoritária.

Após a zona raiz, existem subzonas contendo domínios. Cada domínio de nível superior tem seu próprio registro de zona, que é dividido em domínios individuais, como http://www.getflywheel.com, que são chamados de domínios de segundo nível.

Isso está ficando um pouco técnico, então vamos olhar para isso da perspectiva da nossa analogia com a árvore. Com a zona raiz formando o tronco, cada domínio de nível superior, como .com ou .org, é uma ramificação desse tronco. Cada site, como getflywheel.com, é uma folha saindo desse galho. Essa folha minúscula é a área na qual um proprietário de domínio tem controle de DNS. Cada ramificação seria um servidor de nomes individual, mantendo o controle das ramificações e folhas que derivam dele.

Assim, quando um computador solicita getflywheel.com, ele primeiro entra em contato com um servidor raiz, que diz: “Você está procurando um site .com. Vá falar com o servidor de nomes .com, que está localizado aqui.” Em seguida, seu computador retorna na cadeia ao servidor de nomes responsável por .com e solicita mais detalhes. Seu computador entra em contato com os servidores até que finalmente encontre o servidor de nomes especificado pelo proprietário do domínio. Em seguida, ele descobre o endereço IP associado ao site e o acessa. Seu computador percorre a árvore de servidores pelas ramificações até finalmente alcançar a folha que contém o destino final.

Hierarquia raiz DNS

Observação: embora existam oficialmente 13 servidores DNS raiz, todos, exceto dois, são vinculados separadamente e distribuídos para dezenas de servidores idênticos por meio de uma tecnologia de roteamento chamada anycast . Anycast permite que vários nós existam como a mesma entidade. Quando um dispositivo se conecta a essa entidade, ele se conecta ao nó disponível mais próximo na rede (isso é diferente de geocast , que é usado em CDNs, por exemplo, onde um dispositivo se conecta ao servidor geográfico mais próximo). O Anycast permite que os servidores raiz sejam multiplicados e distribuídos em todo o mundo, equilibrando a carga, acelerando os tempos de resposta e evitando pontos únicos de falha.

Toda essa cadeia de contato com o servidor parece bastante complicada e desgastante para ter que fazer toda vez que você quiser visitar um site. Felizmente, o DNS é fortemente armazenado em cache, o que significa que as cópias são frequentemente salvas em computadores mais próximos de você, retirando a carga dos servidores raiz e tornando suas consultas carregadas mais rapidamente. Muitos ISPs, empresas, universidades e até mesmo seu próprio computador manterão caches de consultas DNS recentes. Se você estiver procurando, digamos, google.com, é provável que seu computador já tenha o endereço IP armazenado. Mas se você estiver procurando por um site que nunca visitou, é possível que outra pessoa em sua vizinhança ou empresa já tenha estado lá, e a consulta e as informações são armazenadas apenas no servidor DNS do seu ISP.

Sem o DNS, cada um de nós teria que lembrar ou anotar o endereço IP de cada site e computador que gostaríamos de visitar. Felizmente, o DNS é uma peça de engenharia incrivelmente resiliente, confiável e impressionante, mantendo o controle de todos os nossos sites e nossas comunicações para que não precisemos.