Você está na página 1de 8

Como funcionam os servidores de domnio (DNS)

por Marshall Brain - traduzido por HowStuffWorks Brasil

Introduo Se voc gasta algum tempo na internet mandando e-mails ou navegando pela web, est utilizando servidores de domnios sem mesmo perceber. Os servidores de domnio, ou DNS, apesar de completamente ocultos, tm uma importncia incrvel e so fascinantes. O sistema DNS forma uma das maiores, mais ativas e mais distribudas bases de dados do planeta. Sem o DNS, a internet acabaria rapidamente. Neste artigo, veremos como funciona o sistema DNS para que voc avalie suas incrveis habilidades. Quando voc navega na internet ou manda uma mensagem de e-mail, voc estar utilizando um nome de domnio. Por exemplo, a URL "http://www.hsw.com.br" contm o nome de domnio howstuffworks.com. Assim como o endereo de e-mail "iknow@howstuffworks.com." Nomes como howstuffworks.com, so facilmente lembrados pelas pessoas, mas no ajudam em nada as mquinas. Todas elas usam endereos de IP para se referirem umas s outras. A mquina a que as pessoas se referem como "www.hsw.com.br", por exemplo, possui o endereo de IP 216.183.103.150. Toda vez que se usa um nome de domnio, os servidores de domnios da internet (DNS) estaro traduzindo os nomes de domnio legveis em endereos de IP reconhecidos pelas mquinas. Durante um dia de navegao e envio de e-mails, os servidores de domnios podem ser acessados inmeras vezes. Os servidores de domnios traduzem nomes de domnios em endereos de IP. Isto parece uma tarefa simples, e seria, exceto por cinco razes: Atualmente existem bilhes de endereos de IP em uso e a grande maioria das mquinas possui um nome legvel associado. Alguns bilhes de requisies so feitas ao DNS todos os dias. Uma nica pessoa pode fazer vrias requisies em apenas um dia e existem muitas pessoas e mquinas usando a internet diariamente. Nomes de domnio e endereos de IP mudam diariamente. Novos nomes de domnio so criados todos os dias. Milhes de pessoas trabalham na mudana e no acrscimo de nomes de domnio e endereos de IP constantemente. O sistema DNS uma base de dados, e nenhuma outra em todo o globo recebe tantas requisies. a nica, tambm, modificada por milhes de pessoas todos os dias. Isso o que faz o sistema DNS to singular.

Endereos de IP Para manter todas as mquinas da internet em perfeito funcionamento, cada uma delas associada a um nico endereo chamado endereo de IP. IP significa protocolo de internet, e um nmero de 32 bits normalmente apresentado como quatro octetos em um nmero decimal pontuado. Um endereo de IP comum se parece com esse:
216.183.103.150

Os quatro nmeros em um endereo de IP so chamados de octetos por possurem valores entre 0 e 256 (28 possibilidades por octeto).

Toda mquina na internet possui seu prprio endereo de IP. Um servidor tem um endereo de IP esttico, que raramente muda. Uma mquina domstica, que se conecta atravs de um modem muitas vezes possui um endereo de IP designado pelo provedor no momento da conexo. Este endereo de IP nico a cada sesso e pode mudar na prxima vez que houver uma conexo. Considerando isto, um provedor precisa apenas de um endereo de IP para cada modem que d suporte, ao invs de um para cada cliente. Se estiver trabalhando com uma mquina que utilize o sistema operacional Windows, voc pode visualizar seu endereo de IP corrente com o comando WINIPCFG.EXE (IPCONFIG.EXE para Windows 2000/XP). Para o sistema UNIX, digite nslookup juntamente com o nome de sua mquina (como, por exemplo, "nslookup www.hsw.com.br") para visualizar o endereo de IP desta (use o comando hostname para descobrir o nome de sua mquina). Para mais informaes sobre endereos de IP, veja o site da agncia reguladora (em ingls). Para que as mquinas acessem a internet, necessrio apenas um endereo de IP para se conectar a um servidor. Voc poderia digitar em seu browser, por exemplo, a URL http://216.183.103.150 e alcanaria a mquina que contm o servidor do HowStuffWorks. Nomes de domnio so estritamente usados para a nossa convenincia.

