Arquitecturas Peer-to-peer (P2P)

31
marianolatorre@gmai marianolatorre@gmai l.com l.com 1 Arquitecturas P2P Arquitecturas P2P Arquitecturas Peer- Arquitecturas Peer- to-peer (P2P) to-peer (P2P) Mariano Latorre A. Mariano Latorre A. 5/9/2005 5/9/2005

description

Arquitecturas Peer-to-peer (P2P). Mariano Latorre A. 5/9/2005. Temas 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. Qué es P2P? - Wikipedia. - PowerPoint PPT Presentation

Transcript of Arquitecturas Peer-to-peer (P2P)

Page 1: Arquitecturas Peer-to-peer (P2P)

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

Arquitecturas Peer-to-peer Arquitecturas Peer-to-peer (P2P)(P2P)

Mariano Latorre A.Mariano Latorre A.

5/9/20055/9/2005

Page 2: Arquitecturas Peer-to-peer (P2P)

[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)

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

Qué es P2P? - WikipediaQué es P2P? - Wikipedia

• “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)

[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)

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

Reseñas históricasReseñas históricas

• 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)

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

Reseñas históricasReseñas históricas

• 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)

[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)

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

Arquitecturas: Napster vs GnutellaArquitecturas: Napster vs Gnutella

P2P híbrido

P2P puro

Page 9: Arquitecturas Peer-to-peer (P2P)

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

Arquitecturas: KazaaArquitecturas: Kazaa

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)

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

Arquitecturas: Comparación entre Arquitecturas: Comparación entre http y p2p (1/2)http 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)

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

Arquitecturas: Comparación entre Arquitecturas: Comparación entre http y p2p (2/2)http 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)

[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)

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

EstadísticasEstadísticas

Page 14: Arquitecturas Peer-to-peer (P2P)

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

EstadísticasEstadísticas

Page 15: Arquitecturas Peer-to-peer (P2P)

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

Estadísticas: algunas conclusiones Estadísticas: algunas conclusiones de CacheLogic 2004de CacheLogic 2004

• 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)

[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)

[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)

[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)

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

Casos de estudio: GnutellaCasos de estudio: Gnutella

• 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)

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

Casos de estudio: GnutellaCasos de estudio: Gnutella

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

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

Page 21: Arquitecturas Peer-to-peer (P2P)

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

Casos de estudio: Kazaa Casos de estudio: Kazaa [Chawathe 03][Chawathe 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)

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

Casos de estudio: KazaaCasos de estudio: Kazaa

• 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)

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

Casos de estudio: KazaaCasos de estudio: Kazaa

• 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 inicial

3. SN le envía lista SN actuales cercanos a él

4. ON envía ping a 5 de esos SNs y elige 1

5. Si el SN se va offline, el ON repipite desde 2.

Page 24: Arquitecturas Peer-to-peer (P2P)

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

Casos de estudio: KazaaCasos de estudio: Kazaa

• 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)

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

Casos de estudio: KazaaCasos de estudio: Kazaa

• 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)

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

Casos de estudio: KazaaCasos de estudio: Kazaa

Page 27: Arquitecturas Peer-to-peer (P2P)

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

Casos de estudio: BitTorrentCasos de estudio: BitTorrent

• 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)

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

Casos de estudio: BitTorrentCasos de estudio: BitTorrent

Page 29: Arquitecturas Peer-to-peer (P2P)

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

Casos de estudio: BitTorrentCasos de estudio: BitTorrent

• 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)

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

Medición de performanceMedición de performance

• 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)

[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 IPs que acceden a una red P2P consumen cerca del 99%

del tráfico total