Introdução ricardo.pereira@inesc-id.pt IST 16-9-2009
1 Introdução 2
Questão Introdução Quais as aplicações P2P que usam/conhecem?
P2P Introdução Partilha de cheiros: emule, BitTorrent VoP2P Voice over P2P: Skype P2P TV: Zatto, Babelgum, Livestation, TVU Player
Paradigmas de computação distribuída
Introdução Sistema entre pares Sistema auto-organizável composto por entidades iguais e autónomas que pretendem partilhar recursos distribuídos num ambiente de rede, evitando serviços centrais.
Questão Introdução Quais as aplicações P2P que usam/conhecem?
Outras aplicações P2P Introdução Servidores SMTP Servidores DNS Informação de tráfego: TomTom Tráfego
Rede sobreposta (overlay)
Questão Introdução Quais os recursos partilhados numa rede P2P?
comuns do modelo P2P Recursos estão na periferia da rede, de acordo com o modelo end to end responsável pelo sucesso da internet Recursos (largura de banda, armazenamento, capacidade de processamento, localização) são fornecidos e consumidos pelos pares. Custos são suportados pelos utilizadores Pares comunicam através de uma rede, podendo estar localizados em qualquer ponto do globo
comuns do modelo P2P O endereço IP de um par muda. O mesmo par pode aparecer com endereços IP diferentes e pares diferentes podem aparecer com um mesmo IP. É necessária outra identicação Pares interagem directamente entre si sem um entidade central de coordenação (embora essa possa existir para algumas funções) Pares funcionam como iguais, operando como clientes e servidores (conceito de simetria) Pares localizam os recursos que querem aceder utilizando o próprio sistema P2P, sem recurso a sistemas centralizados
Questão Introdução Há funções P2P facilitadas pela existência de serviços centralizados?
P2P uma mudança de paradigma Passamos de coordenação para cooperação Passamos de centralização para descentralização Passamos de controlo para incentivos
Questão Introdução Imaginam cenários onde os incentivos possam ser transaccionados?
Questão Introdução Quais os requisitos para um sistema P2P ter sucesso?
de um sistema P2P Escalável Seguro Fiável Flexível / evolutivo Justo (recursos consumidos / fornecidos) Qualidade de serviço uniforme ou proporcional ao investimento Ser útil!
Comparação do modelo P2P com o modelo cliente-servidor P2P Cliente Servidor Custo de desenvolvimento similar Reduzido custo de infraestrutura Elevado investimento inicial Reduzidos custos de operação Elevados custos operacionais Tolerante a falhas Ponto de falha único Escalável Bottleneck único Prescindir do controlo Controlo central (QoS, conteúdos) Procura de conteúdos difícil Procura centralizada Accounting facilitado Fácil deploy de novas versões
Obstáculos ao modelo P2P Disponibilidade de alguns pares é reduzida Disponibilidade dos pares é imprevisível Sistemas NAT e rewalls podem constituir obstáculos à simetria Necessita de atingir a dimensão crítica para ser útil Reduzido controlo por parte do operador Resistência ao pagamento pelo serviço Os pares não são todos iguais (não contribuem com o mesmo nível de recursos). Capacidade de upstream é limitada Os nós não são dedicados à rede P2P
Impacto do tráfego P2P na Internet
Emergência e volatilidade dos novos protocolos
Hop Transposição de uma ligação na rede. Pode ser na rede física ou sobreposta Path streach Relação entre número de hops de um caminho no nível de rede e no nível overlay
Diametro da rede Número de hops do maior dos caminhos mais curtos entre todos os nós da rede Node degree/fan out Número de ligações de um nó a outros nós
Tempo de vida Intervalo de tempo desde a primeira vez que um par é visto até abandonar denitivamente a rede Tempo de sessão Intervalo de tempo desde que o par chega à rede até a abandonar (pode voltar mais tarde)
churn rate Ritmo a que os nós entram e saem da rede Flash crowd Fenómeno que se verica quando um elevado número de peers requer um mesmo recurso num curto intervalo de tempo
Escalabilidade Capacidade de manter ou degradar suavemente a eciência do sistema à medida que este cresce (em nós, objectos guardados, etc...) Extensibilidade Capacidade do sistema crescer progressivamente, sendo capaz de prestar serviço mesmo com poucos elementos