Sistemas Distribuídos Professor: Luiz José Hoffmann Filho

Slides:



Advertisements
Apresentações semelhantes
Capítulo 2: Camada de Aplicação
Advertisements

Aula 21/09/2011 Courouris, Dollimore, cap 10
DNS e Serviço de Nomes Campus Cachoeiro Curso Técnico em Informática
DNS: Domain Name System
DNS Introdução.
Web Caching with Consistent Hashing. Problemas com a Web Redes congestionadas Servidores atolados.
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Sistemas Distribuídos
Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos.
Serviços de Nomes e DNS 1.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Maria Alessandra Dubowski Nascimento
Nomeação.
Domain Name System - Sistema de Nomes de Domínios
ANTONIO LIMEIRA EDUARDO FRANKLIN LUCAS ARANHA RANIERI VALENÇA RODRIGO PIGATTI DNS.
DNS Willamys Araújo 1. Introdução A internet possui uma infinidade de sites e, para acessá-los, você digita um endereço no campo correspondente do seu.
TCP/IP.
Termos – redes de computadores
Transmissão de Dados O Modelo de Referência TCP/IP A Camada de Rede
Sistemas Distribuídos
Aula 6.  Conceitos de redes ◦ Protocolo TCPI/IP ◦ Endereçamento ◦ DNS ◦ Gateway ◦ Atribuição dinâmica e estática (DHCP)  Exercícios : Verificar configurações.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Curso Superior em Redes de Computadores OSPF – Parte 2 Prof. Sales Filho.
Configuração de VLANS em ambiente CISCO Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador.
José Antônio da cunha IFRN Administração de Banco de Dados.
Introdução POO Thiago Medeiros Sistemas de Informação Definição: Sistemas de Informação é uma combinação de pessoas, dados, processos, redes de.
Capítulo 1 Redes de computadores e a Internet Professor: Gustavo Wagner
Modelagem de Dados Aula 1.
Módulo de Gerenciamento de Chamados Tecnologia da Informação SERVICE DESK.
Tecnologias para Wireles LAN (IEEE ) Aula Computação Úbiqua Prof. Me. Diovani MIlhorim.
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Educopédia: plataforma de aulas digitais. Rioeduca.net: é o NOVO CANAL DE COMUNICAÇÃO e de INTERAÇÃO de todos os funcionários e alunos da SME/RJ. .
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
“Características e Limitações”
Tipos e topologias de rede
Universidade Federal do Espírito Santo - UFES Laboratório de Computação de Alto Desempenho - LCAD Introdução ao Logisim Prof. Alberto F. De Souza LCAD/DI/UFES.
Redes de Computadores e Aplicações – Camada de Rede (DHCP, NAT, ICMP) IGOR ALVES.
Curso Superior em Redes de Computadores Roteamento IP UNICAST OSPF – Parte 3 Prof. Sales Filho.
Sistemas Operacionais de Redes Windows – Active Directory IGOR ALVES.
Redes de Computadores e Aplicações – Camada de Rede IGOR ALVES.
Evolução da internet Introdução Internet Service Providers Internet Service Providers World Wide Web(WWW) World Wide Web(WWW) Protocolos.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
Sistemas Operacionais de Redes DNS
Curso Superior em Redes de Computadores FTP Prof. Sales Filho.
Redes de Computadores e Aplicações – Camada de Transporte IGOR ALVES.
Curso Superior em Redes de Computadores
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Apresentação de redes de computadores  Prof. Leandro Pisco.   Site:
Capítulo 1 Introdução aos Sistemas Operacionais Curso Técnico de Redes de Computadores Professor Emerson Felipe Administração de Sistemas Operacionais.
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Camada 4 A Camada de Transporte
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento dinâmico RIP IGOR ALVES.
Introdução a Redes v5.1 Capítulo 8: Divisão de Redes IP em Sub- Redes.
INTERNET Serviços e protocolos Escola Luís de Camões.
Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador II Seminário Final Simei Tabordes Gonçalves SERVIÇO NACIONAL.
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Inferência Estatística Camilo Daleles Rennó
Endereçamento IP Básico
Diagramas de Sequência e Comunicação
Mídias Sociais Aula 04 Mecanismo de Busca Operadores Prof. Dalton Martins Gestão da Informação Universidade Federal de Goiás.
Redes de Computadores Arquitetura TCP/IP Prof. Alberto Felipe / Ester Ozório.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
 Mapeamento de seus cenários internos e externos, identificando requisitos essenciais a serem atendidos;  Tradução de requisitos em informações a serem.
Profa. Priscila Facciolli.  O foco do diagrama é identificar a interação entre os objetos pelo tempo.  Identifica as mensagens trocadas entre os objetos.
SISTEMA OPERACIONAL Administra todos os recursos do computador fazendo a interação entre software e hardware. Sua função é gerenciar e disponibilizar.
Modelo OSI Com o objetivo de efetuar uma divisão das diversas partes da rede que compõem uma transmissão, para que possam existir etapas definidas e que.
Redes de Computadores e Aplicações – Modelo OSI IGOR ALVES.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Transcrição da apresentação:

Sistemas Distribuídos Professor: Luiz José Hoffmann Filho

Nomes, Identificadores, Endereços – Nomeação Simples Capítulo 5

Agenda Nomes, identificadores e Endereços – Definição Nomeação Simples – Soluções Simples (Broadcasting) – Tabela de Hash Distribuido (DHT) Nomeação Estruturada – Espaço de Nomes – Resolução de nomes Mecanismo de fechamento Alias e montagem – Implementação de um Espaço de Nomes (DNS) – Definição de Nomeação Baseada em Atributo

Nomes, Identificadores e Endereços Entidades: Máquinas, impressoras, discos, processos, usuários, páginas Web, janelas gráficas, mensagens, etc. São acessadas através deum ponto de acesso, ou simplesmente, endereço – Ex: Servidor e seu número IP Portanto, um endereço pode ser utilizado como uma maneira de nomear, identicar uma entidade – Problema: Entidade pode mudar facilmente de ponto de acesso! – Ex: Servidor Web alocado em outra rede

Nomes, Identificadores e Endereços Como nomear entidades, sem utilizar especificamente seu endereço, ou seja, nomeá-las independentemente da sua posição física (localização)? Identificadores ou Nomes amigáveis a seres humanos

Identificadores Em muitos casos, são cadeias aleatórias de bits, com as seguintes propriedades: – Um identificador referencia, no máximo, UMA entidade – Cada entidade é referenciada por, no máximo, um identificador – Um identificador sempre referência a mesma entidade, isto é, nunca é reutilizado Ex: Identificadores de entidades em sistemas P2P baseados no sistema Chord

Nomes Amigáveis Nomes representados por uma cadeia de caracteres – Pathnames, domínios na Internet, números de processos Ex: /etc/passwd; Como resolvemos nomes e identificadores para endereços?

Sistemas de Nomeação Mantém uma vinculação nome-endereço Na forma mais simples – Tabela de pares (nome,endereço) – Contudo, sistemas que abrangem redes de grande porte, uma tabela centralizada não vai funcionar

Sistemas de Nomeação Três Classes – Nomeação Simples – Nomeação Estruturada – Nomeação Baseada em Atributo

Nomeação Simples Aplicada a identificadores – Cadeias aleatórias de bits → nomes simples – Não contém sequer uma informação sobre como localizar o ponto de acesso de uma entidade associada

Nomeação Simples Problema: Dado um identificador, como localizar o ponto de acesso (endereço)? – Soluções Simples (broadcasting) – Localização Nativa – Tabelas de Hash Distribuídas (DHT)

Nomeação Simples – Broadcasting e Multicasting Consideradas soluções simples Aplicáveis somente a redes locais

Nomeação Simples – Broadcasting Recursos oferecidos por redes locais nas quais todas as máquinas estão conectadas a um único cabo ou seu equivalente lógico Como funciona? – Mensagem que contém o identificador da entidade é enviada a todos as máquinas da rede – Cada uma das máquinas verifica se tem esta entidade – Máquinas com ponto de acesso para a entidade, enviam uma msg que contém o endereço