Nomes de domnios Se precisssemos lembrar de todos os endereos de IP das pginas da Web que visitamos diariamente, ficaramos malucos. Seres humanos no so bons em lembrar sries de nmeros. No entanto, somos bons na lembrana de palavras, por isso usamos os nomes de domnios. Voc possui, provavelmente, vrios nomes de domnios guardados em sua cabea. Como por exemplo: www.hsw.com.br - um nome tpico www.google.com - o nome mais conhecido no mundo www.mit.edu - um nome EDU (educacionais) bastante popular encarta.msn.com - um servidor da Web que no comea com www www.bbc.co.uk - um nome que utiliza quatro partes em vez de trs ftp.microsoft.com - um servidor FTP (em ingls) ao invs de um servidor da Web As partes COM, EDU e UK destes servidores so chamadas de domnios principais ou domnios de primeiro nvel. Existem vrios domnios principais, incluindo COM, EDU, GOV, MIL, NET, ORG e INT, assim como as singulares combinaes de duas letras para cada pas (em ingls). Em cada domnio principal existe uma enorme lista de domnios secundrios. No domnio principal COM, por exemplo, tem-se: howstuffworks google msn microsoft e milhes de outros. Cada nome no domnio principal COM precisa ser nico, mas podem existir rplicas entre os domnios. Por exemplo, howstuffworks.com e howstuffworks.org so duas mquinas completamente diferentes.

No caso de bbc.co.uk, este um domnio tercirio. So possveis at 127 nveis, no entanto, mais do que quatro so raros. A palavra mais esquerda, como www ou encarta, nome de hospedagem, que determina o nome de uma mquina especfica (com um endereo de IP prprio) em

um domnio. Um domnio concedido pode conter milhes de nomes de hospedagem desde que enquanto todos estes forem nicos.

Por causa desta determinao de todos os nomes em um domnio serem nicos, necessrio que uma entidade controle a lista destes servidores e garanta que nenhuma duplicao acontea. O domnio COM, por exemplo, no pode conter dois nomes iguais e uma empresa chamada Network Solutions (em ingls) a responsvel por manter esta lista. Ao registrar um nome de domnio, o processo passa por um dos inmeros registradores que trabalham na Network Solutions para adicionar nomes lista. Ao mesmo tempo, mantida uma base de dados chamada whois (em ingls) que contm informaes sobre o proprietrio e o servidor de cada domnio. Se voc acessar o formulrio whois (em ingls), encontrar informaes acerca de qualquer domnio existente. Apesar de ser importante possuir uma autoridade central cuidando da base de dados referente aos nomes no domnio principal COM (e nos outros), voc pode no querer centralizar a base de dados de todas as informaes do domnio. A Microsoft, por exemplo, tem inmeros endereos de IP e de nomes de hospedagens. Esta empresa quer manter seu prprio servidor de domnio pelo microsoft.com. Similarmente, a GrBretanha quer administrar os domnios principais uk e a Austrlia os domnios au, assim como ns brasileiros queremos administrar os domnios br. Por esta razo, o sistema DNS um sistema partilhado. A Microsoft completamente responsvel pela manuteno do servidor microsoft.com: ela mantm as mquinas que implementam sua parte do sistema DNS, podendo mudar a base de dados de seu domnio sempre que necessitar, pois possui seus prprios servidores de domnio. Todo domnio possui um servidor em algum lugar, responsvel por lidar com as requisies, onde h uma pessoa mantendo os registros deste DNS. Esta uma das partes mais extraordinrias deste sistema: ele est completamente espalhado por todo o planeta em milhes de mquinas, administradas por milhes de pessoas e, ainda assim, se comporta como uma base de dados nica e integrada.

