Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Distribuidos
Sistemas P2P
Rodrigo Santamara
+ Sistemas P2P
Introduccin
Napster
BitTorrent
Middleware
2
+ 3
Introduccin
n Objetivos
n Posibilitar la comparticin de datos y recursos a muy gran escala
n Se eliminan los servidores y su infraestructura
n Proporcionar servicios y aplicaciones distribuidas utilizando
datos y recursos computacionales disponibles en ordenadores
personales y estaciones de trabajo en Internet
n Explotar recursos en las fronteras de Internet: almacenamiento,
ciclos, contenido, presencia humana [Shirky, 2001]*
* Sobre el uso de presencia humana ver el Turco de Amazon y sus aplicaciones como tenthousandcents:
https://en.wikipedia.org/wiki/The_Turk
https://en.wikipedia.org/wiki/Amazon_Mechanical_Turk
http://www.tenthousandcents.com/
+ 4
Introduccin
Ventajas respecto al modelo cliente servidor
http://www.dailymail.co.uk/sciencetech/article-
2047927/BlackBerry-outage-update-Service-finally-restored-
5
3-days.html
+ 6
Introduccin
Ventajas
http://mashable.com/2012/12/11/gmail-outage-chrome-crash/#B94dzZEHQgq6
http://mashable.com/2009/09/01/gmail-outage-google-statement/#LpXTcG5tXgqB
+ 7
Introduccin
Aspecto clave
Introduccin
Caractersticas de un sistema P2P
Introduccin
Volatilidad y replicacin en un sistema P2P
Introduccin
Historia
n Antes de 1999
n Algunos servicios para Internet relajaban la centralizacin con
arquitecturas multi-servidor tolerantes a fallos
n DNS, Usenet
n Aparecen algoritmos para procesamiento distribuido descentralizado
n P. ej. el algoritmo de consenso de Lamport [1989]
* http://broadband.cti.gr/el/download/broadbandshortreport2010.pdf
** http://www.itu.int/en/ ITU-D/Sta tistics/Documents/statistics/2015/Fixed_broadband_2000-2014.xls
+ 11
Introduccin
Historia
Introduccin
Aplicaciones
n Voz
n Skype, VoIP
n Conectividad
n Redes ad hoc
+ Sistemas P2P
Introduccin
Napster
BitTorrent
Middleware
13
+ 14
Napster
n Arquitectura
n Indexacin centralizada
n Archivos proporcionados por los usuarios y almacenados en sus
equipos
+ 15
Napster
Modo de operacin
Napster
Caractersticas
n Servidores de ndices
n ndices unificados para cada archivo
n Varios servidores replicados (requisitos de consistencia mnimos)
n Cuello de botella / incoherencias
n Localidad en la red
n N de saltos (hops*) entre el cliente y el servidor de archivos
n Se asignan servidores lo ms cercanos al cliente
n Este mecanismo sencillo de distribucin de carga da al servicio un alto
grado de escalabilidad
*Se entiende como un salto o hop cada vez que un paquete de datos tiene que
pasar por un router o pasarela para llegar de un ordenador a otro
+ 17
Napster
Legado
Napster
P2P y problemas de copyright
Napster
P2P y problemas de copyright
20
+ 21
BitTorrent
n Cliente BitTorrent
n Cualquier programa que implemente el protocolo BitTorrent
n Capaz de preparar, transmitir y solicitar cualquier archivo
n Peer: cualquier computador con una instancia de cliente
n http://en.wikipedia.org/wiki/Comparison_of_BitTorrent_clients
1http://www.ipoque.com/sites/default/files/mediafiles/documents/internet-study-2008-2009.pdf
http://torrentfreak.com/bittorrent-traffic-surges-after-limewire-shutdown-110517/
+ 22
BitTorrent
Chunks, trackers y archivos torrent
BitTorrent
Seeder, leecher y swarms
BitTorrent
Trackers y distribucin de archivos
BitTorrent
Ejemplo announce: www.pirateBay.com
name: nosferatu.avi
1 length: 603M
pieces: 3 of size 201M each
checksum: YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
Anunciante, tracker e
name peers
initial seeder pueden
nosferatu.avi IP de Lady Seed
ser el mismo o distintos
www.pirateBay.com www.seriesJuanito.com
(tracker) (anunciante)
+ 26
BitTorrent
Ejemplo
www.pirateBay.com www.seriesJuanito.com
(tracker) (anunciante)
BitTorrent
Ejemplo
name peers
nosferatu.avi IP pirateBay ordenador personal de Mr. Brown
IP Mr Sinde (leecher)
IP Mr Brown
6
www.pirateBay.com www.seriesJuanito.com
(tracker) (anunciante)
BitTorrent
Estrategias
n Tit-for-tat
n Los peers que ms colaboren (que ms subidas de archivos tengan)
reciben prioridad para la descarga de otros archivos.
n Estrategia clsica de cooperacin en teora de juegos
n colaboro contigo si colaboras conmigo, tomo represalias si tomas
represalias
n Optimistic unchoking
n Los peers reservan parte de su ancho de banda para enviar datos a
peers aleatorios
n De esta manera se previene la inanicin de peers que todava no
tienen archivos para compartir, poco ancho de banda, etc.
n Rarest first
n Cada peer prioriza la comparticin de los chunks menos frecuentes
dentro del swarm
+ 29
BitTorrent
Enlaces magnticos
BitTorrent
Enlaces magnticos
n Ventajas
n Trackers ms ligeros (p. ej. todos los enlaces magnticos de
Pirate Bay ocupan menos de 90MB)
n Slo tienen que almacenar los hash
n Seguridad sobre la autenticidad de la descarga
n Unin de localizaciones distintas del mismo archivo (magnet)
n Confidencialidad sobre lo que se descarga (relativa)
BitTorrent
Versiones Trackerless
* http://www.afterdawn.com/news/article.cfm/2005/05/19/bittorrent_goes_trackerless
+ 32
BitTorrent
Anlisis
BitTorrent
Debate
34
+ 35
Middleware P2P
n Requisitos funcionales
n Simplificar la construccin de servicios que se implementan en
un sistema distribuido con varios nodos en una red extensa
n Garantizar la localizacin y comunicacin de los clientes con
cualquier recurso individual distribuido disponible para el
servicio
n Localizacin routing overlay (enrutado superpuesto)
+ 36
Middleware P2P
Requisitos no funcionales
n Equilibrio de carga
Middleware P2P
Routing overlay
n Routing (enrutado)
n El middleware se construye como una capa responsable de las
peticiones de enrutado desde un cliente a un nodo que tiene el
objeto requerido
n Overlay (superpuesto)
n Enrutado a nivel de aplicacin, perfectamente diferenciado del
enrutado a nivel de red (p. ej. el routing IP)
n Basado en conocimientos superpuestos de las localizaciones
+ 38
Middleware P2P
Routing overlay
Middleware P2P
Routing overlay: tareas
n Alta de objetos
n Cuando un nodo da de alta un objeto, su proceso de routing overlay
le asigna un identificador (GUID) y se asegura de que sea accesible
por todos los clientes
n Baja de objetos
n Elimina todas las referencias al GUID y a sus datos asociados
n Bsqueda de objetos
n Cuando un cliente solicita un objeto, su routing overlay direcciona la
peticin a un nodo en que reside la rplica, a travs del GUID
Middleware P2P
Routing overlay vs IP routing
IP Routing overlay
Escala IPv4 232 nodos >2128 nodos
IPv6 2128 nodos Espacio de nombres plano
Espacio jerrquico
Equilibrio de La carga de los routers Topologa disociada de trfico
carga depende de la topologa y (localizacin aleatoria de
su trfico asociado objetos)
Dinamismo Tablas actualizadas ~1hora Tablas actualizadas ~1s
Tolerancia a Fallo de 1 router tolerada Fallo de n routers tolerado
fallos Fallo de n routers costosa
Identificacin Identificacin nica GUID varios nodos host
de destinos IPnodo Enrutado al ms cercano
Seguridad Slo cuando todos los nodos Puede lograrse incluso en
son fiables entornos no fiables
Anonimato No es posible En grado limitado
+ 41
Middleware P2P
DHT
Middleware P2P
DHT: particin
Middleware P2P
DHT: alta y baja de nodos
Middleware P2P
DHT: alta de un nodo
Peer 1
Clave Dato
1 nosf.avi
id=50
Peer 4*
76 schubert.mp3
Clave Dato
100 mozart.mp3
76 schubert.mp3
id:100
Peer 2 124 hamlet.pdf
Clave Dato
101 quijote.pdf
id=150 124 hamlet.pdf
Peer 3
200 Clave Dato
201
id=250
*El nuevo peer obtiene la responsabilidad sobre
300
el espacio de claves ms cercano a l
Aunque aparezcan tachados, no necesariamente
implica que Peer1 y Peer2 descarten ese dato,
slo la responsabilidad ltima sobre el mismo
+ 45
Middleware P2P
DHT: alta y bsqueda de archivos
Middleware P2P
DHT: bsqueda de archivos
Clave Dato
quijote.pdf 101 quijote.pdf
id=150
200
Clave Dato
201
id=250
300
+ 47
Middleware P2P
DHT: implementaciones
+ 48
Middleware P2P
Kademlia
Middleware P2P
Kademlia: tablas de encaminamiento
Middleware P2P
Kademlia: tablas de encaminamiento
lista 1
lista 2 lista 3
Middleware P2P
Kademlia: k-buckets
Middleware P2P
Kademlia: bsqueda de nodos
Middleware P2P
Kademlia: bsqueda de nodos (ejemplo)
Middleware P2P
Kademlia: bsqueda de recursos
Middleware P2P
Kademlia: anlisis
Middleware P2P
Generaciones
1G 2G 3G
Seccin Indizado Indizado (mediante Mnima o no hay
centralizada (integrado) ficheros) (trackerless)
Bsqueda de Saltos de IP Distancias y XOR y tablas de
nodos mediante indizado flooding encaminamiento
Tipo de Pequeos (msica) Cualquier tamao Cualquier tamao
fichero (chunks) (chunks)
Resumen
Referencias
n K. Truelov, C. Shirky, Rael Dornfest and O.R. Resear. P2P Networking Overview.
Hftad, 2001
n Napster: http://en.wikipedia.org/wiki/Napster
n DNS P2P
n Namecoin: https://en.wikipedia.org/wiki/Namecoin
n Opinin en contra: https://nohats.ca/wordpress/blog/2012/04/09/you-cant-p2p-the-
dns-and-have-it-too/
59
60