Buscar

SD 08 - Serviços de Nomes

Prévia do material em texto

Sistemas Distribuídos
Serviços de Nomes
Joinvile Batista Junior
UFGD - SD 08 - Joinvile Batista Junior 2
Serviços de Nomes
 A : O papel de nomes e serviços
 B : Domínio e Resolução de Nomes
 C : DNS (Domain Name Service)
 D : Serviços de Diretório
 E : X.500 Directory Service
UFGD - SD 08 - Joinvile Batista Junior 3
A : O papel de Nomes e Serviços
1. Comente 3 Serviços de Nomes. Explique a resolução de uma URL a 
partir de um DNS, até localizar um dado arquivo na rede.
UFGD - SD 08 - Joinvile Batista Junior 4
O papel de nomes e serviços de nomes
• Recursos são acessados usando identificador ou referência
– Um identificador pode ser armazenado em variáveis e recuperado 
de tabelas rapidamente
– Identificador inclui ou pode ser transformado em um endereço para 
um objeto
• URL, nomes de domínios na internet
• arquivo de manipulação NFS (Network File System)
• referência objeto remoto CORBA
– Um nome deve ser legível para um ser humano (usualmente um 
string) e pode ser resolvido
• convertido em dados sobre o recurso ou objeto nomeado
• Para muitos propósitos nomes são preferíveis a identificadores
– porque a associação do recurso identificado com uma localização 
física pode ser adiado e pode ser alterado
– porque nomes são mais significativos para usuários
• Nomes de recursos são resolvidos por serviços de nomes
– para associar identificadores e outros atributos úteis
UFGD - SD 08 - Joinvile Batista Junior 5
O papel de nomes e serviços de nomes
• Serviços de nomes
– DNS (Domain Name Service)
• mapea nomes de domínio internet para atributos de um 
computador host
– Serviço de Diretório X.500
• pode ser usado para mapear o nome de uma pessoa em 
atributos (email, telefone)
– Serviço de Nomes (Naming Service)
• mapea nome de um objeto remoto para sua referência
• Resolução de um URL
– primeira parte
• DNS: nome de domínio  endereço IP
– segunda parte
• ARP (Address Resolution Protocol): endereço IP  endereço 
Ethernet
– terceira parte
• Sistema de Arquivos do servidor web: nome do caminho 
arquivo
UFGD - SD 08 - Joinvile Batista Junior 6
Domínios de Nomes Compostos para resolver URL
file
Web server
Socket
http://www.cdk3.net:8888/WebExamples/earth.html
URL
Resource ID (IP number, port number, pathname)
138.37.88.61 WebExamples/earth.html8888
DNS lookup
(Ethernet) Network address
2:60:8c:2:b0:5a
ARP lookup
UFGD - SD 08 - Joinvile Batista Junior 7
B : Domínio e Resolução de Nomes
1. Conceitue resolução de nomes como um processo iterativo. Qual o 
problema associado ao uso de alias e como resolvê-lo?
2. Compare os 3 esquemas de resolução de nomes: multicast, e 
coordenada por um servidor com navegação iterativa recursiva e não 
recursiva.
UFGD - SD 08 - Joinvile Batista Junior 8
Espaço de Nomes
• espaço de nome
– conjunto de todos os nomes válidos reconhecidos por um serviço 
em particular
– exige uma definição sintática para a composição de um nome
• estrutura
– hierárquica: sistemas de arquivos do UNIX
• potencialmente infinitos
• cada parte é resolvida em relação a um contexto separado
– mesmo nome pode ser usado com diferentes significados
» em diferentes contextos
• diferentes contextos podem ser gerenciados por diferentes 
pessoas
– hierarquia organizacional: nomes de domínios na internet
– ou escolhidos em um conjunto simples de identificadores numéricos 
ou simbólicos
UFGD - SD 08 - Joinvile Batista Junior 9
Espaço de Nomes
• alias
– nome conveniente que substitui um nome mais complicado
• domínios de atribuição
– espaço de nome para o qual existe uma única autoridade global 
administrativa
– DNS: domínios são conjuntos de nomes de domínio
• DNS fornece um espaço de nomes global e homogêneo
– determinado nome se refere a uma mesma entidade
• independente de quem o pesquise
• alguns serviços de nomes permitem espaços de nomes distintos
– outros permitem que o espaço de nomes seja personalizado de 
acordo com a necessidade de grupos individuais
• sempre se pode integrar espaços de nomes
– criando um contexto de raiz de nível mais alto
• o que pode provocar um problema de compatibilidade com 
versões anteriores
UFGD - SD 08 - Joinvile Batista Junior 10
Resolução de Nomes
• resolução de nomes é um processo iterativo
– pelo qual um nome é repetidamente apresentado a diferentes 
contextos de atribuição de nomes
– um contexto de atribuição de nomes
• mapea nome em um conjunto de atributos
• ou mapea a um novo contexto de atribuição de nomes
– e em um nome derivado a ser apresentado a este contexto
• o uso de alias possibilita a presença de ciclos nos espaços de nomes
– duas soluções para evitar que a resolução não possa terminar
• abandonar após um limite de sucessivas resoluções
• administradores vetam os aliases que introduziriam ciclos
• qualquer serviço de nomes que armazene um banco de dados muito 
grande (como o DNS)
– não armazenará todas as informações em um único servidor
– e usará replicação para obter alta disponibilidade
• DNS: replicação em pelo menos 2 servidores
UFGD - SD 08 - Joinvile Batista Junior 11
Resolução de Nomes
• processo de localizar dados de atribuição de nomes em mais de um 
servidor para transformar um nome: navegação
• DNS suporta navegação iterativa
– o software cliente de resolução de nomes realiza a navegação em 
nome do cliente
– software cliente apresenta um nome ao servidor local
• se não tiver o nome: o servidor indica outro servidor
• este processo é repetido até que o nome seja localizado
– ou se descubra que está desvinculado
• como o DNS é projetado para conter entradas para milhões de 
domínios
– não seria possível começar todas as consultas por um servidor raiz
• mesmo que ele fosse bastante replicado
– então o ponto de partida é processador local
UFGD - SD 08 - Joinvile Batista Junior 12
Resolução de Nomes
• alternativas da navegação iterativa
– navegação por multicast
• cliente envia o nome a um grupo de servidores
– somente o servidor que contém a vinculação responde
– se não houver vinculação: não haverá resposta
– navegação coordenada por um servidor
• navegação não recursiva
– servidor escolhido se comunica por multicast ou 
iterativamente com seus pares
• navegação recursiva
– cada servidor entra em contato com um de seus pares
– e assim sucessivamente
• cache: importante para desempenho e amplamente aplicado
– dados de atribuição de nomes são pouco alterados
• mas pode haver resposta desatualizada
UFGD - SD 08 - Joinvile Batista Junior 13
Resolução de Nomes
Navegação multicast
Client
1
2
3
NS2
NS1
NS3
Name
servers
1
2
3
5
1
2
34
4
client client
NS2
NS1
NS3
NS2
NS1
NS3
Navegação não recursiva Navegação recursiva
Navegação coodenada por um Servidor
UFGD - SD 08 - Joinvile Batista Junior 14
C : DNS (Domain Name Service)
1. Dê exemplos de consultas no DNS para 2 serviços muito utilizados e 
para 2 serviços pouco utilizados.
2. Explique como o problema de escalabilidade é tratado no DNS.
3. Explique como funciona o conceito de zona no DNS.
4. Que tipos de navegação o DNS suporta? Qual o problema associado 
à navegação? Quais os mecanismos utilizados para economizar 
comunicação na rede?
5. Explique a solução de rodízio de servidores no NFS. Qual a solução 
para evitar problemas com o cache no rodízio?
UFGD - SD 08 - Joinvile Batista Junior 15
Domain Name Service (DNS)
• a implementação do DNS na Internet atinge tempos de resposta médios 
relativamente curtos para pesquisas
– considerando o volume de dados de atribuição de nomes
– e a escala de redes envolvidas
• combinação de particionamento, replicaçãoe uso de cache para os dados 
de atribuição de nomes
• os objetos nomeados são principalmente
– computadores, servidores de nome e hosts de correio eletrônico
• uso de cache e replicação em ambiente estável
– o mapeamento de nome de computador (host) para endereço IP 
mudam de forma relativamente rara
– assim como as identidades de servidores de nome e de correio 
eletrônico
• DNS permite que dados de atribuição de nomes se tornem inconsistentes
– atraso de atualização da ordem de dias
UFGD - SD 08 - Joinvile Batista Junior 16
Domain Name Service (DNS)
• consultas DNS
– resolução de nomes de host
• transformar nomes de hosts em endereços IP
– localização de servidores de correio eletrônico
• resolver nomes de domínio em endereços IP
• pode retornar mais de um endereço de servidores na ordem de 
preferência de tentativa
– serviços menos utilizados
• resolução reversa: endereço IP  nome de host
• informações sobre hosts: arquitetura da máquina, SO
• serviços conhecidos: lista de serviços suportados pelo host
• em princípio, o DNS pode ser usado para armazenar atributos arbitrários
– para uma consulta especificada por: nome de domínio, classe e tipo
UFGD - SD 08 - Joinvile Batista Junior 17
Domain Name Service (DNS)
Servidores de Nomes DNS
• os problemas de escalabilidade são tratados por uma combinação
– do particionamento do banco de dados de atribuição de nomes
• distribuido em uma rede lógica de servidores
– cada servidor contém principalmente dados do domínio 
local
– cada servidor registra os nomes do domínio
» e endereços de outros servidores de nome: para 
consultas fora do domínio
• os dados de atribuição de nomes são divididos em zonas
– e a replicação e armazenamento em cache de partes dele
• as informações do domínio raiz são replicadas em um 
conjunto de servidores secundários
• próximas aos pontos aonde ele é acessado
• qualquer servidor está livre para armazenar em cache dados 
de outros servidores
UFGD - SD 08 - Joinvile Batista Junior 18
Domain Name Service (DNS)
Servidores de Nomes DNS
• dados de uma zona
– dados de atributos de nomes do domínio (menos os subdomínios 
administrados por autoridades de nível mais baixo)
– nome e endereços de pelo menos 2 servidores que possuem 
autoridade sobre os dados da zona
– nomes de servidores de nome que contém autoridade sobre dados 
de subdomínios delegados
– parâmetros de gerenciamento da zona
• para uso do cache e replicação de dados
• um servidor pode ter autoridade sobre dados de mais de uma zona
• para garantir a disponibilidade do serviço
– cada zona deve ser replicada em pelo menos 2 servidores com 
autoridade sobre os dados
UFGD - SD 08 - Joinvile Batista Junior 19
Domain Name Service (DNS)
• Navegação e processamento de consulta
– um cliente DNs é chamado de resolvedor
• normalmente implementado como software de biblioteca
– ele aceita consultas e formata mensagens no protocolo DNS
• é usado um protocolo de requisição e respostas simples
– normalmente UDP com número de porta conhecido
– em caso de timeout: a consulta é enviada novamente
– o resolvedor pode ser configurado para contactar uma lista de 
servidores de nomes, em ordem de preferência
– a arquitetura do DNS suporta navegação recursiva e iterativa
• a navegação recursiva pode manter ocupadas as threads do servidor
– retardando o tratamento de outras requisições
– para economizar comunicação na rede, o protocolo DNS permite
• que várias consultas sejam empacotadas na mesma mensagem
• e que os servidores enviem várias respostas em suas mensagens
UFGD - SD 08 - Joinvile Batista Junior 20
Domain Name Service (DNS)
• em alguns sites muito requisitados (como web e FTP)
– são suportados por um grupo de computadores na mesma rede
• neste caso o mesmo nome de domínio é usado por cada 
membro do grupo
– o servidor de nome responde a consultas relacionadas a registros
com o mesmo nome, retornando endereços IP de acordo com um 
rodízio
• sucessivos clientes são endereçados a diferentes servidores 
para compartilhar a carga de trabalho
• o cache pode atrapalhar este esquema
– por isso os registros recebem um tempo de vida curto
• problemas que permanecem
– rigidez com relação às estruturas de escopo de nomes
– e falta de capacidade de personalizar o espaço de nomes de acordo 
com as capacidades locais
UFGD - SD 08 - Joinvile Batista Junior 21
D : Serviços de Diretório
1. Conceitue serviços de nomes com serviços de diretórios. Quais as 
vantagens de cada um?
UFGD - SD 08 - Joinvile Batista Junior 22
Serviços de Diretório
• serviços de nomes armazenam conjuntos e pares <nome, atributo>
– e como os atributos são pesquisados a partir de um nome
– mas às vezes usuários necessitam localizar um nome a partir de 
seus atributos
• serviço de diretório
– armazena conjunto de vínculos entre nomes e atributos
– pesquisa entradas que correspondem a especificações baseadas 
em atributos
– e retorna todos os atributos de todos os objetos encontrados
• que correspondem a alguns atributos especificados
– exemplos
• Active Directive Services da Microsoft
• X.500 e seu primo LDAP
• UDDI (Universal Directory and Discovery Service)
– apresenta serviços de páginas brancas e amarelas para fornecer 
informações
• sobre organizações e os serviços web que dispõe
UFGD - SD 08 - Joinvile Batista Junior 23
Serviços de Diretório
• atributos são claramente mais poderosos do que nomes
– podem ser escritos programas para selecionar objeto de acordo 
com a especificação de atributos
• atributos não expõem a estrutura das organizações para o mundo 
exterior
– com acontece com os nomes particionados em termos de 
organização
• entretanto, a relativa simplicidade do uso de nomes
– torna improvável que eles sejam substituídos pela atribuição 
baseada em atributo em muitas aplicações
UFGD - SD 08 - Joinvile Batista Junior 24
E : X.500 Directory Service
1. Comente 2 principais tipos de requisições de acesso do X.500 
Directory Service.
UFGD - SD 08 - Joinvile Batista Junior 25
Estudo de Caso: X.500 Directory Service
• X.500 Directory Service [ITU/ISO 1997]
– suporta consultas de páginas brancas (recuperar atributos de um 
nome)
– ou de página amarelas (recuperar lista de nomes e atributos a partir 
de um filtro baseado em atributos)
• os dados são armazenados em uma estrutura de árvore com nós 
nomeados
– uma grande variedade de atributos é armazenada em cada nó da 
árvore
– normalmente uma organização grande (ou média) forneceria pelo 
menos um servidor
• se o servidor não tiver os dados: invocará outro servidor
– ou redirecionará o cliente para um outro servidor
– as entradas na árvore são classificadas de maneira semelhantes a 
classes de objetos de linguagens OO
UFGD - SD 08 - Joinvile Batista Junior 26
Estudo de Caso: X.500 Directory Service
• dois principais tipos de requisições de acesso
– read
• argumentos: nome absoluto ou relativo com lista de atributos de 
interesse
• retorno: atributos solicitados
– search
• argumentos: nome de base (nó inicial de busca), expressão de 
filtragem (combinação lógica de condições sobre os atributos)
• retorno: lista de nomes que atendem a expressão
• operações de administração para: adicionar, excluir e alterar entradas
UFGD - SD 08 - Joinvile Batista Junior 27
Estudo de Caso: X.500 Directory Service
• Lightweight Directory Access Protocol (LDAP)
– especificação baseada no X.500, mas mais leve
• acessa serviços do diretório X.500 diretamente sobre TCP/IP
– em vez de utilizar as camadas superiores da pilha de 
protocolos ISO
– tem sido amplamente utilizado
– fornece acesso seguro aos dados por meio de autenticação

Continue navegando