Monthly Archives: June 2010

DNS – Resolução de Nomes

Published by:

Hoje como no inicio, cada máquina ligada à rede – e hoje é uma grande rede, a que chamamos internet – tem ainda uma número que o identifica, e é esse número que é, ainda hoje, utilizado pelo computadores para trocarem informação uns com os outros, mesmo que nós normalmente apenas vejamos os nomes.

Resolução passo a passo

A resolução de DNS tem hoje alguns elementos que permitem tornar o processo de resolução de nomes mais rápida e eficiente. Mas, para já vamos ignorar essas optimizações.

Assim, quando queremos converter um nome no IP correspendonte, a primeira pergunta que temos que fazer é quem é que controla a informação de DNS. E a resposta a essa pergunta é a de que são os servidores de DNS do domínio de topo – o dominio .. Os servidores de DNS do domínio . são normalmente designados de rootservers.

Assim, a primeira coisa a fazer é perguntar aos root servers se eles sabem a resposta que procuramos. Provavelmente eles não nos vão dar a resposta que procuramos, mas indicam-nos a quem devemos perguntar a seguir – os servidores de DNS do domínio de topo a quem pertence o site. Se o domínio o domínio de topo a que pertence o nome que estamos a tentar resolver for com ou net, os rootservers vão dar-nos logo os servidores de DNS do nosso domínio que pretendemos resolver, uma vez que são eles também os servidores de DNS destes domínios.

Com a informação disponibilizada pelos rootservers, dirigimos as nossas questões aos servidores que nos foram devolvidos pelos rootservers que, por sua vez, podem dar-nos imediatamente a informação que procuramos ou enviar-nos o endereço de novos servidores a quem devemos dirigir em seguida as nossas perguntas.

Todo este processo é repetido até se conseguir a informação que procuramos ou até nos ser dito que essa informação não existe ou até detetarmos que existem inconsistências nas respostas que nos são enviadas – por exemplo, dois servidores, cada um deles dizer que o outro é que é o responsável pela informação que procuramos.

Resolução com cache

Embora cada um dos passos referidos na secção anterior seja rápido e consista na transmissão de apenas alguns byts, a internet nem sempre foi a rede que conhecemos hoje, em que a velocidade de transmissão é quase sempre na ordem dos megabits por segundo – houve um tempo em que se podiam ouvir os bits a entrar e a sair da linha telefónica. Nesses tempos apenas alguns bytes podiam demorar até um segundo a ser transmitidos, e se a pergunta tivesse que ser feita a servidores de DNS do outro lado do mundo, a resposta ia demorar a voltar.

E, para tornar a resolução de nomes mais eficiente, criaram-se servidores de DNS o mais próximo possível dos clientes, que quando não sabem as respostas que os seus clientes procuram, fazem as perguntas necessárias aos outros servidores e depois respondem directamente ao cliente e guardam a resposta para conseguir responder imediatamente quando o mesmo ou outro cliente tentar resolver o mesmo nome.

E os clientes passam a utilizar estes servidores sempre que pretendem resolver um nome, pois estes conseguem responder-lhes muito mais rapidamente nos maioria dos casos.

Este processo permite, assim, poupar tempo, e reduz drasticamente a quantidade de dados transmitidos – o que até há pouco tempo também era tempo. E nesse tempo a ligação à internet era paga pelo tempo que se estava ligado.


DNS – Hierarquia de nomes

Published by:

Hoje quase toda a gente que trabalha na área de internet já ouviu falar dos domínio de topo (normalmente abreviado como TLD – a sigla da expressão inglesa Top Level Domain).

O que nem toda a gente sabe, mesmo entre quem trabalha na área de internet é que existe um domínio acima dos domínios de topo. Trata-se do domínio . .

Este é domínio debaixo do qual (quase) todos os outros domínios estão. E digo quase apenas porque por vezes se utilizam truques relacionados com o funcionamento do DNS para criar domínios (mais ou menos) privados que não é possível resolver utilizando aquilo a que irei chamar a cascata de resolução de nomes tradicional.

Os nomes resolvidos pelo DNS são algo que nos habituamos a ver todos os dias. E isso inclui quem sem sequer utiliza a internet. Eles estão, hoje, em todo o lado – nos carros das empresas, nas suas facturas, nos cartões de visita, profissionais ou pessoais – são os endereços dos blogs, dos sites sociais e até parte dos endereços de email. Todos estes endereços são resolvidos pelo DNS.

Mas, como estão estruturados?

Bem, primeiro temos o senhor de todos os domínios, o dominio . – que normalmente não é utilizado explicitamente – e debaixo dele temos os domínios de topo – com, net, org, pt, br, us, uk, … – existem uns quantos globais, todos os países têm um e algumas regiões também têm domínio de topo – como os eu ou asia.

Cada um destes domínios de topo tem uma entidade que gere os domínios que são criados debaixo deste TLD. Por exemplo, no caso do TLD pt, a entidade que faz esta gestão é a FCCN.

Normalmente, satisfeitas as condições, é possível criar domínios debaixo destes domínios de topo ou em subdomínios deles – o com.pt ou o co.uk, por exemplo – e a gestão destes domínios é entregue à entidade que fez o registo, que pode depois criar os subdomínios que entender debaixo do seu nome.

Cada um destes nomes é separado do domínio acima por um ., criando-se assim os nomes que já estamos habituados a ver nos nomes dos sites.

Tradicionalmente o primeiro nome representa o nome da máquina, e todos os outros nomes acabavem por ser – por assim dizer – o caminho a percorrer para encontrar o servidor.

Assim, quando vemos um endereço como www.webaserio.com, estamos a olhar para o nome da maquina www do domínio webaserio que está debaixo do TLD com.

Claro que hoje, com maquinas muito mais rápidas e com uma muito maior diversidade de serviços, um servidor serve várias coisas e vários sites, e a primeira parte nome acaba por ser mais o nome do serviço do que o da maquina que disponíbiliza o serviço, havendo tão frequentemente vários serviços a ser disponibilizados numa mesma maquina como várias maquinas a servir um único serviço.


DNS – Sistema de Nomes de Domínios

Published by:

Antes havia o IPX, o tokenring e montes de outras coisas, mas isso foi antes. Antes do início.

Então apareceu o IP, e os criadores perceberam que o IP era bom. E em cima do IP escreveram o TCP, o UDP e o ICMP. E os criadores chamaram ao conjunto destes protocolos TCP/IP. E os criadores perceberam que isto era bom. E isso foi o inicio.

E então reescreveram-se protocolos que já existiam sobre o TCP/IP e criaram-se novos protocolos. E apareceu a rede, e a rede cresceu.

Mas no início não havia nomes, só números. Os números do IP. Enquanto a rede era pequena era fácil saber o número de todos os computadores na rede. Mas quando a rede começou a crescer os criadores perceberam que era preciso dar nomes aos computadores, porque para nós é mais fácil lidar com nomes do que com números. E por isso criaram o DNS.

E, porque todos escrevem sobre a web, mas poucos lembrar os protocolos que fazem a web funcionar, decidi escrever uma série de artigos sobre o DNS. Neste artigo irei criando links para esses artigos, que serão publicados ao longo dos próximos dias.

Artigos Nesta Série: