Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los...

31
[email protected] [email protected] 1 1 Arquitecturas P2P Arquitecturas P2P Arquitecturas Peer Arquitecturas Peer - - to to - - peer peer (P2P) (P2P) Mariano Mariano Latorre Latorre A. A. 5/9/2005 5/9/2005

Transcript of Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los...

Page 1: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com 11Arquitecturas P2PArquitecturas P2P

Arquitecturas PeerArquitecturas Peer--toto--peer peer (P2P)(P2P)

Mariano Mariano LatorreLatorre A.A.5/9/20055/9/2005

Page 2: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 22

Temas a verTemas a ver

• Qué es P2P?• Tipos de redes • Reseñas históricas• Arquitecturas• Estadísticas• Casos de estudio:

– Napster, Gnutella, Kazaa y Bittorrent• Performance• Problemas actuales

Page 3: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 33

QuQuéé es P2P? es P2P? -- WikipediaWikipedia

• “Una red informática que no tiene clientes y servidores fijos, sino una serie de nodos que se comportan a la vez como clientes y como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción. Los nodos pueden diferir en configuración local, velocidad de proceso, ancho de banda de su conexión a la red y capacidad de almacenamiento”

Page 4: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 44

Tipos de redes P2PTipos de redes P2P

• Computación colaborativa – Grids. Ejemplo: – GRID.org tienen 2 millones de PC que suman

100 teraflops [un trillón de operaciones de punto flotante/seg.] .

• Mensajería instantánea. Básicamente chat.

• Comunidades afines Intercambio de archivos.

Page 5: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 55

ReseReseññas histas históóricasricas

• Antes 1999’ - Internet provee News e IRC. Mp3.com sitio web central

• 1999 – Nace Napster Shawn Fanning

– No completamente P2P• Fines 1999 – demandas contra Napster• Febrero 2001 – alcanza 13,6 millones de

usuarios• Julio 2001 – cierran napster

Page 6: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 66

ReseReseññas histas históóricasricas

• Napigator y OpenNap• WinMX y iMesh reemplazan a Napster• Audiogalaxy lidera la lista, pero también

es cerrado• 2002 – usuarios cambian masivamente a

Kazaa y Morpheus (descentralizados más cerca de ser P2P)

• Gnutella – prácticamente imposible darla de baja

Page 7: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 77

ArquitecturasArquitecturas

• P2P híbrido. Usa servidores centrales (~160).

• P2P híbrido con pocos servidores (decenas). – Los peers pueden ser servidores

• P2P con Supernodos

• P2P puro

Page 8: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 88

Arquitecturas: Napster Arquitecturas: Napster vsvs GnutellaGnutella

P2P híbridoP2P puro

Page 9: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 99

Arquitecturas: Arquitecturas: KazaaKazaa

P2P con supernodos (SN)

Los SN son designados de acuerdo a la capacidad de la red en la que se encuentren. No es obligatorio ser SN.

Red de Kazaa

Page 10: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1010

Arquitecturas: ComparaciArquitecturas: Comparacióón entre n entre httphttp y p2p (1/2)y p2p (1/2)

• Archivos pequeños, no más de 500kb

• Objetos pasan en una sola sesión

• Dura pocos segundos• Conexiones

confiables y disponibilidad asegurada

• Archivos grandes desde 3.5Mb hasta 2Gb o más

• Los downloads abren muchas conexiones

• Sesiones de días• Conexiones y

disponibilidad insegura

Page 11: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1111

Arquitecturas: ComparaciArquitecturas: Comparacióón entre n entre httphttp y p2p (2/2)y p2p (2/2)

• Conalgunas excepciones pocos sitios cambian sus contenidos

• Protocolo bien definido y ~estático

• Puerto fijo :80• Exceptuando los mirrors

existe un único host• Tráfico asimétrico

• Contenidos en constante cambio

• Diversos protocolos abiertos y cerrados

• Puertos fijos, dinámicos, ocultos en otros servicios.

• Cada contenido estáligado a único hash

• Tráfico ~simétrico

Page 12: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1212

Arquitecturas: Nuevos desarrollosArquitecturas: Nuevos desarrollos

• Nuevos desarrollos– Selección de puertos dinámicos. Kazza– Downloads bi-direccionales. Bittorrent e

eDonkey.

• Impacto– Más difícil analizar el comportamiento de las

redes– Más rápida la difución y creación de sources

Page 13: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1313

EstadEstadíísticassticas

Page 14: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1414

EstadEstadíísticassticas

Page 15: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1515

EstadEstadíísticas: algunas conclusiones sticas: algunas conclusiones de de CacheLogicCacheLogic 20042004

• El tráfico web es insignificante en comparación al P2P.• P2P es simétrico en upload:download• P2P va en crecimiento• El tamaño de los archivos que se transfieren son cada vez

mayores. El 30 % del tráfico es de a un solo archivo de 600 megas.

• Se está comenzando a distribuir imágenes de software libre por P2P. Ej: Fedora.

• 35 millones de europeos han bajado música utilizando clientes P2P

• En 30 días una unidad de CacheLogic observó 3.5 millones de ips fijas transfiriendo.