O sistema partilhado Servidores fazem duas coisas o tempo todo: Aceitam solicitaes de programas para converter nomes de domnios em endereos de IP. Aceitam solicitaes de outros servidores para converter nomes de domnios em endereos de IP. Quando uma solicitao chega, o servidor pode exercer uma das quatro opes: Pode responder diretamente com um endereo de IP, por j conhecer previamente este endereo do domnio. Pode contatar outros servidores e tentar encontrar o endereo de IP para que foi solicitado, um processo que pode ser repetido vrias vezes. Pode dizer: eu no sei o endereo de IP para o domnio solicitado, mas aqui est o endereo de IP de um servidor que sabe mais do que eu. Pode retornar uma mensagem de erro, pois o domnio solicitado invlido ou inexistente. Ao digitar uma URL em seu browser, o primeiro passo que este faz converter o nome do domnio e da hospedagem em um endereo de IP, para que o browser solicite uma pgina da web mquina deste endereo de IP (veja Como funcionam os servidores da web para mais detalhes deste processo). Para fazer esta converso, o browser se comunica com um servidor. Ao configurar seu computador para se conectar internet, voc (ou o software instalado para se conectar ao seu provedor) precisa informar ao computador qual o servidor que

deve ser usado para a converso de nomes de domnios em endereos de IP. Em alguns sistemas, o DNS mantido na mquina quando se conecta ao provedor; em outros, um processo um pouco mais complicado. Se estiver trabalhando com o sistema Windows 95/98/ME, voc pode visualizar o endereo de seu servidor atual com o comando WINIPCFG.EXE (IPCONFIG para Windows 2000/XP). Em um computador com sistema UNIX, digite nslookup e o nome de sua mquina. Qualquer programa que necessite se conectar a um servidor para informar um nome de domnio sabe com qual servidor esta conexo deve ser feita, pois o endereo de IP est presente no sistema operacional. O browser, ento, contata o servidor e informa: Eu preciso que voc converta o nome de um domnio em um endereo de IP para mim. Se voc digitar em seu browser, "www.hsw.com.br", por exemplo, ele converte esta URL em um endereo de IP. O browser entregar "www.hsw.com.br" ao seu servidor padro e pedir para que este a converta. O servidor talvez j conhea o endereo de IP para www.hsw.com.br. Este ser o caso quando uma consulta recente a este mesmo site tiver acontecido (servidores utilizam o cache de endereos de IP para acelerar o processo). Neste caso, o servidor retorna o endereo de IP imediatamente. Vamos supor que o servidor precisa comear o processo do incio. O servidor iniciar uma busca pelo endereo de IP contatando um dos servidores raiz, que reconhecem os endereos de IP de todos os servidores que manejam os domnios principais. Seu servidor perguntar ao raiz sobre o www.hsw.com.br e este ir dizer (presumindo nenhum cache): desconheo o endereo de IP para este domnio, mas aqui est um endereo de IP para os servidores COM. Obviamente, estes servidores de raiz so vitais para todo o processo, ento: Existem diversos deles distribudos por todo o planeta. Todo servidor possui uma lista de todos os servidores raiz conhecidos. Ele contata o primeiro da lista e, caso no obtenha resposta, parte para o prximo. Aqui est uma lista de servidores raiz mantida por um servidor caracterstico:
; This file holds the information on root name servers ; needed to initialize cache of Internet domain name ; servers (e.g. reference this file in the ; "cache . " configuration file of BIND domain : name servers). ; ; This file is made available by InterNIC registration ; services under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Aug 22, 1997 ; related version of root zone: 1997082200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET

; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX, operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan, operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File

