100%
Subseção: § Introdução

Nomeação em Sistemas Distribuídos

Domain Name System (DNS)

Prof. Pedro Ximenes
Universidade Católica de Pernambuco (UNICAP)
Arquitetura de Sistemas Distribuídos
Use as teclas Espaço ou Setas para navegar • Tecla F para tela cheia

Roteiro da Apresentação

Visão Geral
1

Nomeação Estruturada

Do identificador ao nome hierárquico, árvores e leitura reversa de FQDN.

2

DNS e Camadas

O que o DNS resolve, camadas Global, Administrativa e Gerencial, e comparativo.

3

Resolução de Nomes

Resolução Iterativa vs. Recursiva, papel vital do Cache e custo de comunicação.

4

DNS em Operação

Servidores raiz mundiais, Anycast, protocolo UDP e robustez na Web.

Do identificador ao nome estruturado

Seção 1
Nomeação Estruturada: Motivação

Identificadores como IP, CPF ou códigos internos são precisos para sistemas computacionais, mas nem sempre são amigáveis para a memória humana.

Ideia Central

A nomeação estruturada organiza nomes em uma hierarquia lógica, permitindo que pessoas localizem recursos por caminhos intuitivos e ordenados.

  • Espaço de nomes modelado matematicamente como uma árvore de rótulos.
  • Existe um nó raiz (root) no topo e múltiplos nós internos intermediários.
  • O recurso desejado (serviço, arquivo ou máquina) costuma estar localizado em um nó folha.

Exemplo 1: Sistema de arquivos

Seção 1
Caminho hierárquico clássico
/home/user/unicap/arq-sistemas/aulas/aula11.pdf
  • O caminho completo pode ser longo, mas cada nível acrescenta contexto semântico delimitado.
  • A estrutura modular facilita a memorização e a descoberta progressiva do arquivo final.
  • A resolução ocorre percorrendo diretórios desde a raiz (/) até a folha (aula11.pdf).
Redução de Ambiguidade

A hierarquia reduz ambiguidade: cada etapa do caminho restringe progressivamente o conjunto possível de resultados.

Exemplo 2: Nomes de hosts na Internet

Seção 1
Exemplo de host FQDN
www.c3.unicap.br
  • Leitura da direita para a esquerda: br → unicap → c3 → www.
  • Cada rótulo representa um nível distinto da hierarquia de autoridade.
  • O formato padronizado torna o nome previsível e globalmente reconhecível.
Papel do DNS

O DNS utiliza essa estrutura para mapear nomes legíveis em endereços IP de destino na rede.

Clique nos blocos para inspecionar a leitura:
Passo 1 br
←
Passo 2 unicap
←
Passo 3 c3
←
Passo 4 www
1º Nível (TLD Nacional - .br): Administrado pelo Registro.br (CGI.br). Identifica o país e pertence à Camada Global.

O que o DNS resolve?

Seção 2
Definição

O Domain Name System (DNS) realiza resolução de nomes: dado um nome legível por humanos, retorna o endereço IP do servidor responsável pelo serviço.

  • Entrada: nome de domínio qualificado, como google.com.br ou unicap.br.
  • Saída: endereço IP (IPv4 / IPv6) ou conjunto balanceado de IPs para contato direto com o serviço.
  • Objetivo primordial: desacoplar o nome humano estável da localização física/lógica na rede.
Consequência Prática

O usuário recorda o nome com facilidade; a infraestrutura distribuída descobre o endereço IP correto de forma transparente e tolerante a mudanças de provedor ou datacenter.

Camadas do espaço de nomes do DNS

Seção 2
  • Camada Global: porção superior da hierarquia (ex.: nós raiz ., gTLDs como .com, .org e ccTLDs como .br, .nl).
  • Camada Administrativa: organizações, universidades e empresas (ex.: unicap.br, uol.com.br, globo.com, vu.nl).
  • Camada Gerencial: partes mais próximas dos recursos e máquinas (subdomínios de departamento, serviços e registros que mudam frequentemente).
Divisão Lógica

Essa partição tripla organiza o DNS tanto em termos de autoridade administrativa quanto de requisitos técnicos de desempenho e cache.

Camadas do Espaço de Nomes DNS (Figura 6-14 Tanenbaum)
Figura 6-14: Divisão do espaço de nomes do DNS em três camadas (Tanenbaum & Van Steen).

Explorador da Hierarquia DNS

