sábado, 21 de janeiro de 2012

O que é DNS (Domain Name System)?



Introdução
Você certamente sabe que a internet possui uma infinidade de sites. Para acessá-los, você normalmente digita um endereço no campo correspondente do seu navegador, por exemplo, www.google.com.br, www.youtube.com ou www.tecnosolution.blogspot.com Mas, você tem ideia de como o computador consegue localizar estes sites, independente de onde estejam hospedados? É neste ponto que "entra em cena" o trabalho de servidores do tipo DNS (Domain Name System). Neste artigo, você saberá o que é isso, entenderá como o DNS funciona e conhecerá conceitos relacionados, como DNSSEC.

Nomes de domínio


Todo site ou serviço na internet precisa de um endereço IP (seja ela IPv4 ou IPv6). Com este recurso, é possível localizar o servidor (ou o conjunto de servidores) que hospeda o site e, assim, acessar as suas páginas. Na ocasião de escrita deste artigo, o IP do tecnosolution  era 74.125.45.132.

Pois bem. Tente decorar este número. Decorou? Parabéns! Agora, aguarde alguns minutos e tente se lembrar novamente deste endereço IP. Difícil, né? Agora, imagine ter que se lembrar dos IPs de todos os sites que você acessa diariamente, como Facebook, Twitter, e-mail, portais de notícias, etc. Pois é, praticamente impossível e nada prático, não é mesmo?

É basicamente por isso que utilizamos nomes de domínios para acessar os sites da internet. Com isso, o usuário não precisa saber, por exemplo, o endereço IP do tecnosolution para acessá-lo, basta saber o seu domínio, no caso, www.tecnosolution.blogspot.com. Trata-se de um esquema bastante prático, afinal, decorar nomes é muito mais fácil do que guardar sequências numéricas. Além disso, mesmo que você não se lembre de um nome com exatidão, poderá digitá-lo em um mecanismo de busca e este o ajudará a encontrá-lo.
A questão é que, apesar do uso de domínios, os sites ainda precisam dos endereços IP, afinal, os nomes foram criados para facilitar a compreensão humana, não a dos computadores. E cabe ao DNS o trabalho de relacionar um domínio aos IPs.


Servidores de DNS (Domain Name System)

Os serviços de DNS (Domain Name System - Sistema de Nomes de Domínios) da internet são, em poucas palavras, grandes bancos de dados espalhados em servidores localizados em várias partes mundo. Quando você digita um endereço em seu navegador, como www.tecnosolution.blogspot.com, seu computador solicita aos servidores de DNS de seu provedor de internet (ou outros que você tenha especificado) que encontre o endereço IP associado ao referido domínio. Caso estes servidores não tenham esta informação, eles se comunicam com outros que possam ter.
Ajuda neste trabalho o fato de os domínios serem organizados hierarquicamente. Primeiramente temos o servidor raiz (root server), que pode ser entendido como o principal serviço de DNS e é representado por um ponto no final do endereço, como mostra o seguinte exemplo:


Repare que se você digitar o endereço exatamente como está acima - com ponto no final - em seu navegador, o programa encontrará o site normalmente. No entanto, não é necessário incluir este ponto, já que os servidores envolvidos já sabem de sua existência.
A internet conta (pelo menos até a data de publicação deste texto) com treze servidores raiz, sendo que dez se localizam nos Estados Unidos, dois na Europa (Estocolmo e Amsterdam) e um na Ásia (Tóquio). Quando uma falha, os demais conseguem manter o funcionamento da rede sem maiores complicações.
A hierarquia é seguida com domínios que conhecemos bastante, como .com, .net, .org, .info, .edu, .br, .me e várias outros. Estas são chamadas de gTLDs (Generic Top Level Domains - algo como Domínios Genéricos de Primeiro Nível).
Há também terminações orientadas a países, chamadas de ccTLDs (Country Code Top Level Domains - algo como Código de País para Domínios de Primeiro Nível). Por exemplo: .br para o Brasil, .ar para a Argentina, .fr para a França e assim por diante. Há combinações também, como .com.br e .blog.br.

Depois, aparecem os nomes que empresas e pessoas podem registrar com estes domínios, como a palavra tecnosolution ou google em google.com.br.



Com a hierarquia, descobrir qual IP e, consequentemente, qual servidor está associado a um domínio - processo chamado de resolução de nome - fica mais fácil, já que este modo de funcionamento permite um esquema de trabalho distribuído, onde cada nível da hierarquia conta com serviços específicos de DNS.
Para entender melhor, veja este exemplo: suponha que você queira visitar o blog www.tecnosolution.blogspot.com Para isso, o serviço de DNS do seu provedor (ou outro que você especificar) tentará descobrir se sabe como localizar o referido blog. Caso negativo, primeiramente consultará o servidor raiz. Este, por sua vez, indicará o servidor de DNS da terminação .com, que continuará o processo até chegar ao servidor que responde pelo domínio tecnosolution.blogspot.com, que finalmente informará o IP associado, ou seja, em qual servidor está o blog em questão.

