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

Documentos relacionados
Arquitetura de sistemas distribuídos

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

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Redes P2P Gnutella e Simuladores

características compartilhamento de recursos sem necessidade de um elemento centralizador ciclos de CPU, armazenamento, banda...

Redes P2P. Apresentadora: Luciana Pereira Oliveira. Duração: 40 minutos Data: 20/07/

Paradigma. Ponto-a-Ponto. Compartilhamento de serviços e recursos computacionais diretamente entre sistemas. Integração de Dados e Warehousing

Programação de Sistemas Distribuídos e Concorrência

o que é p2p? sistemas onde todos os nós são equivalentes em funcionalidade e no papel desempenhado ...

Sistemas Distribuídos

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Conceitos de Sistemas Distribuídos

Sistemas Distribuídos

SKYPE & REDES P2P. José Santos & Xavier Araújo

Arquiteturas. Capítulo 2

Paradigma. Ponto-a-Ponto. Compartilhamento de serviços e recursos computacionais diretamente entre sistemas. Integração de Dados e Warehousing

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas entre Pares e Redes Sobrepostas

Camada de Aplicação da Arquitetura TCP/IP

Redes de Computadores

Redes de Computadores

Vídeo Par a Par. Pedro Silveira Pisa Redes de Computadores I Professor: Otto Carlos Muniz Bandeira Duarte

Programação Distribuída. Arquiteturas

Sistemas Distribuídos Aula 10

Sistemas Distribuídos

STD29006 Sistemas Distribuídos

Arquiteturas. capítulo

Funcionalidade e Protocolos da Camada de Aplicação

Compartilhamento e localização de conteúdo. Hubert Fonseca Algoritmos Distribuídos PUC Rio Junho de Redes P2P

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE

Sistemas Distribuídos Capítulo 5 - Aula 8

UMA FERRAMENTA PARA COMUNICAÇÃO CONFIÁVEL EM SISTEMAS P2P BASEADA EM GRUPOS DE PEERS

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Software para compartilhamento de arquivos entre celulares usando a tecnologiapeer-to-peer aliada à plataforma JXME

Sistemas Distribuídos

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

Caracterização de Sistemas Distribuídos

Computação Distribuída

WEB2PEER: UMA INFRA-ESTRUTURA BASEADA EM REDES PEER-TO-PEER PARA PUBLICAÇÃO DE PÁGINAS NA INTERNET

Aula 6. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba. Aula 6. Prof. Daniel F.

Arquitetura de sistemas distribuídos

Capítulo II Modelos de Programação Distribuída (parte 2)

Sistemas entre Pares e Redes Sobrepostas

FERRAMENTA DE BACKUP TRANSPARENTE BASEADA EM P2P

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Desenvolvimento de Aplicações Distribuídas

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Definição Rede Computadores

Anatomia do BitTorrent: a Ciência da Computação por trás do protocolo

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Áudio digital - áudio de fluxo

Desenvolvimento de Aplicações Distribuídas

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Sistemas Distribuídos Capítulo 2 - Aula 2

Aula 3 Redes de Interconexão

O que é um sistema distribuído?

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

SISTEMAS DISTRIBUÍDOS

Capítulo 7. A camada de aplicação

Desenvolvimento de Aplicações Distribuídas

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Topologias de Arquiteturas de Comunicação

PROTÓTIPO DE SOFTWARE PARA COMPARTILHAR INFORMAÇÕES ENTRE COMPUTADORES ATRAVÉS DA TECNOLOGIA PEER-TO-PEER (P2P), USANDO A PLATAFORMA JXTA

Sistemas Distribuídos

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Flávio G F Camacho Vipnet Baixada Telecomunicações e Informática LTDA

Protocolos da camada aplicação

SIST706 Sistemas Distribuídos

Redes (celulares) tradicionais. Redes móveis ad hoc MANET. Redes ad hoc. Para que MANETs? Aplicações. Conectividade single hop com o mundo com fio