Módulo Interativo
Filtrar Camada:
Clique em um nó na árvore acima para inspecionar sua autoridade, escala e camada correspondente.

Comparando as camadas na prática

Seção 2
Critério Global Administrativa Gerencial
Escala Geográfica Mundial Por Organização Por Depto / Prédio
Qtd. de Nós Poucos (dezenas) Muitos (milhares) Vasto (milhões)
Responsividade Segundos (c/ cache) Milissegundos Imediata (< ms)
Propagação Updates Lenta (horas/dias) Rápida (seg/min) Imediata
Número de Réplicas Muitas Algumas (2 a 3) Poucas / Nenhuma
Caching é Efetivo? Sim, essencial! Sim Raramente / Sob demanda
Escala e Responsabilidade

A camada global tem poucos nós e escopo mundial; a administrativa atende cada organização; a gerencial lida com o volume massivo de mudanças diárias.

Comparação das Camadas DNS (Figura 6-15 Tanenbaum)
Figura 6-15: Comparação entre as camadas de nós no DNS (Tanenbaum & Van Steen).

Disponibilidade, réplicas e propagação

Seção 2
  • Na camada global, falhas têm impacto catastrófico mundial, tornando a replicação em larga escala mandatória.
  • Atualizações globais podem propagar lentamente devido ao volume e à necessidade de consistência entre réplicas.
  • Na camada administrativa, atualizações precisam ser mais ágeis (ex.: ativação de novos servidores ou troca de provedor de e-mail).
  • Na camada gerencial, mudanças ocorrem com altíssima frequência, exigindo controle rígido de cache por TTL (Time To Live).
Pergunta Comum

Se a camada global pode tolerar respostas mais lentas, por que um site famoso costuma abrir em menos de 1 segundo?

Resposta Didática

Porque consultas anteriores ficam em cache tanto no cliente quanto nos servidores resolvedores locais (ISP/campus), evitando repetir a travessia completa da hierarquia a cada clique.

Problema de resolução

Seção 3
Objetivo Prático

Resolver o caminho: ftp://ftp.cs.vu.nl/pub/globe/index.html até obter o endereço IP do servidor responsável.

  • A busca sempre parte de níveis superiores (raiz) e desce gradativamente na hierarquia.
  • Em cada passo, um servidor informa quem conhece melhor o próximo nível (delegação por registros NS).
  • Existem duas estratégias clássicas de coordenação de resolução: iterativa e recursiva.
O Trade-off Central

Quem deve gastar processamento e manter estado aberto durante a resolução: o cliente/resolver local ou a cadeia de servidores intermediários?

Resolução iterativa: ideia geral

Seção 3
Fluxo Iterativo
  1. Cliente/Resolver pergunta ao servidor raiz (.).
  2. Raiz devolve uma referência (referral) para o servidor de .nl.
  3. Cliente pergunta ao servidor de .nl e recebe referência de vu.nl.
  4. Cliente chega ao servidor autoritativo final (cs.vu.nl) e obtém o IP.
Característica Principal

O cliente (ou resolvedor local) controla o passo a passo de cada salto da travessia. Os servidores apenas respondem "não sei o IP final, mas pergunte a fulano".

Resolução Iterativa (Figura 6-16 Tanenbaum)
Figura 6-16: Princípio da resolução de nomes iterativa (Tanenbaum & Van Steen).

Iterativa com cache no cliente

Seção 3
  • Após resolver ftp.cs.vu.nl, o cliente guarda em sua tabela de cache local as referências dos servidores intermediários (.nl, vu.nl, cs.vu.nl).
  • Em uma nova consulta subsequente para mail.cs.vu.nl, o cliente pode cortar caminho e começar a consulta a partir do servidor de cs.vu.nl já conhecido!
  • Isso reduz expressivamente a latência percebida pelo usuário e alivia a carga de trabalho nos servidores de topo.
Efeito Prático

A raiz DNS tende a ser consultada muito poucas vezes para domínios acessados com frequência, pois o cache reaproveita respostas anteriores de forma extremamente eficiente.

Resolução recursiva: ideia geral

Seção 3
Fluxo Recursivo
  1. Cliente envia uma consulta recursiva única ao servidor inicial.
  2. Esse servidor repassa a consulta para o próximo, e assim por diante em cadeia.
  3. A resposta final completa retorna fazendo o caminho reverso pela cadeia de servidores até o cliente.
Característica Principal