Nomeação Simples – Broadcasting Se torna ineficiente quando a rede cresce – Largura de banda da rede é desperdiçada, com grande número de mensagens de requisição – Aumento da probabilidade de colisões de mensagens, diminuindo o throughput do sistema – Grande número de máquinas pode ser interrompido por requisições que não podem responder

Nomeação Simples – Multicasting Somente um grupo restrito de máquinas recebe a requisição Banco de Dados Replicado – Endereço multicast é associado a uma entidade replicada – Multicasting é usado para localizar a réplica mais próxima – Requisição para o endereço multicast, cada réplica responde com seu endereço IP – Réplica mais próxima → aquela cuja resposta chega antes

Nomeação Simples – Localização Nativa Abordagem para suportar entidades móveis em redes de grande escala Monitora a localização corrente de uma entidade Localização nativa costuma ser escolhida como o lugar em que a entidade foi criada

Nomeação Simples – Localização Nativa Mobile IP – Cada host móvel usa um endereço fixo – Toda a comunicação é dirigida inicialmente ao agente nativo do host móvel (situado na rede local do endereço do host) – Ao mudar de rede, host recebe um endereço externo (care-of-adress) e registra no agente nativo – Quando o agente nativo recebe um pacote para o host móvel Se na rede local → pacote repassado Senão → túnel até a localização corrente

Nomeação Simples – Localização Nativa

Nomeação Simples – Localização Nativa Desvantagens – Para se comunicar com uma entidade móvel, em primeiro lugar um cliente tem que contatar a localização nativa, que pode estar em um lugar completamente diferente → Latência de comunicação – Assegurar que a localização nativa sempre exista – Entidade decide mudar permanentemente para outra localizacão → localização nativa deve também mudar

Tabelas de Hash Distribuídas (DHT) Exemplo: Nós são organizados logicamente em um anel (Chord) – Usa um espaço de identificadores de m bits para designar nós e entidades específicas (arquivos, processos) – Número m bits é usualmente 128 ou 160 – Entidade com chave k cai sob a jurisdição do nó que tenha o menor identificador id >= k → succ(k)

Tabelas de Hash Distribuídas (DHT)- Chord Como resolver com eficiência uma chave k para o endereço de succ(k)? Abordagem linear Tabela de Derivação

Tabelas de Hash Distribuídas (DHT)- Chord Abordagem linear – Cada nó p monitora o sucessor succ(p+1) e o predecessor pred(p) – Ao receber uma requisição para a chave k, p repassa a requisição para os seus vizinhos, a menos que pred(p) < k <= p → p retorna o próprio endereço – Não escalável!

Tabelas de Hash Distribuídas (DHT)- Chord a) Suponhamos que p = 4 receba uma requisição para k = 7 → succ(p+1) → repassa a requisição ao nó = 9 a) Suponhamos que p = 4 receba uma requisição para k = 3 → como pred(4) = 1< 3<=4 → retorna o própio endereço.

Tabelas de Hash Distribuídas (DHT)- Chord Tabela de derivação (finger table) – Possui, no máximo, m entradas – Denotando a tabela de derivação de p por Ft p Ft p [i]=succ(p+2 i -1 ) i-ésima entrada aponta para o primeiro nó que sucede p por no mínimo 2 i - 1

Tabelas de Hash Distribuídas (DHT)- Chord Como encontrar uma entidade k? – Referências na tabela de derivação são atalhos para nós existentes no espaço de identificadores – Distância do atalho em relação ao nó p aumenta exponencialmente à medida que o índice na tabela de derivação cresce – Para consultar uma chave k, o nó p repassará a requisição ao nó q com índice j na tabela de derivação de p q = Ft p [ j ] <= k <= FT p [j+1]

Tabelas de Hash Distribuídas (DHT)- Chord 1) Considere a resolução de k=26, a partir do nó 1 2) Nó 1 consultará k=26 → verifica que o valor é maior do que FT 1 [5] 3) Requisicão será repassada para o nó 18 4) O nó 18 selecionará o nó 20, porque FT 18 [2] < k<= FT 18 [3] 5) Por fim, requisição é repassada do nó 20 para o nó 21 e deste para 28 Consulta → O(log(N)) passos

