Sistemas de Nomes Planos



Documentos relacionados
Sistemas Distribuídos. Nomeação. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Arquitecturas de Sistemas. Arquitecturas Descentralizadas de Sistemas

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto

Encaminhamento em redes instáveis. Localização de nós em redes Peer-to-Peer Napster Gnutella Chord

Ciência de Computadores Sistemas Distribuídos e Móveis

Redes de Computadores

Diego Takashi Sato Pollyanna Fernandes Moreira SISTEMAS DISTRIBUÍDOS PROFESSOR VAGNER SACRAMENTO

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

A camada de rede do modelo OSI

Acronis Servidor de Licença. Manual do Utilizador

Peer-to-Peer. Introdução. Motivação. Definição. Definição. Definição. Everton Flávio Rufino Seára Murilo R. de Lima

Submissão Autenticada de Ficheiros ao SIGEX

Sistemas Informáticos

Programação de Sistemas

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Sistemas de Nomes Hierarquicos: DNS

PEER DATA MANAGEMENT SYSTEM

Departamento de Informática

Segurança: Controlo de Acesso

CAP. I ERROS EM CÁLCULO NUMÉRICO

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Tópicos Especiais em Redes de Telecomunicações

Análise de Algoritmos: Melhor caso, pior caso, caso médio

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Redes overlay peer-to-peer baseadas em SIP

SISTEMAS DISTRIBUÍDOS

Comunicação. Parte II

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura

NOTA DE ESCLARECIMENTO

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace.

Tabela de símbolos: tabelas de espalhamento

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

Aplicações P2P. André Lucio e Gabriel Argolo

Capítulo Tabelas e Gráficos

Protocolos em Redes de Dados. Enquadramento histórico. Modo de funcionamento FEC. Antecedentes IP Switching Tag Switching. Exemplo de.

Aula 08 MPLS FCUL. Protocolos em Redes de Dados. Luís Rodrigues. Enquadramento. Modo de funcionamento. Antecedentes MPLS.

Sistemas Distribuídos e Tolerância a Falhas. Tempo e Relógios. Baseado no trabalho de: Ana Sofia Cunha m1892 Christian Lopes a15132 UBI, 2008

Mensagens instantâneas

09/06/2011. Profª: Luciana Balieiro Cosme

Módulo 8 Ethernet Switching

Figura 1 - O computador

Conceitos de relação de confiança

Exame de Métodos Quantitativos. Época de 2000/2001-1ª Chamada

Algoritmos de pesquisa. Tabelas de dispersão/hash

MC714 - Sistemas Distribuídos. Leandro Villas

Objetivos: i) Verificar o impacto de loops em redes locais ii) Configurar o protocolo STP para remover loops da rede

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão

Sistema Operativo em Ambiente Gráfico

Arquitetura de Rede de Computadores

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Sistemas Distribuídos e Paralelos

Tabela de roteamento

Rede de Computadores

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

SISTEMAS DISTRIBUIDOS

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

O que são DNS, SMTP e SNM

Relatório do 2º Guião Laboratorial de Avaliação: Encaminhamento de pacotes. Licenciatura: ETI Turma : ETC1 Grupo : rd2_t3_02 Data: 30/10/2009

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Proposta. Atribuição de endereços IPv6 na UTL

DNS DOMAIN NAME SERVER

Algoritmos criptográficos de chave pública

Um sistema SMS 1 simplificado

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Tarefa Orientada 16 Vistas

02.01 Taxinomia das CDNs RDC/ISEL-DEETC-SRT 1

Ambiente de trabalho. Configurações. Acessórios

Introdução Ligação direta Ligação direta Default

Redes de Comunicações Capítulo 6.1

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

Consulte a exposição. Qual declaração descreve corretamente como R1 irá determinar o melhor caminho para R2?

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

ADMINISTRAÇÃO DE REDES DE COMPUTADORES. Elementos da rede (Repetidor, hub, bridge, switch, router) Spanning Tree Protocol UALG/FCT/DEEI 2005/2006

Entendendo como funciona o NAT

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

VORONOI STATE MANAGEMENT FOR PEER-TO-PEER MASSIVELY MULTIPLAYER ONLINE GAMES

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

HASHING. Katia Guimarães. 1

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Redes de Computadores

Transcrição:

Sistemas de Nomes Planos November 2, 2009 Sumário Sistemas de Nomes Planos e DHTs Chord

Sistemas de Nomes Planos Tipicamente, sistemas de nomes à escala da Internet usam nomes estruturados hierarquicamente. Até há bem pouco tempo desconhecia-se como resolver de forma eficiente nomes não estruturados em sistemas de nomes de grande escala. O aparecimento de sistemas peer-to-peer foi o catalizador de investigação nesta área tendo conduzido à invenção de algoritmos para a resolução de nomes planos Um problema chave na maioria dos sistemas P2P é localizar um objecto a partir do seu nome. Muitos sistemas baseiam-se no conceito de Distributed Hash Table (DHT). Distributed Hash Table (DHT) Uma DHT é muito semelhante a uma hash-table: Cada objecto está associado a uma chave única. De facto, uma DHT implementa uma única operação: lookup(key) que retorna o endereço de rede do nó associado à chave key. O endereço é depois usado quer para inserir o objecto quer para aceder ao objecto. Em geral, os nós da rede P2P e as chaves são identificados por um identificador do mesmo domínio, p.ex. são um número com m bits; O nó associado a uma dada chave é aquele cujo identificador é o mais próximo dessa chave. A definição de distância é um aspecto fundamental na concepção de DHTs.