• Bit torrent se ha vuelto la aplicación P2P más usada actualmente.

Page 16: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1616

Casos de estudio: NapsterCasos de estudio: Napster

• Es probable que Etherny sea previa (pero no masiva)

• TCP punto a punto

• Necesita servidor centralizado

Page 17: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1717

Casos de estudio: NapsterCasos de estudio: Napster• Cliente se conecta al

servidor de Napster• Se sube la lista de archivos

compartidos al servidor junto con el IP

• Búsqueda (query)• Pings a los peers que son

source• Selecciona un conjunto de

ellos con la mejor tasa de transferencia.

• Comienza con la transferencia

Page 18: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1818

Casos de estudio: NapsterCasos de estudio: Napster

• Problemas:– Servidor sobrecargado– Sistema no tolerante a fallas

Page 19: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1919

Casos de estudio: Casos de estudio: GnutellaGnutella

• Búsqueda y flooding distribuido• Elimina los problemas del servidor central• Open source• Un request demasiado tráfico

Page 20: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2020

Casos de estudio: Casos de estudio: GnutellaGnutella

• Ha “copiado” cosas de otros protocolos: downloads paralelos, administración de colas, etc.

• Atractivo a investigadores, fácil realizar experimentos, provee plataforma de testsy mediciones.

Page 21: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2121

Casos de estudio: Casos de estudio: KazaaKazaa [[ChawatheChawathe 03]03]

• Software propietario y protocolo cerrado.• Utiliza supernodos (SN) • Viene con lista inicial de potenciales SN• Elige servidor y cambia cuando necesita• Cliente configurable: max upload-download rate, número

mínimo de resultados.• Olas de resultados y downloads paralelos• Cada SN se conecta con ~150 ON (ordinary node)• Se estiman ~30.000 SN• c/SN mantiene TCP con ~40 ON• Conexión ON-SN dura en promedio 56 minutos

Page 22: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2222

Casos de estudio: Casos de estudio: KazaaKazaa• ONs con mejor conexión SN• 3 tipos de conexión:

– ON-ON sobre HTTP– ON-SN, SN-SN sobre TCP

Page 23: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2323

Casos de estudio: Casos de estudio: KazaaKazaa

• Pasos para integrarse a la red:1. ON prepara lista de archivos disponibles y calcula

“metadata”Metadata: nombre, tamaño, hash de contenido y descriptores

de archivo

2. ON envía toda su metada a un SN de la lista inicial3. SN le envía lista SN actuales cercanos a él4. ON envía ping a 5 de esos SNs y elige 15. Si el SN se va offline, el ON repipite desde 2.

Page 24: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2424

Casos de estudio: Casos de estudio: KazaaKazaa

• Pasos para el query– ON envía su query al SN con un mínimo de N

resultados requeridos– Si el SN supera los N resultados solicitados

por el ON, realiza forward a los SN con que está conectado.

– Cada SN que no obtenga resultados realiza forward.

– Los resultados son enviados al ON

Page 25: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2525

Casos de estudio: Casos de estudio: KazaaKazaa

• Pasos para el download:– ON posee lista de ONs fuentes– ON envía request– Se inicia transferencia sobre HTTP usando

“byte-range header”

Page 26: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2626

Casos de estudio: Casos de estudio: KazaaKazaa

Page 27: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2727

Casos de estudio: Casos de estudio: BitTorrentBitTorrent

• No es P2P puro• Utiliza sitios webs y trackers• Las búsquedas se realizan en el servidor

web• Para iniciar un download se debe bajar el

“.torrent” asociado al contenido a bajar• .torrent contiene: el largo de archivo,

nombre, hash y url del tracker

Page 28: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2828

Casos de estudio: Casos de estudio: BitTorrentBitTorrent

Page 29: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2929

Casos de estudio: Casos de estudio: BitTorrentBitTorrent

• El tracker realiza mediciones fácil obtener estadisticas y analizar performance

• Los archivos se dividen en partes (256Kb)• El cliente puede “elegir” qué partes bajará

primero– En general se prefieren las menos comunes

• Archivos son fuentes durante el download. Luego de completado el download este se puede mantener como “seed”

Page 30: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 3030

MediciMedicióón de n de performanceperformance

• Dos tipos:– Monitoreo de red o Sniffing

• No es necesario conocer el protocolo• Los protocolos han cambiado para evitar estas

mediciones– Datos de aplicación

• Volver a escribir la aplicación cliente y servidor• Ingeniería reversa• Datos más exactos

Page 31: Arquitecturas Peer-to-peer (P2P)nbaloian/cc50h/2005... · 2005. 9. 22. · como servidores de los demás nodos de la red. Cualquier nodo puede iniciar o completar una transacción.

[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 3131

Problemas Actuales de P2PProblemas Actuales de P2P

• Polución. Falso contenido

• Archivos de moda. Cerca del 0.1% de los archivos que están siendo requeridos con mayor frecuencia, generan cerca del 50% del tráfico

• Usuarios peligrosos. Cerca del 10% de las IPsque acceden a una red P2P consumen cerca del 99% del tráfico total