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
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 Distribuídos

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

Unidade Curricular: SCOM Ano letivo: 2014/2015 Alunos: Diogo Guimarães Pedro Brito

Peer to Peer. Sandro, Eluan. 8 de Novembro de Universidade Estácio de Sá

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 P2P. André Lucio e Gabriel Argolo

JXTA. Alessandro Vasconcelos Ferreira de Lima.

SISTEMAS DISTRIBUÍDOS

PEER DATA MANAGEMENT SYSTEM

Redes de Computadores

Redes P2P. Alexandre Alves Bruno Valério. 19 de junho de 2015

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

SISTEMAS DISTRIBUÍDOS

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

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

João Rocha Marco Antônio Domingues. Eduardo Souto Guthemberg Silvestre Carlos Kamienski Djamel Sadok

Arquitetura dos Sistemas de Informação Distribuídos

Capítulo 8 - Aplicações em Redes


Sistemas Distribuídos

2 Trabalhos Relacionados

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

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

Tabela de roteamento

Aula 03-04: Modelos de Sistemas Distribuídos

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Rede Peer-To-Peer. Conteúdo

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

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

Redes de Computadores Aula 3

Redes de Computadores

Introdução ao Modelos de Duas Camadas Cliente Servidor

Jan Tarik Martins Nazorek DESENVOLVIMENTO DE UM SOFTWARE DE BACKUP DESCENTRALIZADO, UTILIZANDO A PLATAFORMA JXTA

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

Cap 03 - Camada de Aplicação Internet (Kurose)

COMPARTILHAMENTO DE INFORMAÇÕES ENTRE COMPUTADORES ATRAVÉS DA TECNOLOGIA PEER-TO-PEER (P2P) USANDO A PLATAFORMA JXTA

Sistemas Cliente-Servidor

REDE DE COMPUTADORES

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

Definição do Trabalho da Disciplina. Este documento é muito importante: LEIAM ATÉ O FINAL!

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Arquitecturas de Sistemas. Arquitecturas Descentralizadas de Sistemas

Redes de Computadores e a Internet

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Projeto Tor UFRJ Redes I Alunos: Jhonatas Alfradique, Hugo Klin, Guilherme Almeida

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

MC714 - Sistemas Distribuídos. Leandro Villas

e-ping - Padrões de Interoperabilidade de Governo Eletrônico

Modelos de Arquiteturas. Prof. Andrêza Leite

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

Arquitetura de uma Rede JXTA

Arquitetura de Sistemas Operativos

NanoDataCenters. Aline Kaori Takechi

PARANÁ GOVERNO DO ESTADO

Sistemas Distribuídos

Tópicos Especiais em Redes de Telecomunicações

Organização de Computadores 1

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

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

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

UFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)

Segurança de Rede Prof. João Bosco M. Sobral 1

4 Um Exemplo de Implementação

Sistemas Distribuídos

Sistemas Distribuídos. Introdução

Introdução ao Active Directory AD

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

Visão do Usuário da DSM

Módulo Contact Solution


Disciplina de Banco de Dados Introdução

Fundamentos de Sistemas Operacionais

Lista de Erros Discador Dial-Up

Programação de Sistemas

Programação de Sistemas

Sistemas Distribuídos

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

Sistemas Distribuídos (DCC/UFRJ)

Servidor Proxy armazenamento em cache.

Gerência de Redes: Modelos de Gerência de Redes: Modelo FCAPS: Ferramentas de Gerência de Redes:

Banco de Dados Orientado a Objetos

Gestão de identidades em nuvens com o foco no sigilo de conteúdo

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Servidor, Proxy e Firewall. Professor Victor Sotero

Sistemas Distribuídos. Fundamentos. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

Ferramentas de Acesso Remoto

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

3 Arquitetura do Sistema

1

Passo a Passo da instalação da VPN

Transcrição:

Redes Peer- Redes 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 1 2 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 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 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 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 Classificação da Arquitetura Centralizada: utiliza um servidor central para controle de acesso à rede e para publicação e pesquisa sa 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 1

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 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 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 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 Napster Funcionamento: peers Napster server Index 1. File location request 2. List of peers offering the file 5. Index update 3. File request 4. File delivered Napster server Index Coulouris, Dollimore & Kindberg 11 emule 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 2

Gnutella 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 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 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 15 16 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) JXTA faz consultas envolvendo os pares conhecidos, que por sua vez as enviam a seus conhecidos, e assim por diante 17 18 3

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 JXTA Protocolos: 20 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 em Redes P2P com 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 22 em Redes P2P com 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) 23 em Redes P2P com 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 24 4

DHT Particionamento da Tabela: DHT Funcionamento: 000101... P A 010110... P B 00...... 01...... S 1 S 2 S 4 S 3 110101... P A 100101... P C 11...... 10...... 1. Compartilha 3. Busca P A S 1 S 2 11010 10101 01101 2. Registra S 4 110101... P A...... S 3 5. Acessa Arquivo P B 11010 10101 01101 4. Responde 25 26 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 t 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 27 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 28 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 29 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 30 5