O cliente faz menos trabalho direto; os servidores assumem a coordenação, mantendo conexões ativas até obter a resposta final.

Resolução Recursiva (Figura 6-17 Tanenbaum)
Figura 6-17: Princípio da resolução de nomes recursiva (Tanenbaum & Van Steen).

Recursiva: vantagens e limitações

Seção 3
Vantagens
  • Menor carga de processamento e rede no cliente simples.
  • Melhor aproveitamento de cache compartilhado ao longo dos servidores.
  • Pode reduzir o custo de comunicação em links de longa distância.
Limitações Críticas
  • Maior consumo de memória e estado nos servidores intermediários (manter sockets abertos para cada cliente pendente).
  • Pode sobrecarregar servidores de topo; por isso, servidores raiz rejeitam consultas recursivas na Internet real!
Recursiva com Cache (Figura 6-18 Tanenbaum)
Figura 6-18: Resolução recursiva com caching intermediário (Tanenbaum & Van Steen).

Iterativa vs. recursiva: custo de comunicação

Seção 3
  • Em cenário iterativo, o cliente conversa separadamente com mais servidores de nomes através de enlaces WAN potencialmente longos.
  • Em cenário recursivo, parte substancial da comunicação acontece entre servidores que podem estar geograficamente mais próximos entre si.
  • Isso pode diminuir o tempo de propagação e o tráfego nos enlaces de acesso do cliente.
Arquitetura Híbrida Real

O cliente final faz consulta recursiva ao seu resolvedor local (ISP ou 8.8.8.8), e o resolvedor local executa resolução iterativa com os servidores raiz e autoritativos mundiais.

Comparação de Custos de Comunicação (Figura 6-19 Tanenbaum)
Figura 6-19: Comparação de custos de comunicação entre iterativa e recursiva (Tanenbaum).

Simulador: Resolução Iterativa vs. Recursiva

Laboratório Interativo
Log de Tráfego de Pacotes UDP:
Pronto para simulação. Escolha o modo e clique em Iniciar.
Topologia de Resolução (Host Alvo: cs.vu.nl) UDP Porta 53

DNS em operação: Servidores Raiz

Seção 4
13 Identidades de Servidores Raiz

Existem 13 identidades lógicas de servidores raiz (de a.root-servers.net até m.root-servers.net), mantidas por 12 operadoras globais independentes.

Anycast IP

Embora existam apenas 13 endereços IP conceituais, há mais de 1.700 instâncias físicas espalhadas pelo mundo respondendo pelos mesmos IPs via roteamento Anycast BGP!

  • Garante tolerância a desastres físicos e ataques de negação de serviço (DDoS).
  • Roteamento BGP encaminha o cliente automaticamente para a réplica física mais próxima.
Servidores Raiz do DNS no Mundo (root-servers.org)
Servidores raiz do DNS, que formam a base da hierarquia global: root-servers.org

Comportamento observado na Web

Seção 4
  • O DNS costuma operar prioritariamente com consultas leves, rápidas e sem estado.
  • Em muitos cenários, consultas DNS usam UDP (porta 53), eliminando o overhead de 3-way handshake do TCP.
  • Perdas de datagrama podem ocorrer: a pilha DNS do cliente implementa temporizadores simples e reenvia após timeout curto.
  • Em navegação real, o usuário ou o navegador realiza tentativas automáticas que rapidamente compensam eventuais perdas transitórias de pacotes.
Pilar da Escalabilidade

A fantástica escalabilidade global do DNS depende da combinação harmoniosa entre hierarquia estrita, replicação estratégica (Anycast) e cache agressivo em múltiplas camadas.

Resumo da aula

Conclusão
O que vimos
  • Nomeação estruturada: base lógica essencial para descoberta de recursos em larga escala.
  • DNS: principal exemplo prático e operacional de sistema de nomes hierárquico na Internet.
  • Camadas Global, Administrativa e Gerencial: divisão clara de requisitos, escala e dinâmicas de atualização.
  • Resolução Iterativa vs. Recursiva: trade-offs diretos de sobrecarga de estado vs. conveniência do cliente.
  • Papel central do Cache: viabiliza respostas sub-segundo e protege a infraestrutura de topo de saturação.
O que aprendemos?

Nomes fornecem uma abstração estável, expressiva e memorável para o usuário; o DNS transforma com elegância essa abstração em localização física de rede de maneira resiliente, descentralizada e globalmente escalável.