Processamento distribuído em ambiente peer-to-peer

PROJETO DE REDES

Backup e Restauração Banco de Dados. Evandro Deliberal

Sistemas Distribuídos

Roteamento e Roteadores. Conceitos Diversos

Sistemas Distribuídos

Sistemas distribuídos. Prof. Emiliano Monteiro

Download e Upload. De forma muito objetiva podemos dizer que um arquivo possui pelo menos três características que os definem:

Aplicação de rede. GA-027 Redes de Computadores. Camada de Aplicação. Artur Ziviani LNCC/MCT. Execução nos sistemas finais com comunicação via rede

Sistemas Distribuídos

Introdução a Sistemas Distribuídos

Sistema de Gestão de Banco de Dados SGBD. David Fernandes França

SI06 DIMENSÃO TECNOLÓGICA I

Técnico em Radiologia. Prof.: Edson Wanderley

Introdução aos Sistemas Distribuídos

Introdução à Computação

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Sistemas Operacionais Distribuídos

IMPLEMENTAÇÃO DE UM ALGORITMO DE BUSCA

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Um Repositório Chave-Valor com Garantia de Localidade de Dados. Patrick A. Bungama Wendel M. de Oliveira Flávio R. C. Sousa Carmem S.

Introdução à Informática

Transcrição:

Redes Peer-to to-peer Arquitetura de Redes P2P Exemplos de Redes P2P Indexação e Busca Integridade e Proteção 1

Redes Peer-to-Peer Redes Peer-to-Peer (P2P) São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade Permitem que os pares compartilhem recursos diretamente, sem envolver intermediários 2

Definição Redes Peer-to-Peer São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar recursos, como conteúdo, ciclos de CPU, largura de banda e armazenamento, com a capacidade de adaptação a faltas e acomodação a um número variável de nós, ao mesmo tempo que mantém a conectividade e o desempenho em níveis aceitáveis, sem a necessidade de suporte ou intermediação de um servidor centralizado. (Adroutsellis-Theotokis & Spinellis, 2004) 3

Redes Peer-to-Peer Características: Auto-organização: organização: não há um coordenador do grupo; toda a coordenação é distribuída Adaptabilidade: rede se ajusta ao ambiente, mesmo que ocorram falhas Escalabilidade: rede cresce em escala facilmente; não há ponto de estrangulamento Comunicação direta entre os pares: se opõe ao tradicional modelo cliente-servidor, já que cada nó pode fornecer ou obter recursos 4

Redes Peer-to-Peer Utilização: Compartilhamento de arquivos, imagens, músicas, vídeos, etc. Atualização de sistemas operacionais e de software aplicativo Gerenciamento de redes e sistemas Processamento distribuído Sincronização de bancos de dados Difusão de informações etc. 5

Arquitetura de Redes P2P Classificação da Arquitetura de Redes P2P Arquitetura Centralizada: utiliza um servidor central para controle de acesso à rede e para publicação e pesquisa de conteúdo Arquitetura Descentralizada: todos os peers possuem funcionalidade equivalente Arquitetura Híbrida: alguns peers especiais, chamados supernós, possuem um papel diferenciado na rede 6

Arquitetura de Redes P2P Arquitetura Centralizada Um servidor central controla as entradas e saídas de peers da rede Os peers registram no servidor central os recursos que comparilharão na rede Pesquisas por recursos disponíveis nos peers são efetuadas pelo servidor central O acesso aos recursos é feito diretamente entre peers Exemplos: Napster; emule 7

Arquitetura de Redes P2P Arquitetura Híbrida Supernós permitem o ingresso dos nós na rede, podendo também exercer atividades de coordenação do funcionamento da rede, indexar os recursos compartilhados pelos nós e permitir a busca por estes recursos Após localizado, um recurso pode ser obtido a partir da interação direta entre nós Falha de um supernó pode ser tolerada elegendo dinamicamente outro supernó Exemplos: Kazzaa; Skype 8