Explorando Proximidade na Rede Problema: Organização lógica do nós em uma rede de sobreposição (orvelay) pode levar a uma escolha errada no roteamento de mensagens → k e succ(k+1) podem estar muito longe fisicamente

Explorando Proximidade na Rede Identificar nós com base na topologia: Ao atribuir um ID a um nó, ter certeza que nós próximos no espaço de endereçamento estejam também próximos fisicamente. Roteamento por proximidade Manter mais de um sucessor e repassar a requisição para o mais próximo. Seleção de vizinho por proximidade Ao escolher um vizinho (não em Chord), pegue o mais próximo

Nomeação Estruturada Nomes simples são bons para máquinas, mas não são convenientes para a utilização de seres humanos Sistemas de nomeação comumente suportam nomes estruturados – Exemplo: Nomeação de arquivos, hosts na Internet

Espaço de Nomes Nomes são organizados em um espaço de nomes Espaços de nomes podem ser representados como um grafo dirigido, com dois tipos de nós: – Nó-folha: entidade – Nó de diretório: entidade que se refere a outros nós Nó de diretório possui uma tabela de diretório

Espaço de Nomes Sistemas de nomeação possuem, na maioria, um nó raiz Cada caminho no grafo de nomeação pode ser referenciado pela sequência dos labels nas arestas N: Nome de caminho absoluto: primeiro nó no caminho é a raiz Nome de caminho relativo: primeiro nó pode ser qualquer nó

Resolução de Nomes Espaços de nomes oferecem um mecanismo para armazenar e recuperar informações sobre entidades por meio de nomes Dado um nome de caminho, deve ser possível consultar qualquer informação armazenada no nó referenciado por aquele nome Problema: Para resolver um nome, precisamos de um nó de diretório. Como escolher este nó inicial?

Resolução de Nomes Mecanismo de fechamento: Trata da seleção do nó inicial em um espaço de nomes a partir do qual a resolução de nomes deve começar. São implícitos ao contexto em que a resolução de nomes está se aplicando – início da resolução é feito através do servidor de nome DNS – /home/steen/mbox:início da resolução ocorre no servidor local NFS

Resolução de Nomes – Alias Outro nome para a mesma entidade Vários nomes absolutos para o mesmo nó (hard link)

Resolução de Nomes – Alias Symbolic link: permite a um nó-folha ter associado um caminho absoluto

Resolução de Nomes – Diversos Espaços de Nomes Como fundir diferentes espaços de nomes de maneira transparente? Dado dois espaços de nomes A e B, como A acessa B e B acessa A? Possível Solução: Montagem (Mouting) Mount point: O nó de diretório que armazena o identificador de nó do espaçao de nome externo Mounting point: Nó de diretório no espaço de nomes externo

Diversos Espaços de Nomes - Mounting

Implementação de um Espaço de Nomes Serviço que permite que usuários e processo adicionem, removam e consultem nomes Serviço de nomeação é implementado por servidores de nomes Servidores de nomes devem prover: – Escalabilidade – Manutenção descentralizada – Tolerância a falhas, robustez – Escopo global: Nomes possuem o mesmo significado em todos lugares

Implementação de um Espaço de Nomes Costumam ser organizados em hierarquia Segundo Cheriton e Mann (1989) é conveniente dividir os espaço de nomes em três camadas – Camada global Raiz e seus filhos Principal característica: Estabilidade Podem representar organizações – Camada Administrativa Nós de diretórios Gerenciados por uma única organização Relativamente estáveis – Camada Gerencial Nós cujo comportamento típico é a mudança periódica Mantidos por administradores de sistemas e usuários finais

Implementação de um Espaço de Nomes

Comparação entre servidores de nomes

Como resolver nomes? Resolução Iterativa – Servidor responde somente o que sabe: o nome do próximo servidor que deve ser buscado – Cliente procura iterativamente os outros servidores Resolução Recursiva – Servidor passa o resultado para o próximo servidor que encontrar – Para o cliente, somente existe uma mensagem de retorno: o endereço do nome ou 'não encontrado'

Como resolver nomes?

Tipo Carga Camada Global CacheComunição Iterativa BaixaMenos Eficiente Custosa Recursiva AltaMais Eficiente Menos custosa Iterativa versus Recursiva