O formato um pouco estranho, mas basicamente mostra que a lista possui endereos de IP de 13 diferentes servidores raiz. O servidor raiz sabe os endereos de IP de milhares de servidores,responsveis pelos principais domnios. Ele retorna ao seu servidor o endereo de IP de um servidor do domnio COM. O seu servidor, ento, envia ao servidor COM uma requisio pelo endereo de IP dos servidores que executam o domnio HOWSTUFFWORKS.COM. Ao

receber esta informao, o seu servidor entra em contato com os servidores do HOWSTUFFWORKS.COM e requisita o endereo de IP para o site www.hsw.com.br. Ao encontrar, este endereo de IP retorna ao seu servidor, que o repassa ao seu browser e visualiza a pgina da web. Um dos principais fatores para fazer isto funcionar a redundncia. Existem vrios servidores em todos os nveis: se um deles falhar, outros podem assumir as requisies. H, por exemplo, trs diferentes mquinas responsveis por requisies aos servidores do HOWSTUFFWORKS.COM. As trs mquinas precisariam falhar para ocorrer um problema. Outro fator importante a execuo do cache. Quando um servidor executa uma requisio, ele cria um cache de todos os endereos de IP que recebe. Aps ter feito a requisio a um servidor raiz para qualquer domnio COM, ele sabe o endereo de IP do servidor responsvel por este domnio, ento no precisa mais incomodar os servidores raiz para adquirir esta informao. Os servidores podem fazer isto em todas as requisies, o que mantm as coisas menos confusas. No entanto, os servidores no armazenam estas informaes para sempre. Esta ordenao possui um componente chamado Tempo de Vida (TTL - Time To Live), que controla o tempo que um servidor armazenar essa informao. Ao receber um endereo de IP, o servidor tambm recebe o TTL. O servidor armazena este endereo de IP neste perodo de tempo (varia de minutos at dias) e ento descarta a informao. O TTL permite que as mudanas nos servidores se propaguem, mas nem todos os servidores respeitam o TTL que recebem. Quando o HowStuffWorks migrou para novos servidores, foi preciso trs semanas para a transio difundir-se pela rede. Colocamos um pequeno aviso que dizia novo servidor no canto superior esquerdo de nossa pgina, para que as pessoas soubessem se estavam visualizando o novo ou o antigo servidor durante a transio.

Criando um novo nome de domnio Para criar um novo domnio, so necessrios dois procedimentos: Encontrar um servidor para suportar o nome do domnio. Registrar o nome do domnio. Tecnicamente, no necessrio o domnio ser representado por um computador: indispensvel um servidor que possa administrar as solicitaes do nome de domnio. Existem duas maneiras de se conseguir um servidor para um domnio: Voc pode criar e administr-lo pessoalmente. Pode pagar um provedor ou uma empresa de hospedagem para administr-lo por voc. A maioria das grandes empresas possui seu prprio servidor de domnio. Empresas menores geralmente pagam por este servio.

A histria do HowStuffWorks um bom exemplo. Quando a pgina eletrnica foi criada, comeou como um domnio alocado. Este domnio foi gerado por uma empresa chamada www.webhosting.com (em ingls). A webhosting.com manteve o nome do servidor e a mquina que criou a pgina sob construo para o domnio. Para criar um domnio, deve-se preencher um formulrio em uma empresa que registra nomes de domnio, por exemplo: register.com (em ingls), verio.com, networksolutions.com (em ingls). Elas criam uma pgina sob construo, uma entrada em seu nome de servidor e enviam os dados do formulrio para uma base de dados whois. Duas vezes por dia, os servidores COM, ORG, NET, etc. recebem atualizaes com as mais novas informaes de endereos IP. A partir deste ponto, o domnio passa a existir e as pessoas podem visualizar as pginas sob construo.