Arquitetura de Redes P2P Arquitetura Descentralizada Não há um elemento central Todos os nós possuem papel equivalente As pesquisas por recursos compartilhados são feitas por inundação (flooding) Gera um alto tráfego na rede Desempenho das pesquisas é ruim devido à necessidade de contactar muitos nós e aguardar a resposta Exemplos: Gnutella e JXTA 9

Napster Exemplos de Redes P2P Criado em 1999 Utilizava um servidor central (replicado) para efetuar a procura de arquivos na rede Transferência de arquivos era feita diretamente entre os peers Sem o servidor central, que foi fechado por ordem judicial, a rede deixou de funcionar 10

Exemplos de Redes P2P Napster Funcionamento: peers Napster server Index 1. File location request 2. List of peers offering the file 3. File request Napster server Index 5. Index update 4. File delivered Coulouris, Dollimore & Kindberg 11

emule Exemplos de Redes P2P Utiliza vários servidores centrais, que fazem a indexação de arquivos compartilhados As bases de dados usadas pelos servidores para indexação são independentes Os peers podem se conectar a um ou mais servidores para efetuar buscas Os downloads são feitos diretamente entre peers,, sendo possível baixar partes de um arquivo a partir de diferentes peers 12

Gnutella Exemplos de Redes P2P Um nó entra na rede se conectando a qualquer outro nó já existente Cada nó faz o papel de cliente para realizar buscas e baixar arquivos e de servidor para responder buscas e pedidos de download O protocolo define as mensagens que podem ser trocadas entre nós para fazer pesquisas de arquivos e para baixá-los Foi aperfeiçoado para tornar-se mais escalável, deixando de ser totalmente descentralizado (Ultrapeers e QRP Query Routing Protocol) 13

JXTA Exemplos de Redes P2P Proposto pela Sun Provê uma infra-estrutura simples de rede P2P sobre a qual podem ser criadas aplicações que empregam este paradigma de comunicação Cria grupos de pares com interesses comuns Mensagens JXTA são codificadas em XML Permite estabelecimento de conexões seguras Possui uma implementação padrão em Java 14

Exemplos de Redes P2P Sun Microsystems 15

Exemplos de Redes P2P JXTA padroniza a forma como os pares: Descobrem uns aos outros Se organizam em grupos Divulgam e descobrem os serviços disponíveis na rede Se comunicam Monitoram uns aos outros 16

Exemplos de Redes P2P JXTA Comunicação: São criados pipes canais de comunicação unidirecionais ligando os peers que fazem parte da rede, formando uma rede parcialmente conectada O protocolo HTTP é usado para permitir que consultas atravessem firewalls,, desde que haja um peer de cada lado do firewall (relay peer) 17

Exemplos de Redes P2P JXTA faz consultas envolvendo os pares conhecidos, que por sua vez as enviam a seus conhecidos, e assim por diante Sun Microsystems 18

Exemplos de Redes P2P JXTA Protocolos: Peer Endpoint Routing Protocol : permite a descoberta de rotas entre peers Peer Resolver Protocol : usado para efetuar consultas nos peers Peer Discovery Protocol : usado para descoberta de peers na rede Pipe Binding Protocol : conecta peers utilizando pipes Peer Information Protocol : permite obter informação de status dos peers Peer Rendezvous Protocol : permite enviar mensagens para grupos de peers 19

Exemplos de Redes P2P JXTA Protocolos: Sun Microsystems 20

Exemplos de Redes P2P Kazaa Utiliza supernós para acesso à rede e para busca e indexação de conteúdo Skype Permite comunicação por áudio ou vídeo entre usuários Utiliza supernós e um servidor de login 21

Exemplos de Redes P2P BitTorrent Protocolo P2P para download de arquivos Há vários aplicativos clientes compatíveis O arquivo compartilhado é dividido em vários pedaços, que são baixados simultaneamente Pedaços recebidos já são compartilhados O protocolo engloba mecanismos para: Controlar a integridade dos pedaços de arquivos baixados Recompensar quem compartilha arquivos, e penalizar quem tira proveito e não colabora 22

