Baixe o app para aproveitar ainda mais
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
Compartilhar