1 / 35

Sistemas Distribuídos

Sistemas Distribuídos. Capítulo 3 Nomes. Objectivos da Gestão de Nomes. Associação entre um nome e um objecto Identificar os objectos Localizar os objectos Partilhar os objectos Simplificar a interface com os utilizadores Simplificar a gestão do sistema. Nomes e Identificadores.

nixie
Télécharger la présentation

Sistemas Distribuídos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Distribuídos Capítulo 3 Nomes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  2. Objectivos da Gestão de Nomes Associação entre um nome e um objecto • Identificar os objectos • Localizar os objectos • Partilhar os objectos • Simplificar a interface com os utilizadores • Simplificar a gestão do sistema Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  3. Nomes e Identificadores • Nome: representação de um objecto, normalmente na forma de uma cadeia de caracteres • Atribuído pelo utilizador • Um objecto pode ser designado por vários nomes • Cada objecto tem que ter pelo menos um nome • Identificador: nome sistema de um objecto, normalmente em formato binário • Atribuído por uma autoridade • Permite discriminar e aceder ao objecto • Autoridade: gere o objecto, suporta a sua implementação Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  4. Exemplos de Identificadores e Autoridades Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  5. Conceitos de Base • Espaço de Nomes: conjunto de regras que define os nomes admissíveis • Contexto: conjunto de associações pertencentes a um dado espaço de nomes • Directório: tabela que num contexto descreve as associações entre nomes e objectos Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  6. Contexto objectos Contexto objectos Directório Directório Conceitos de Base Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  7. Hierarquia das Associações • A associação nomeobjecto é lógica, sendo frequentemente entre nomes pertencentes a diferentes níveis de abstracção: • Ficheiro Unix : a/b/c  inode 1056  dispositivo - número do bloco disco; • Nó da rede Internet : sina@inesc.pt  endereço IP 146.193.20.12  endereço Ethernet. Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  8. Propriedades do Espaço de Nomes • Unicidade referencial • Âmbito de um nome • Homogeneidade dos nomes • Pureza dos nomes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  9. Unicidade Referencial • Unicidade referencial: num determinado contexto, um nome está associado a um só objecto • Caso contrário, haveria ambiguidade referencial • A situação inversa não é verdadeira, pode haver vários nomes para o mesmo objecto • Nome simbólico: referencia outro nome do objecto Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  10. Âmbito de um Nome • Global (absoluto): um nome tem o mesmo significado em todos os contextos • Independentes da localização do utilizador • Simples de transferir entre contextos • Local (relativo): O contexto apenas engloba parte do sistema, os nomes são válidos só nesse contexto • Nomes são atribuídos independentemente em cada contexto • Permite representação eficiente de nomes (ex: apontador) • Nomes têm que ser traduzidos para transferir para outro contexto Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  11. Nomes Globais • Difíceis de realizar garantindo a unicidade referencial: • Atribuídos centralmente: fraca escalabilidade, grande latência, ponto único de falha • Difundidos por todos os contextos: impracticável em larga escala • Nomes com grande amplitude referencial: podem ser atribuídos independentemente • Nomes “grandes” gerados pseudo-aleatoriamente • Ex: Identificadores com 128 bits • Nomes hierárquicos: nomes globais compostos pela concatenação de nomes locais • Ex: Números de telefone • Ex: Nomes Internet • Ex: Nomes de ficheiros Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  12. Homogeneidade dos Nomes Hierárquicos • Homogéneos: todas as componentes do nome têm o mesmo espaço de nomes • Ex: Sistema de ficheiros Unix • Ex: Nomes Internet • Heterogéneos: o espaço de nomes é diferente para certas componentes do nome • Ex: URL http://hostport/[path][?search] Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  13. Pureza de um Nome • Nomes puros: o algoritmo de resolução do nome não utiliza qualquer informação presente no nome para inferir da localização do objecto ou da autoridade que o controla • Nome não contém identificadores físicos • Vantagens: flexibilidade, facilidade de reconfiguração • Desvantagens: impracticável em larga escala • Nomes impuros: a informação contida no nome é utilizada no algoritmo de resolução • Nome contém identificadores físicos e/ou topologia do sistema • Vantagens: realização fácil, extensível, escalável • Desvantagens: reconfiguração difícil Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  14. Exemplos de Estruturas de Nomes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  15. Funcionalidade do Serviço de Nomes • Registo das associações • Verifica que a sintaxe do nome está de acordo com o espaço de nomes • Armazena a associação • Distribuição das associações • Actualização dos directórios nos contextos onde a associação deve ser válida • Resolução dos nomes • Tradução do nome noutro nome ou num identificador • Normalmente feita sem conhecimento da estrutura do nome • Processo pode ser repetido recursivamente em vários níveis • Resolução inversa • Dado um identificador, devolve o seu nome Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  16. Características dos Nomes em Sistemas Distribuídos • Larga escala • Distribuição geográfica • Necessidade de grande disponibilidade • Heterogeneidade de nomes e protocolos • Consistência fraca • Estabilidade, nomes variam pouco Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  17. Dificuldades da Realização da Gestão de Nomes • Escala • Grande número de máquinas • Gestão independente • Acelerado crescimento e evolução • Disponibilidade • Serviço básico em muitas operações sistema (comunicação entre processos, etc) • Desempenho • Importante na latência dos serviços que neecssitam da gestão de nomes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  18. Evolução da Arquitectura do Serviço de Nomes • Ficheiros replicados em todas as máquinas • Pedido em difusão, respondendo o nó que contém a autoridade do objecto • Arquitectura cliente-servidor Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  19. Arquitectura da Gestão de Nomes • Agente do serviço de nomes • Efectua o processamento do cliente • Oferece uma interface ao utilizador ou ao programador • Servidores de nomes • Realizam o serviço de nomes • Base de dados de nomes • Mecanismo de armazenamento persistente da informação nos servidores Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  20. domínios Cliente Contexto Servidor Aplicação de Nomes Servidor Servidor Agente de Nomes de Nomes RPC Armazenamento da Informação Arquitectura daGestão de Nomes Acesso a outros Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  21. Agente do Serviço de Nomes • Conjunto de utilitários e rotinas de adaptação (stubs) que efectuam os pedidos aos servidores • Inicialização: • Porto do servidor é fixo (well-known) • Difusão periódica do endereço dos servidores • Pedido em difusão na inicialização do cliente Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  22. Resolução dos Nomes • Recursiva: o servidor resolve a parte do nome que conseguir e reenvia o pedido a outro servidor, até completar a resolução do nome • Iterativa: o servidor resolve a parte do nome que conseguir e devolve o restante ao cliente, que reencaminha o pedido para o próximo servidor • Transitiva: o servidor resolve a parte do nome que conseguir e reenvia o pedido a outro servidor, que responde ao cliente Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  23. Arquitectura dos Servidores de Nomes • Nomes replicados em todas as máquinas • Um servidor centralizado • Um servidor centralizado e caches nos clientes • Múltiplos servidores e caches Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  24. Técnicas Usadas nosServidores de Nomes • Replicação: informação replicada por diversos servidores • Nomes não variam muito depressa, as inconsistências são raras • O sistema consegue normalmente detectar nomes obsoletos • Uso de nomes obsoletos não é normalmente catastrófico • Domínios: espaços autónomos de administração onde os nomes são traduzidos localmente • Interligação: diferentes domínios, possivelmente com protocolos diferentes, podem ser interligados de forma hierárquica Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  25. Servidores de Nomes • Arquitectura relativamente simples: • Servidor verifica se o nome pertence ao seu contexto • Se pertencer, traduz e devolve a resposta • Se não pertencer, • Reencaminha para o servidor certo, ou • Devolve ao cliente, ou • Envia para o nível hierárquico superior • Caches nos servidores • Replicação de servidores • Bases de dados simples Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  26. DNS - Domain Name Server Protocolo de gestão de nomes da Internet (RFC 1034, RFC 1035, RFC 974) • Domínio: entidade administrativa de um subconjunto do espaço de nomes • Autoridade: entidade que tem autoridade para gerir a base de dados de nomes, dentro de um domínio • Espaço de nomes: miguelina.inesc.pt. Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  27. " " com edu gov pt org gb inesc ist mit usc Exemplo deÁrvore de Nomes do DSN Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  28. Nomes DNS • Nomes hierárquicos • Gestão de topo efectuada pelo Internet Network Information Center • Gestão dos subdomínios delegada em autoridades regionais • Portugal: Fundação para o Cálculo Científico Nacional (FCCN) • Gestão dos subdomínios locais delegada nas organizações • Entradas no DNS associam a cada nome informação sobre o objecto (registos RR, Resource Register) Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  29. Tipos de Registos no DNS Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  30. Organização do DNS • Árvore de nomes dividida em sub-árvores denominadas zonas • A zona define realmente quem tem a responsabilidade de instalar e gerir os servidores de nomes • Um domínio está sempre contido numa zona • Uma zona pode abranger vários domínios • Cada zona é gerida por uma autoridade • A autoridade corresponde à capacidade de alterar os ficheiros no servidor primário Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  31. Servidores DNS • Associado a uma zona existe sempre um servidor • Contém a base de dados com os nomes desse conjunto de domínios • Servidor sempre replicado • Primário: mantém a base de dados, onde se efectuam as actualizações • Secundário: contém uma cópia da informação do primário, actualizada periodicamente com um protocolo dedicado • Todos os servidores mantêm caches • Validade indicada pelo parâmetro TTL Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  32. BINDBerkeley Internet Name Domain • Implementação do DNS para Unix • Contém 2 componentes: • resolver: conjunto de rotinas cliente • Integradas na biblioteca de C (/lib/libc.a) • Usadas pelas rotinas de resolução de nomes (gethostbyname, gethostbyaddr) • named: servidor de nomes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  33. Servidores de Nomes • Master: autoridade no domínio • Mantém todos os dados do domínio • Primary master: carrega a base de dados de disco • Secondary master: na inicialização recebe a base de dados do primary server. Periodicamente contacta o primary master para a actualizar • Um servidor pode ser master para mais que um domínio, sendo primary para um e secondary para outros • Caching: apenas mantém dados em cache • Contacta os outros servidores para obter a informação • Não é autoridade para nenhum domínio • Remote: servidor remoto • Slave: redirige os pedidos que não consegue servir para uma lista de servidores, e não para os master Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  34. Programa Utilizador Pedido Servidor de Servidor resolve Reencaminha- Primário mento Resposta Actualização Servidor Secundário Exemplo de Arquitecturado BIND Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

  35. Portmap: Serviço de Nomes do SUN RPC • Um servidor por máquina • Os servidores SUN RPC registam no portmapper local os programa que servem • Na associação ao servidor de RPC (binding), os clientes especificam o nome da máquina e o número do programa • Efectuado RPC ao portmap • Este devolve o porto do servidor de RPC • A informação entre os vários portmap pode ser mantida coerente com o NIS Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt

More Related