Exemplos de Redes P2P BitTorrent (cont.) Arquivo.torrent Criado por nó seed,, que compartilha arquivo Contém metadados que descrevem o arquivo e permitem verificar sua integridade Indica servidores tracker Servidores tracker Coordenam a distribuição de arquivos Indicam os nós para download Controlam a velocidade do download Se o nó não colabora (leech), perde banda 23

Exemplos de Redes P2P BitTorrent (cont.) 24

Indexação e Busca Arquitetura Centralizada Indexação no servidor central, utilizando técnicas tradicionais para indexação e busca Problemas: Escalabilidade limitada (gargalo) Ponto único de falha Problemas jurídicos devido ao tráfego de conteúdos protegidos por direitos autorais Possível solução: uso de servidores replicados, independentes ou sincronizados 25

Indexação e Busca Arquitetura Distribuída É necessário utilizar mensagens de inundação Otimizações permitem fazer inundação seletiva de rotas (ex: QRP do Gnutella) Uso de campo TTL permite limitar a inundação Resposta pode ser enviada pelo caminho de recebimento da busca (mais tráfego; privacidade) ou diretamente para quem fez a busca (menos tráfego, sem privacidade) 26

Indexação e Busca Arquitetura Híbrida Em geral, supernós mantém uma DHT (Tabela de Hash Distribuída / Distributed Hash Table) A DHT contém os hashes dos nomes ou de metadados dos arquivos compartilhados, e a identidade dos peers que os contém Cada supernó mantém uma parte da tabela Supernós são organizados em um anel lógico, pelo qual a consulta é propagada 27

Indexação e Busca DHT Particionamento da Tabela: Hash Nó Hash Nó 000101... P A 010110... P B 00...... 01...... S 1 S 2 S 4 S 3 Hash Nó Hash Nó 110101... P A 11...... 100101... P C 10...... 28

Indexação e Busca DHT Funcionamento: 5. Acessa Arquivo P A 1. Compartilha 3. Busca S 1 S 2 11010 10101 01101 P B 11010 10101 01101 4. Responde S 4 S 3 2. Registra Hash Nó 110101... P A...... 29

Indexação e Busca DHT Considerações: Supernós podem desconectar ou falhar Fragmentos da tabela devem ser replicados nos vizinhos para evitar perda de informação Supernós devem detectar falhas/desconexão e recompor o anel lógico dinamicamente Ideal para registrar nomes e metadados Qualquer variação gera um hash diferente (ou seja, não encontra o arquivo/recurso) Buscas compostas podem resultar em respostas de dois ou mais supernós junção e classificação dos resultados 30

Integridade e Proteção Problemas em Redes P2P Downloads interrompidos resultam em muitos arquivos corrompidos compartilhados na rede Nós maliciosos registram dados erroneamente e enviam dados corrompidos / vírus / etc. Nos downloads de várias fontes, basta uma fonte maliciosa para corromper o dado Soluções Adotadas Verificação de integridade dos dados Uso de mecanismos de proteção 31

Integridade e Proteção Verificação de Integridade dos Dados Consiste em efetuar comparações com base no hash do conteúdo compartilhado Downloads de várias fontes só acontecem se o conteúdo tiver o mesmo hash Ao final do download,, pode ser feita uma verificação do hash do arquivo obtido, para verificar se ele não foi corrompido Não impede que nós maliciosos informem o hash errado 32

Integridade e Proteção Mecanismos de Proteção Baseados na associação de índices de reputação a cada nó da rede Um nó constrói sua reputação fornecendo conteúdos íntegros; caso forneça conteúdos inválidos ou corrompidos, sua reputação cai Evita-se direcionar downloads para nós com baixa reputação Nós cuja reputação mudou rapidamente também são evitados podem ter sido hackeados ou estavam construindo uma boa reputação para depois atacar a rede 33