Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS Aula 7 – Modelo P2P Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * ESTRUTURA DA DISCIPLINA AULA 1 – Introdução AULA 2 – Aplicações Distribuídas AULA 3 – Tratamento de Falhas AULA 4 – Classificação de Flynn AULA 5 – Modelo Cliente/Servidor AULA 6 – Sockets e RPC AULA 7 – Modelo P2P AULA 8 – Sistemas de Arquivos Distribuídos AULA 9 – Serviços WEB AULA 10 – Tecnologia: Computação Ubíqua e nas Nuvens Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * Conteúdo Programático AULA 7 Características do Modelo P2P Aplicações P2P Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * COMUNICAÇÃO P2P Comunicação direta entre os nós (peers) Cada peer se comporta como cliente e/ou servidor Diferentes implementações Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * DEFINIÇÃO : Peer – to – Peer Androutsellis e Spinellis(2004) propuseram a seguinte definição: Sistemas peer-to-peer são sistemas distribuídos que consistem em nós interconectados com capacidade de auto-organização em relação à topologia da rede com o propósito de compartilhar recursos, adaptar-sea falhas e picos de carga mantendo um nível aceitável de conectividade e desempenho sem requerer intermediação ou suporte de um servidor central. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * RESUMO DAS CARACTERÍSTICAS Não há coordenação central e, portanto, não há um ponto de falha nem gargalo. Nenhum peer tem uma visão global do sistema, porém todos os dados e serviços são acessíveis de qualquer peer. Escalabilidade Heterogeneidade Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * APLICAÇÕES Compartilhamento de recursos Trabalho Colaborativo (groupware) Compartilhamento de arquivos Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * TIPOS DE REDES P2P P2P Puro Não existe servidor centralizado. Os peers se comunicam diretamente Exemplos: Gnutella e FreeNet P2P Híbrido O servidor é conectado primeiro para obter meta-informações (identidade do peer, verificar credencias de segurança) e este então redireciona para o peer requisitado que se comunicam diretamente Exemplos: Napster, Groove, Aimster, Magi, Softwax e iMesh Intermediários SuperPeers contém algumas informações que outros peers podem não ter. Os peers então procuram informações nos SuperPeers uma vez que não conseguiram achá-las em nenhum outro lugar. Exemplo: KaZaa Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * FORMAS DE BUSCA Centralizada Consulta feita a um nó central Inundação Nós totalmente independentes limitada, em geral, à vizinhança mais próxima. Tabela Hash Distribuida (DHT) Um ID randômico é associado a cada peer que, por sua vez, conhecem um determinado número de peers. Quando um novo documento é compartilhado, cada peer encaminha o documento ao peer cujo ID é mais próximo ao ID do documento. Este processo é repetido até que o ID do peer atual seja o mais próximo do documento ou o documento seja encontrado. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * O PROTOCOLO BIT TORRENT Existem dezenas de clientes disponíveis gratuitamente que entendem esse protocolo. torrent é um arquivoque contém dois tipos de informação: o nome de um tracker e os chuncks Tracker: Servidor que mantém uma lista dos peers que estão fazendo download/upload (swarm). Chuncks: Lista de blocos de mesmo tamanho que compõem o conteúdo da torrent. Swarm: Conjunto de peers ativos que entram em contato com o tracker regularmente para informando se ainda estão ativos. Quando um novo peer entra em contato com o tracker para se juntar ao swarm, o tracker lhe informa sobre outros peers no swarm. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * O PROTOCOLO BIT TORRENT Localizar peer com conteúdo Obter o torrent Entrar em contato com o tracker Tornar o download rápido Enquanto participa de um swarm, o peer efetua, simultaneamente, o download de chunks que não encontra em outros peers e faz o upload de chunks dos quais outros peers precisam. Quando um swarm é formado inicialmente, alguns peers precisam ter todos os chunks que compõem o conteúdo. Esses peers são chamados de seeders. cada chunk deve estar disponível em muitos peers. Motivar o upload free-riders ou leechers : nós que não contribuem Quanto mais um peer estiver contribuindo com os outros, mais ele poderá esperar em retorno. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * O PROTOCOLO BIT TORRENT Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * DISTRIBUTED HASH TABLES (DHTs) Seria possível criar índices P2P que fossem totalmente distribuídos, mas que possibilitassem um bom desempenho? A funcionalidade básica de um índice é mapear uma chave a um valor. Uma forma de mapeamento é a tabela hash, que na versão distribuída é implementada em algoritmos de roteamento como: Chord (STOICA et al., 2001); Can (RATNASAMY et al., 2001); Pastry (ROWSTRON; DRUSCHEL, 2001); Tapestry (ZHAO et al., 2004). Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD Solução equivalente a um tracker distribuído n usuários, cada um com alguns registros. O endereço IP de cada usuário pode ser transformado em um número. Para transformar um endereço de nó em um identificador, o IP é mapeado para um número de m bits, usando uma função de hash. Sendo assim, podemos usá-lo para converter qualquer endereço IP em um número de 160 bits – chamado de identificador de nó. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD os nós com identificadores 1, 4, 7, 12, 15, 20 e 27 sombreados correspondem aos nós reais. sucessor (k) identificador de nó do primeiro nó real, após k, ao redor do anel (no sentido horário). Por exemplo: Sucessor (6) = 7; Sucessor (8) = 12; cada nó precisa manter o endereço IP de seu nó sucessor. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD Tabela de fingers para M =5 bits (32 nós): inicio = (k + 2i) mod 2M IP do sucessor Ex: k=3 (entrada 3 da tabela) i = 1 (nó 1) inicio= (3+2) mod 32 = 5 Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD Tabela de fingers para m =5 bits: inicio = (k + 2i) mod 2m IP do sucessor Ex: k=2 (entrada 2 da tabela) i = 4 (nó 4) inicio= (2+4) mod 32 = 6 Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD Exemplo: Pesquisa chave = 3 no nó 1. Como o nó 1 sabe que 3 se encontra entre ele e seu sucessor (4), o nó desejado é 4. Retorna o IP do nó 4. Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * SOLUÇÃO DHT - CHORD Exemplo: Pesquisa chave = 14 no nó 1. Como 14 não se encontra entre 1 e 4, as tabelas de fingers serão consultadas. O predecessor mais próximo de 14 é 9. A solicitação é encaminhada para o endereço IP da entrada 9 12. O nó 12 também não sabe a resposta mas identifica que o nó 14 está entre ele e sucessor (15). Retorna o IP do nó 15 Tema da Apresentação AULA 7– MODELO P2P ARQUITETURA DE SISTEMAS DISTRIBUÍDOS * RESUMINDO Redes P2P podem eliminar algumas características negativas do modelo cliente/servidor O protocolo utilizado deve ser capaz de minimizara centralização de compontentes. Lembre-se: Pirataria é crime! Tema da Apresentação *
Compartilhar