Upload
dominga-cifuentes
View
247
Download
0
Embed Size (px)
Citation preview
[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
[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
[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”
[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.
[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
[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
[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
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 88
Arquitecturas: Napster vs GnutellaArquitecturas: Napster vs Gnutella
P2P híbrido
P2P puro
[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
[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
[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
[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
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1313
EstadísticasEstadísticas
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1414
EstadísticasEstadísticas
[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.
[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
[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
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 1818
Casos de estudio: NapsterCasos de estudio: Napster
• Problemas:– Servidor sobrecargado– Sistema no tolerante a fallas
[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
[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.
[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
[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
[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.
[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
[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”
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2626
Casos de estudio: KazaaCasos de estudio: Kazaa
[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
[email protected]@gmail.com Arquitecturas P2PArquitecturas P2P 2828
Casos de estudio: BitTorrentCasos de estudio: BitTorrent
[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”
[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
[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