310 likes | 495 Views
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.
E N D
Arquitecturas Peer-to-peer (P2P) Mariano Latorre A. 5/9/2005 Arquitecturas P2P
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 Arquitecturas P2P
Qué 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” Arquitecturas P2P
Tipos 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. Arquitecturas P2P
Reseñ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 Arquitecturas P2P
Reseñ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 Arquitecturas P2P
Arquitecturas • P2P híbrido. Usa servidores centrales (~160). • P2P híbrido con pocos servidores (decenas). • Los peers pueden ser servidores • P2P con Supernodos • P2P puro Arquitecturas P2P
Arquitecturas: Napster vs Gnutella P2P puro P2P híbrido Arquitecturas P2P
Arquitecturas: 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 Arquitecturas P2P
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 Arquitecturas: Comparación entre http y p2p (1/2) Arquitecturas P2P
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 Arquitecturas: Comparación entre http y p2p (2/2) Arquitecturas P2P
Arquitecturas: 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 Arquitecturas P2P
Estadísticas Arquitecturas P2P
Estadísticas Arquitecturas P2P
Estadísticas: algunas conclusiones de 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. Arquitecturas P2P
Casos de estudio: Napster • Es probable que Etherny sea previa (pero no masiva) • TCP punto a punto • Necesita servidor centralizado Arquitecturas P2P
Casos 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 Arquitecturas P2P
Casos de estudio: Napster • Problemas: • Servidor sobrecargado • Sistema no tolerante a fallas Arquitecturas P2P
Casos de estudio: Gnutella • Búsqueda y flooding distribuido • Elimina los problemas del servidor central • Open source • Un request demasiado tráfico Arquitecturas P2P
Casos 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. Arquitecturas P2P
Casos de estudio: Kazaa [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 Arquitecturas P2P
Casos de estudio: Kazaa • ONs con mejor conexión SN • 3 tipos de conexión: • ON-ON sobre HTTP • ON-SN, SN-SN sobre TCP Arquitecturas P2P
Casos de estudio: Kazaa • Pasos para integrarse a la red: • ON prepara lista de archivos disponibles y calcula “metadata” Metadata: nombre, tamaño, hash de contenido y descriptores de archivo • ON envía toda su metada a un SN de la lista inicial • SN le envía lista SN actuales cercanos a él • ON envía ping a 5 de esos SNs y elige 1 • Si el SN se va offline, el ON repipite desde 2. Arquitecturas P2P
Casos 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 Arquitecturas P2P
Casos 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” Arquitecturas P2P
Casos de estudio: Kazaa Arquitecturas P2P
Casos 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 Arquitecturas P2P
Casos de estudio: BitTorrent Arquitecturas P2P
Casos 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” Arquitecturas P2P
Medició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 Arquitecturas P2P
Problemas 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 Arquitecturas P2P