O HSW, ento, comeou a publicar contedos no domnio www.hsw.com.br. Estabelecemos uma conta de hospedagem com a Tabnet (agora parte da Verio, Inc.) que administrava o domnio do HowStuffWorks, assim como a mquina que abrigava as pginas deste site. Este tipo de instrumento chamado de mquina de hospedagem virtual, sendo capaz de hospedar mltiplos domnios simultaneamente. Quinhentos ou mais domnios compartilham o mesmo processador. Com a popularizao do HSW, a pgina superou a capacidade das mquinas de hospedagem, necessitando cada vez mais de seu prprio servidor. Comeamos, ento, a manter nossas prprias mquinas dedicadas ao site e iniciamos a administrao de nosso prprio domnio. Temos um servidor primrio e um secundrio: AUTH-NS1.HOWSTUFFWORKS.COM 209.116.69.78 AUTH-NS2.HOWSTUFFWORKS.COM 209.116.69.79 Nosso domnio primrio auth-ns1.howstuffworks.com. Qualquer mudana que fazemos nele, automaticamente se propaga ao secundrio, que tambm mantido pelo nosso provedor.

Todas estas mquinas possuem um software de servidor chamado BIND (em ingls). Este programa reconhece todas as nossas mquinas do servidor atravs de um arquivo de texto do servidor principal, como este:
@ NS auth-ns1.howstuffworks.com. @ NS auth-ns2.howstuffworks.com. @ MX 10 mail mail A 209.170.137.42 vip1 A 216.183.103.150 www CNAME vip1

Decodificando este arquivo do incio, pode-se notar: As duas primeiras linhas indicam os servidores primrio e secundrio. A prxima linha chamada de registro MX. Ao mandar um e-mail para qualquer pessoa do howstuffworks.com, o fragmento do software que envia este e-mail contata o servidor para conseguir o registro MX, e ento saber onde o SMTP do servidor do HSW se encontra (veja Como funciona o e-mail para mais detalhes). Muitos sistemas grandes possuem mltiplas mquinas responsveis pelo recebimento de e-mails e, portanto, mltiplos registros MX. A quarta linha indica a mquina que ir administrar as solicitaes ao mail.howstuffworks.com. A quinta linha indica os endereos de IP que iro administrar as solicitaes ao oak.howstuffworks.com. A ltima linha indica os endereos de IP que iro administrar as solicitaes ao howstuffworks.com (sem nome de hospedagem). Pode-se notar, por este arquivo, que existem diversas mquinas fsicas, de diferentes endereos de IP, que constituem a infra-estrutura do servidor do HowStuffWorks. Existem pseudnimos para hospedagem de e-mails e www. H, tambm, pseudnimos para nada. Pode existir, por exemplo, uma entrada neste arquivo para scoobydoo.howstuffworks.com que dirige para a mquina fsica chamada "nogueira". Pode existir outro para yahoo.howstuffworks.com que aponta para o yahoo. Realmente no existem limites para esta prtica. Poderamos, tambm, criar diversos servidores e segmentar nosso domnio. Como se pode ver por esta descrio, o DNS uma base de dados fascinante e espantosamente distribuda. Ele administra bilhes de solicitaes para bilhes de nomes, todos os dias, atravs de uma rede de milhes de servidores, dirigidos por milhes de pessoas. Toda vez que voc manda uma mensagem de e-mail ou visualiza uma URL, est produzindo solicitaes para mltiplos servidores espalhados pelo mundo. O que mais impressiona que este processo completamente invisvel e extremamente confivel!

Para mais informaes sobre servidores de domnio e tpicos relacionados, confira os links na prxima pgina. Mais informaes

Artigos relacionados

Como funcionam os servidores web Como funciona a infra-estrutura da internet Como funcionam os Provedores de Servios de Aplicativos (ASPs) Como funciona o e-mail Como funcionam as ferramentas de busca da internet (em ingls) Como funciona o NAT (traduo de endereos de rede) Como funcionam as pginas de internet

Mais links interessantes (em ingls)


IANA WHOIS Register.com BIND - o software que implementa a maioria dos servidores Registros dos nomes de domnios ao redor do mundo