GPRT/UFPE Peer-to-Peer (P2P) - inf.ufpr.br P2P vs. Redes de Cobertura (Overlay) zOverlay – Rede virtual:

  • View
    6

  • Download
    0

Embed Size (px)

Text of GPRT/UFPE Peer-to-Peer (P2P) - inf.ufpr.br P2P vs. Redes de Cobertura (Overlay) zOverlay –...

  • PeerPeer--toto--Peer (P2P)Peer (P2P)ComputaComputao Colaborativa na Interneto Colaborativa na Internet

    SBRC 2004, Gramado/RS SBRC 2004, Gramado/RS 13/05/200413/05/2004

    GPRT/UFPEGPRT/UFPEGPRT/UFPEGPRT/UFPE

  • Autores (UFPE)Autores (UFPE)

    Joo RochaMarco Antnio DominguesArthur CalladoEduardo SoutoGuthemberg SilvestreCarlos Kamienski (UFPE/CEFET ParaCarlos Kamienski (UFPE/CEFET Paraba)ba)Djamel Sadok

  • RoteiroRoteiro

    Introduo / MotivaoAplicaes P2PQuestes de ProjetoTecnologias e SoluesGrupo de Trabalho P2P da RNP (GT-P2P)Consideraes Finais

  • IntroduIntroduoo

    PeerPeer--toto--Peer (P2P) Peer (P2P) ComputaComputao Colaborativa na Interneto Colaborativa na Internet

    GPRT/UFPEGPRT/UFPEGPRT/UFPEGPRT/UFPE

  • Razes para o Sucesso da Razes para o Sucesso da InternetInternet

    Capacidade de interligar vrias redesCaractersticas: Aberta Pblica De alcance mundial

    O que faz aplicaes para a Internet darem certo (pegarem)? Resolver problemas

  • EvoluEvoluo dos Modelos de o dos Modelos de Rede da InternetRede da Internet

    A Internet era P2P no incioQualquer computador funcionava como cliente e servidor Aplicaes principais: TELNET e FTP

    A cooperao era o principal objetivo e o valor da rede

  • Cliente/ServidorCliente/Servidor

    Modelo mais usado atualmente na InternetDependente de servidores bem configurados em com informao acessvelNo explora o potencial de computao distribuda proveniente da RedeA existncia de um ou milhares de computadores indiferente na interao de um usurio tpico com a redePCs clientes com capacidade razovel ficam escondidos atrs do DNS

  • DefiniDefinio P2P (1)o P2P (1)

    O compartilhamento de recursos e servios computacionais

    diretamente entre sistemas

  • DefiniDefinio (2)o (2)

    Classe de aplicaes que leva vantagem de recursos disponveis nas bordas da InternetQuais recursos? Armazenamento Tempo de CPU Contedo Presena humana

  • Questes FundamentaisQuestes Fundamentais(sinnimos?)(sinnimos?)

    ColaboraColaboraoo

    CooperaCooperaoo

    CompartilhamentoCompartilhamento

  • CaracterCaractersticassticas

    Sistemas distribudos sem controle centralizado ou organizao hierrquicaSoftware executado em cada elemento (ponto) equivalente em funcionalidadeTm recebido grande ateno: Usurios Empresas Meios acadmicos

  • CaracterCaractersticassticas

    Cada participante age como cliente e servidor ao mesmo tempo (serventservent)Cada cliente paga a sua participao fornecendo acesso a (alguns de) seus recursos Excees so comuns: freeloaders ou vampiros

  • CaracterCaractersticassticasSem coordenao centralSem banco de dados centralSem local nico de falha ou gargaloNenhum ponto (peer) tem viso global do sistemaComportamento global definido por interaes locaisTodos os dados e servios so acessveis de qualquer pontoPontos so autnomosPontos e conexes no so confiveis

  • Principais VantagensPrincipais Vantagens

    Escalabilidade No h gargalo para crescimento

    Robustez No h ponto de falha nico

    Flexibilidade Auto-configurao / configurao dinmica

  • Roteadores so P2PRoteadores so P2P

    Descobrem e mantm topologiaNo so clientes nem servidoresContinuamente falam uns com os outrosSo inerentemente tolerantes a falhasSo autnomos

  • Teste P2PTeste P2P

    Viso 1 O sistema aceita conectividade varivel e

    endereos IP temporrios? O sistema d uma autonomia significativa aos

    computadores na borda da rede?

    Viso 2 Os ns podem trocar informaes entre si? Quem o dono do hardware?

  • Sistemas P2P: RequisitosSistemas P2P: RequisitosDescoberta de recursos/servios Baseada em: nome, endereo, rota, mtrica, etc.

    Roteamento Roteamento de aplicao: contedo, interesse, etc. Roteamento entre super-ns: Kazaa, Morpheus Roteamento baseado em capacidade (bandwidth)

    Robustez e tolerncia a falhas (n e enlace)Armazenamento distribudo e atualizaesEscalabilidadeConfiana nos pares (autenticao, etc)Monitoramento de vizinhos

  • P2P P2P vsvs. Redes de Cobertura. Redes de Cobertura(Overlay)(Overlay)

    Overlay Rede virtual: rede em cima de outra rede (IP) Os enlaces so conexes entre ns da rede

    P2P freqentemente utilizada para criar overlays Oferecendo servios que poderiam ser implementados

    na camada IPEstratgia muito til para implantaoEm certos casos, pode contornar barreiras econmicasIP era um overlay (em cima da rede de telefonia)Nem todos os overlays so P2P (AKAMAI)

  • Redes de CoberturaRedes de Cobertura

    Rede de Cobertura

    Rede Fsica

    enlace fsico

    enlace virtual

  • Modelos de Sistemas P2PModelos de Sistemas P2P(Classifica(Classificao o 11))

    Modelo Centralizado ndice global mantido por um autoridade central Contato direto entre clientes e provedores Exemplo: Napster

    Modelo Descentralizado Sem ndice global (sem coordenao global) Exemplos: Gnutella, Freenet

    Modelo Hierrquico Introduo dos super-ns (super-nodes ou super-peers) Mistura dos modelos centralizado e descentralizado Exemplos: KaZaA, Morpheus

  • Modelos de Sistemas P2PModelos de Sistemas P2P(Classifica(Classificao o 22))

    Centralized Service Location (CSL) Busca centralizada Exemplo: Napster

    Flooding-based Service Location (FSL) Busca baseada em inundao Exemplo: Gnutella

    Distributed Hash Table-based Service Location(DHT) Busca baseada em tabela de hash distribuda Exemplos: CAN, Pastry, Tapestry, Chord

  • Modelos de Sistemas P2PModelos de Sistemas P2P(Classifica(Classificao o 33))

    Modelo Centralizado Napster, mensagens (ICQ, etc)

    Modelo Descentralizado e Estruturado DHT Chord, etc.

    Modelo Descentralizado e No Estruturado Super-Ns: KaZaA Inundao: Gnutella

  • AplicaAplicao: Troca de o: Troca de MensagensMensagens

    IM (Instant Messaging)Aplicao popular na Internet, pela facilidade de enviar mensagens on-lineExemplos: AIM (AOL Instant Messenger - http://www.aim.com) MSN Messenger (http://messenger.msn.com) Yahoo! Messenger (http://messenger.yahoo.com) ICQ (http://web.icq.com) Trillian Messenger (http://www.trilian.de)

  • IM: Yahoo! Messenger e IM: Yahoo! Messenger e TrillianTrillian

  • AplicaAplicao: Compartilhamento o: Compartilhamento de Arquivosde Arquivos

    Aplicao de maior sucesso na InternetPermite usurios compartilharem diretamente seus arquivos, msicas, etc.Pode apresentar problemas de violao de direitos autoraisCaractersticas rea de armazenamento Disponibilidade de informaes Anonimato Gerenciamento

  • Compartilhamento: AplicaCompartilhamento: Aplicaeses

    Napster (http://www.napster.com)KaZaA (http://www.kazaa.com)Gnutella (http://www.gnutella.com) BearShare (http://www.bearshare.com) LimeWire (http://www.limewire.com)

    Freenet (http://www.freenetproject.org)Imesh (http://www.imesh.com) Morpheus (http://www.morpheus.com) Grokster (http:// www.grokster.com)

  • AplicaAplicaes: Computaes: Computao o DistribuDistribudada

    A idia de aproveitar recursos computacionais ociosos no novaGrade Computacional (Grid) Soluo de computao distribuda para engenharia e

    cincias, baseada em compartilhamento de recursos em larga escala

    Semelhanas e diferenas com P2P

    SETI@Home (http://setiathome.ssl.berkeley.edu) The Search for Extraterrestrial Intelligence Usurios executam partes da busca

  • SETI@SETI@HomeHome

  • Trabalho ColaborativoTrabalho Colaborativo

    Groupware Software que suporta colaborao, a comunicao e

    coordenao de vrios usurios em uma rede Exemplo cliente/servidor: Lotus Notes

    Combinao de groupware com computao P2P trouxe novas oportunidadesGroove (http://www.groove.net) Usurios criam e compartilham espaos de trabalho Permite servidores centralizados para maior garantia Inclui uma plataforma de desenvolvimento (GDK)

  • Groupware: GrooveGroupware: Groove

  • AplicaAplicao: Blogo: Blog

    Blog = Web logAplicao do tipo writable Web Permite o usurio alterar pginas nos

    servidores

    Usados como um dirio particular on-line, Possuem vrias ferramentas de edioSucesso entre adolescentesBlooger (http://www.blogger.com.br)

  • AplicaAplicao: Blogo: Blog

  • Questes de ProjetoQuestes de Projeto

    PeerPeer--toto--Peer (P2P) Peer (P2P) ComputaComputao Colaborativa na Interneto Colaborativa na Internet

    GPRT/UFPEGPRT/UFPEGPRT/UFPEGPRT/UFPE

  • Questo: EndereQuesto: EndereamentoamentoComunicao P2P pura necessita de conexes diretas entre os peersBarreiras de endereamento/proteo impedem essa comunicao direta DNSDNS: s traduz os endereos das mquinas que o

    administrador da rede quer revelar FirewallFirewall: bloqueia a comunicao de entrada/sada da

    rede, de acordo com critrios de segurana NATNAT (Network Address Translation): traduz endereos

    de rede interna (ex.: 10.0.1.1, 172.16.4.22, 192.168.0.4) em endereos pblicos (ex.: 200.249.188.1, 150.161.2.1)

    ProxyProxy: interpem-se na comunicao fim a fim (http) para filtrar pginas indesejveis

  • Contornando o DNSContornando o DNS

    Internet tradicional: clientes so cidados de segunda categoria em conectividadeCadastro prprio Napster, ICQ, Groove

    Endereos IP de membros da rede Gnutella, KaZaA, Overnet

    Endereos IP de servidores fixos SETI@Home

  • Contornando o Firewall: Contornando o Firewall: KaZaA (normal)KaZaA (normal)

    Cliente KaZaA na sua rede

    Operao normal do KaZaA verso 2

    Lista de

    ArquivosCliente se registrana porta 12141214/TCP

    na Rede KaZaA

    Cliente envia a lista dos arquivos compartilhados

    para a rede

    Cliente procura arquivo

    disponvel na rede

    Rede informa o ID do c