2b: Camada de Aplicação12 DNS: Domain Name System Pessoas: muitos identificadores: – CPF, nome, no. da Identidade hospedeiros, roteadores Internet : – endereço IP (32 bit) - usado p/ endereçar datagramas – “nome”, ex., jambo.ic.uff.br - usado por gente P: como mapear entre nome e endereço IP? Domain Name System: base de dados distribuída implementada na hierarquia de muitos servidores de nomes protocolo de camada de aplicação permite que hospedeiros, roteadores, servidores de nomes se comuniquem para resolver nomes (tradução endereço/nome) – nota: função imprescindível da Internet implementada como protocolo de camada de aplicação – complexidade na borda da rede

2b: Camada de Aplicação13 DNS (cont.) Serviços DNS Tradução de nome de hospedeiro para IP Apelidos para hospedeiros (aliasing) – Nomes canônicos e apelidos Apelidos para servidores de Distribuição de carga – Servidores Web replicados: conjunto de endereços IP para um nome canônico Por que não centralizar o DNS? ponto único de falha volume de tráfego base de dados centralizada e distante manutenção (da BD) Não é escalável!

14 com DNS servers org DNS serversedu DNS servers poly.edu DNS servers umass.edu DNS servers yahoo.com amazon.com DNS servers pbs.org DNS servers Base de Dados Hierárquica e Distribuída Root DNS Servers Cliente quer IP para 1 a aprox: Cliente consulta um servidor raiz para encontrar um servidor DNS.com Cliente consulta servidor DNS.com para obter o servidor DNS para o domínio amazon.com Cliente consulta servidor DNS do domínio amazon.com para obter endereço IP de 2b: Camada de Aplicação

15 DNS: Servidores raiz procurado por servidor local que não consegue resolver o nome servidor raiz: – procura servidor oficial se mapeamento desconhecido – obtém tradução – devolve mapeamento ao servidor local a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo 13 servidores de nome raiz em todo o mundo

2b: Camada de Aplicação16 Servidores TLD e Oficiais Servidores Top-level domain (TLD) : – servidores DNS responsáveis por domínios com, org, net, edu, etc, e todos os domínios de países como br, uk, fr, ca, jp. – Network Solutions mantém servidores para domínio.com – NIC.br (Registro.br) para domínio.br Servidores oficiais: – servidores DNS das organizações, provendo mapeamentos oficiais entre nomes de hospedeiros e endereços IP para os servidores da organização (e.x., Web e correio). – Podem ser mantidos pelas organizações ou pelo provedor de acesso

2b: Camada de Aplicação17 Servidor de Nomes Local Não pertence necessariamente à hierarquia Cada ISP (ISP residencial, companhia, universidade) possui um. – Também chamada do “servidor de nomes default” Quanto um hospedeiro faz uma consulta DNS, a mesma é enviada para o seu servidor DNS local – Atua como um intermediário, enviando consultas para a hierarquia.

2b: Camada de Aplicação18 solicitante cis.poly.edu gaia.cs.umass.edu servidor raiz 3 servidor oficial dns.cs.umass.edu servidor local dns.poly.edu 1 8 servidor TLD 6 Exemplo de resolução de nome pelo DNS Hospedeiro em cis.poly.edu quer endereço IP para gaia.cs.umass.edu

2b: Camada de Aplicação19 solicitante cis.poly.edu Exemplo de resolução de nome pelo DNS servidor DNS raiz servidor DNS oficial dns.cs.umass.edu gaia.cs.umass.edu 7 servidor DNS local dns.poly.edu 1 8 servidor TLD 3

2b: Camada de Aplicação20 DNS: uso de cache, atualização de dados uma vez que um servidor qualquer aprende um mapeamento, ele o coloca numa cache local – entradas na cache são sujeitas a temporização (desaparecem depois de um certo tempo) – Servidores TLD tipicamente armazenados no cache dos servidores de nomes locais Servidores raiz acabam não sendo visitados com muita freqüência

Nomeação Baseada em Atributo Fornecer uma descrição da entidade que está sendo procurada Descrever uma entidade em termos de pares Serviços de diretório retornam uma ou mais entidades que atendam a descrição do usuário