Exemplo de DHT: Chord Chord usa identificadores com m-bits ordenados circularmente em aritmética mod 2 m. Cada nó tem um identificador com m-bits gerado aleatoriamente; Cada objecto está associado a um identificador também com m-bits; A chave k está associada ao nó succ(k) succ(k) é o nó com o menor id entre todos os nós cujo id é igual ou maior do que k. Resolução duma Chave em Chord (1/2) Problema Dada uma chave k, como se pode determinar succ(k)? Não Solução Cada nó n mantém informação sobre o seu sucessor (succ(n + 1)). A resolução pode ser feita seguindo qualquer estratégia (iterativa, transitiva, recursiva). Solução não escalável.

Resolução duma Chave em Chord (2/2) Solução Além de informação sobre o seu sucessor, cada nó mantém apontadores que lhe permitem reduzir pelo menos em metade a distância à chave. Como os nós à distância 2 i podem não existir, cada nó n mantém referência para succ(n + 2 i ) n + 2 m 1 n n + 2 0 n + 2 1 n + 2 m 3 n + 2 m 2 Este esquema tem 2 propriedades importantes: 1. Cada nó precisa armazenar informação relativa a apenas um pequeno número de nós, e sabe mais sobre nós na vizinhança do que sobre nós mais remotos; 2. A tabela não contém informação suficiente para determinar o sucessor duma chave k arbitrária. Chord: Finger Table (1/2) A (Finger table) FT n [] é o vector com as m referências: FT n [i] = succ(n + 2 i 1 )mod2 m FTn [1] é o sucessor de n na circunferência. Para localizar (lookup) uma chave k o nó n reenvia o pedido para: O seu sucessor, i.e. FT n [1], se n < k < FT n [1] O nó n de indice j tal que n = FT n [j] k < FT n [j + 1] (De facto, devia usar-se aritmética módulo 2 m ) Chord funciona correctamente desde que FT n [1] seja mantido correctamente: Inconsistências temporárias noutros elementos de FT n [] podem ser toleradas tentando a resolução após um intervalo. No artigo original, é descrita uma estratégia iterativa. Permite actualizar os elementos da Finger Table.

Chord: Finger Table (2/2) 1 1 2 1 3 1 4 4 5 14 Actual node 26 27 28 29 30 31 Resolve k = 12 from node 28 0 1 1 4 2 4 3 9 4 9 5 18 2 3 Finger table 4 5 6 i 1 9 2 9 3 9 4 14 5 20 i-1 succ(p + 2 ) 25 7 1 28 2 28 3 28 4 1 5 9 24 23 22 21 1 21 2 28 3 28 4 28 5 4 20 19 Resolve k = 26 from node 1 18 1 20 2 20 3 28 4 28 5 4 17 16 15 14 13 12 1 18 2 18 3 18 4 28 5 1 11 10 8 9 1 14 2 14 3 18 4 20 5 28 1 11 2 11 3 14 4 18 5 28 Chord: Problemas Adicionais Associação dum nó n O nó pode pedir a um nó arbitrário para localizar succ(n) O importante é actualizar FT n [1]; O processo pode ser simplificado se cada nó mantiver também informação sobre o seu predecessor. Periodicamente, um nó envia uma mensagem ao seu sucessor, e actualiza os elementos de FT n [] Avaria dum nó Em vez de manter um único sucessor, cada nó mantém uma lista de r sucessores. Se o sucessor falhar, o nó poderá tentar encontrar um sucessor alternativo. Geração de identificadores Pode ser realizada usando funções de hashing criptográficas, o que fornece algumas garantias de resiliência contra ataques de denial-of-service.

Problema com Topologias Virtuais (1/2) Problema Chord, e muitos outros sistemas peer-to-peer, usam uma rede virtual (overlay network) construída sem ter em conta a rede física sobre a qual é construída, i.e. a Internet. As mensagens podem seguir um caminho errático e pouco eficiente. Sol. 1: Atribuição de identificadores dependente da topologia Nós topologicamente próximos são atribuídos identificadores próximos. Nem sempre é possível, p.ex. Chord. Problema com Topologias Virtuais (2/2) Sol. 2: Encaminhamento baseado na proximidade Por exemplo, em Chord, cada nó poderia manter não um nó mas vários nós para cada intervalo [n + 2 i 1, n + 2 i ], e poderia encaminhar o seu pedido a um nó próximo. O nó escolhido poderá não ser aquele cujo identificador é o mais próximo da chave. Sol. 3: Selecção de vizinhos baseada na proximidade Em alguns algoritmos, os nós podem seleccionar os seus vizinhos, i.e. estabelecer as ligações na rede virtual. De novo, isto não é possível em Chord.

Leitura Adicional Subsecção 5.2.3 de Tanenbaum e van Steen, Distributed Systems, 2nd Ed.