Os servidores de DNS que respondem por determinados domínios são chamados de autoritativos. Já os serviços responsáveis por receber consultas de DNS de máquinas clientes e tentar obter respostas com servidores externos são chamado de recursivos.

Perceba, na ilustração, o esquema de distribuição: servidores de DNS apontam para o outro, até que o destino seja encontrado. No caso do servidor raiz, este possui meramente uma relação dos serviços de DNS responsáveis pelos domínios gTLD e ccTLD, sendo que estes se encarregam de dar sequência ao procedimento.

Os domínios gTLD e ccTLD são administrados por entidades diferentes, que respondem também por seus servidores de DNS. Por exemplo: a terminação .br é controlada pela Registro.br.

Cache de DNS
Suponha que você tenha visitado um site que nunca tenha sido resolvido pelo serviço de DNS de seu provedor, de forma que este tenha que consultar outros servidores de DNS (por meio do já mencionado esquema de pesquisa hierárquica). Para evitar que essa pesquisa tenha que ser feita novamente quando outro usuário do provedor tentar acessar o mesmo site, o serviço de DNS pode guardar a informação da primeira consulta por algum tempo. Assim, em outra solicitação igual, o servidor já saberá qual o IP associado ao site em questão. Este procedimento é conhecido como cache de DNS.
No início, o cache de DNS somente guardava dados de consultas positivas, isto é, de quando um site é encontrado. No entanto, os serviços de DNS também passaram a guardar resultados negativos, de sites não existentes ou não localizados, como quando digitamos um endereço errado, por exemplo.

As informações do cache são armazenadas por um determinado período de tempo por meio de um parâmetro conhecido como TTL (Time to Live). Este é utilizada para evitar que as informações gravadas se tornem desatualizadas. O período de tempo do TTL varia conforme as configurações determinadas para o servidor.
Graças a isso, o trabalho dos serviços de DNS dos servidores raiz e dos demais subsequentes é minimizado.

DNSSEC

Neste ponto, você já sabe que os servidores de DNS têm papel importantíssimo na internet. O problema é que o DNS também pode ser "vítima" de ações maliciosas.
Imagine, por exemplo, que um indivíduo com grande conhecimento no assunto elaborou um esquema para conseguir capturar solicitações de resolução de nomes de clientes de um determinado provedor. Ao ter sucesso com isso, ele pode tentar direcionar um endereço falso no lugar de um site que um usuário queira visitar. Perceba o risco: se o usuário não perceber que foi direcionado para uma página falsa, poderá fornecer dados sigilosos, como número de cartão de crédito.
Para evitar problemas como estes é que foi criado o DNSSEC (DNS Security Extensions), que consiste em uma especificação que adiciona recursos de segurança ao DNS.
O DNSSEC considera, essencialmente, os aspectos de autenticidade e integridade dos procedimentos envolvendo DNS. Mas, ao contrário do que algumas pessoas pensam inicialmente, não pode prover proteção contra invasões ou ataques DoS, por exemplo, embora possa ajudar, de certa forma.
Basicamente, o DNSSEC utiliza um esquema que envolve chaves públicas e privadas, que é explicado neste artigo sobre assinaturas e certificados digitais. Com isso, é possível ter certeza de que os servidores corretos estão respondendo às pesquisas de DNS.
A implementação do DNSSEC deve ser feita pelas entidades responsáveis pela administração dos domínios, motivo pelo qual este recurso ainda não é utilizado de maneira plena. Felizmente, em relação ao Brasil, o país foi um dos primeiros  a lidar com isso ao implementar o DNS em endereços .br, sendo que, na época da publicação deste texto, esta proteção era obrigatória nos domínios .jus.br e .b.br (terminação destinada a bancos).
Para saber mais sobre DNSSEC em domínios brasileiros, visite a página registro.br/suporte/tutoriais/dnssec.html.

Finalizando


A utilização do DNS não se limita à internet. Este recurso pode (e é) utilizado em redes locais ou extranets, por exemplo. Sua implementação pode ser feita em praticamente qualquer sistema operacional, sendo muito usual nas plataformas baseadas em Unix e no Windows. A ferramenta mais conhecida para DNS é o BIND, que é mantido pela Internet Systems Consortium.
Isso deixa claro que o assunto é mais complexo, por isso, você pode consultar os seguintes links, caso queira saber mais sobre DNS (links em inglês):



  • www.ripe.net/lir-services/training/e-learning/dnssec/dns-basics;
  • www.zytrax.com/books/dns;
  • www.microsoft.com/dns.


  • Créditosinfowester.com



    Seja o primeiro a comentar

    Postar um comentário

    Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online

    Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online
    Cidade: Paracatu/MG - Gênero: Popular

    Chuck Norris Aprova Tecnosolution!


    NOTÍCIAS TI

    Ajude a divulgar nosso blog!


    Total de visualizações de página

    Usuários Online

    Usuários online

      ©TECNOSOLUTION - Todos os direitos reservados.

    Template by Dicas Blogger | Topo