1 / 79

Redes P2P

Redes P2P. Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas. e-mail : vjsosa@tamps.cinvestav.mx tel : 834.3166600 Ext 1015. Contenido. ¿Qué son las Redes P2P? Ventajas y Desventajas Áreas de Aplicación Arquitecturas Búsquedas y Localización

wren
Download Presentation

Redes P2P

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Redes P2P Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : vjsosa@tamps.cinvestav.mx tel : 834.3166600 Ext 1015

  2. Contenido • ¿Qué son las Redes P2P? • Ventajas y Desventajas • Áreas de Aplicación • Arquitecturas • Búsquedas y Localización • Tendencias • Conclusiones

  3. ¿Qué son las redes P2P • En un sistema P2P los usuarios finales comparten recursos vía intercambio directo entre sus computadoras. • La información se encuentra distribuida entre los nodos miembros del sistema en lugar de concentrarse en un servidor central • Estrictamente un sistema P2P “puro” refiere aquel sistema totalmente distribuido, en el cual todos los nodos son completamente equivalentes en términos de funcionalidad y tareas que desempeñan. • Esta definición dejaría fuera algunos sistemas actuales P2P que utilizan el término de Super Nodo.

  4. Contenidos Ciclos de cómputo Espacio Disco Responsabilidad Ancho Banda 1001010 • ¿Quécompartimos? • Creamosredesvirtuales a nivel de aplicación => Overlay Networks <= • Descentralización • La Infraestructuracrítica de la aplicaciónestáen posesión de muchos P2P Resursos de Software Recurso de Hardware

  5. Ventajas y Desventajas comparado con una arquitectura C/S • Ventajas • Escalabilidad inherente • Mayor disponibilidad • Auto-organización • Desventajas • No hay Garantías de Calidad de Servicio • Propenso a un Mayor Consumo de Ancho de Banda

  6. Áreas de Aplicación • Compartir Recursos • Archivos: Napster, Gnutella,Kazaa, FreeNet • Recursos de Cómputo: SETI@home • Comunicación • VoIP, Chat, Video Conferencias,.. • Colaboración • Edición de archivos de manera compartida • Foros, Mails, Calendarios, …

  7. P2P: Áreas de Aplicación Compartir recursos Cómputo distribuido Mensajería instantanea Trabajo colaborativo mediado puro hibrido

  8. Interés por Sistemas P2P Kazaa (Azul), eMule (Naranja) y LimeWire (Rojo). Desde 2004, Kazaa ha estadocayendoprincipalmentepordemandas de RIAA .

  9. Arquitecturas • Los Sistemas P2P por naturaleza son Distribuidos. • Por su forma de interconectarse son: • No Estructurados: Más simple, forman un grafo aleatorio. Pueden o no manejar índices. • Estructurados: Definen topologías (anillo, árboles binarios, toroides multidimensionales, entre otros). También conocidas como DHT (Distributed Hash Tables) • Super Peers: Se eligen “Super Nodos”, mantienen índices y retransmiten las consultas • Por sus forma de manejar sus directorios: • Híbridos • Totalmente Descentralizados (o Puros) • Parcialmente Centralizados

  10. Arquitectura: Híbrida (1) • Este tipo de arquitectura normalmente se utiliza en sistemas para compartir archivos P2P que cuentan con un Servidor que sirve como directorio central y que mantiene un índice general de los metadatos de todos los archivos almacenados en la red • Este Servidor mantiene también una tabla con la información de las conexiones de los usuarios, incluyendo su IP y su velocidad de conexión. • Las consultas por archivos son enviadas a este Servidor, consisten en una lista de palabras. • Los archivos son descargados de las máquinas Peer.

  11. Arquitectura: Híbrida Consulta en Napster Servidor Mary ¿Dónde está “Titanic”? Juan lo tiene Descaraga “Titanic” José Juan El Servidor envía los posibles usuarios que tienen el archivo buscado

  12. Arquitectura: Descentralizada, Pura (2) • Todos los nodos en la red tienen las mismas tareas y responsabilidades. • La comunicación entre los miembros es simétrica. • No existe un servidor índice como directorio central de los metadatos almacenados. Cada miembro almacena los metadatos de los archivos compartidos entre ellos. • No existe un coordinador central. • Ejemplos: • Ares Galaxy • Gnutella 2 • Freenet • FreeServe

  13. Arquitectura: Descentralizada,Pura • Gnutella y Freenet Juan Mary Descarga “Titanic ¿Dónde está “Titanic”? Lo tiene Juan ¿Dónde está “Titanic”? Yo lo tengo Lo tiene Juan ¿Dónde está “Titanic”? José Carlos

  14. Índice Centralizado: Ventajas y Desventajas • Ventajas • Ubica archivos de manera rápida y eficiente • Las búsquedas son exhaustivas • Todos los usuarios se deben registrar para estar en la red • Desventajas • Vulnerable a la censura • Los datos populares vienen a ser menos accesibles debido a la carga por peticiones en un servidor central. • El índice podría estar sin actualizar debido a que la base de datos central se actualiza sólo en ciertos periodos.

  15. Índice Descentralizado: Ventajas y Desventajas • Ventajas: • Escalabilidad inherente. • Se evita el “problema” de tener un sólo punto de litigación. • Tolerancia a fallos. • Desventajas: • El proceso de descubrimiento de la información es más lento. • El tráfico en la red por concepto de consultas es mayor.

  16. Arquitecturas: Parcialmente Centralizada (3) • Similar a la descentralizada, sin embargo, algunos de sus nodos asumen papeles de mayor importancia, actuando, por ejemplo, como servidores (Super Nodos) de índices locales para archivos compartidos por miembros de un grupo determinado. • Un servidor central registra los usuarios al sistema y facilita el proceso de descubrimiento de miembros. • Por ejemplo, en Morpheus, después de que un miembro es autenticado en el servidor, el servidor le proporciona una dir. IP y un puerto (1214) de uno o más “Super Nodos” a los cuales este miembro se conectará. • Ejemplos: Morpheus, KazaA

  17. Arquitecturas: Parcialmente Centralizada Peer1: Archivo 1, Archivo 2, Archivo 3, ..… Peer2: Archivo 1, Archivo 2, Archivo 3, ..… Peer3: Archivo 1, Archivo 2, Archivo 3, ..… Super Nodo C Super Nodo B Super Nodo A Peer 2, Archivo 1 Consulta Peer 3 Get Archivo 1 Peer 2 Peer 1 • Las consultas son enviadas a los Super Nodos • En el caso de Morpheus devuelve el IP del Peer • Los Peers se conectan directamente

  18. Mecanismos Para Localizar y Transferir Archivos en P2P • Las diversas arquitecturas definen distintos mecanismos para descubrir los archivos en una red P2P. • Representan un factor importante que define la eficiencia del sistema para compartir archivos P2P • Redes No Estructuradas: • FreeNet • Gnutella

  19. Búsquedas en Redes No Estructuradas • Primero-Amplitud y Primero-Profundidad (Inundación) • Caminata aleatoria (Random Walk) • Manejo de Índices Locales (nodos en cierto radio) • Estrategias que explotan el comportamiento de la topología de red que sigue la ley de potencia (power law). X = Ry • Considerar Reputación de los Peers • Construcción de redes de capa de aplicación (overlays) en base a contenidos: Semantic Overlay Network (SON).

  20. Localización de Archivos en FreeNet: Modo Cadena • Una solicitud por un archivo puede ser retransmitida a través de diferentes nodos. • Si el nodo no tiene el documento que es buscado, retransmite la solicitud a uno de sus vecinos que tenga una alta probabilidad de tenerlo. Estos mensajes forman una cadena debido a la retransmisión de la solicitud al siguiente nodo. • Los mensajes caducan al cumplirse un tiempo determinado evitando cadenas muy largas. • La cadena termina cuando un nodo contesta o cuando el tiempo expira.

  21. Selección de Super Nodos • Morpheus • En Morpheus los peers son elegidos automáticamente para convertirse en Super Nodos si cuentan con suficiente ancho de banda y poder de procesamiento (un parámetro de configuración permite a los usuarios optar por este modo). • Una vez que un peer recibe la lista de Super Nodos desde un servidor central, la comunicación con dicho servidor es mínima. • La selección de Super Nodos en Morpheus utiliza algoritmos y protocolos propietarios llamados FastTrack P2P Stack licenciados por FastTrack. No se cuenta con documentación.

  22. Selección de Super Nodos • Gnutella • El concepto de Super Nodo también se utiliza en Gnutella. • Propone un mecanismo de selección dinámica de Super Nodo para auto-organizar la red Gnutella como una interconexión de Super Nodos y nodos Cliente. • Un nodo “lento” llega a la red como nodo Cliente y trata de conectarse con un Super Nodo. • En los casos donde ningún Super Nodo está disponible a aceptar esta conexión, el nodo podrá actuar como Super Nodo.

  23. Selección de Super Nodos • Gnutella (Cont..) • Un nodo que tiene suficiente capacidad de CPU y ancho de banda se conectará a la red en forma de Super Nodo y establecerá conexiones de Super Nodo con otros Super Nodos. Este Super Nodo estará en un periodo de prueba. Arranca definiendo un número mínimo de clientes (Min-Clients). • Si el nuevo nodo al menos recibe Min_Clients de conexiones de otros nodos durante su periodo de prueba , permanece como Super Nodo. De otra manera, se convierte en nodo Cliente y establece conexiones de tipo cliente con un Super Nodo de su área. En caso de que no existan conexiones disponibles con Super Nodos puede entrar en otro periodo de prueba.

  24. Índice Parcialmente Centralizado: Ventajas • Reduce el tiempo de localización de archivos en comparación con el sistema de índice totalmente descentralizado (como el de Gnutella y Freenet). • Reduce la carga de trabajo en servidores centrales en comparación a los sistemas de índices totalmente centralizados como el de Napster.

  25. Comparación entre Super Nodos en Morpheus y Servidores en Napster • El servidor central de Napster sólo mantiene el índice de los archivos compartidos en el sistema. El servidor central no comparte archivos con otros Peers, tampoco descarga archivos desde ellos. • En Morpheus y KazaA, un Super Nodo es un Peer, por tanto, comparte archivos con otros Peers. • Naspter Colapsa si el servidor central falla. Si alguno o varios de los SuperNodos fallan, los Peers conectados a estos SuperNodos pueden abrir conexiones con otros SuperNodos en el sistema, por tanto, la red podrá funcionar. Si todos los SuperNodos fallan, los Peers existentes podrán tomar el papel de SuperNodos.

  26. Redes Estructuradas: Ubicación y Ruteo Identificar y Organizar Nodos (topología). Definir sucesores y predecesores.

  27. Redes Estructuradas: Ubicación y Ruteo Ingreso y abandono de la Red: Simultaneo…

  28. Redes Estructuradas: Ubicación y Ruteo: Chord • Utilizan un identificador de m-bits (se generan llaves e identifican nodos) • 2m posibles llaves y nodos • N = 2m • Cada nodo puede tomar cualquier identificador [0 , 2m) sin empalmar • Sea k el conjunto de identificadores de nodos ordenados • El nodo k[i] es responsable de mantener todas las claves entre los valores [ k[i-1]+1, k[i] ] • El nodo k[i] es el nodo sucesor de k[i-1] • El nodo k[i-1] es el nodo predecesor de k[i] • ej: m=3 && k={0,4,7} • El nodo 4 es responsable de las llaves {1,2,3,4} • El nodo 7 es responsible de las llaves {6,7} • El nodo 0 es responsible de las llaves {0} • Diseñado para permitir entrar y salir a los nodos con un mínimo de pertubación.

  29. Chord: Ejemplo Nodo inactivo Nodo activo

  30. Algunas Propuestas de Ruteo y Localización (P2P Estructuradas) • Chord: MIT. [Stoica et al. 2001] • Servicio escalable de búsqeda P2P. Dada una llave, la mapea a un nodo • CAN [Ratnasamy et al. 2001]: Content Addressable Network. • Insfraestructura distribuida que provee funcionalidad de tabla hash para mapear nombres de archivos a localidades. • Pastry: Microsoft Research [Rowstron and Druschel 2001] • Infraestructura para localización y ruteo tolerante a fallas en un red de área amplia • Tapestry [Zhao et al. 2001] • Infraestructura para localización y ruteo tolerante a fallas en un red de área amplia • Kademlia: NY University [Mayamounkov and Mazieres 2002] • Servicio de búsqueda escalable basado en la métrica XOR

  31. SemanticOverlay Network (SON): Crespo y Garcia-Molina Clasificación Rock Rap Country Creación y uso de SON Jazz SON

  32. ¿ Estructurada vs No Estructurada vs SuperPeers? • Una comparación: • Yong Yang, Rocky Dunlap, Michael Rexroad, and Brian F. Cooper. Performance of Full Text Search in Structured and Unstructured Peer-to-Peer Systems. In Proceedings of IEEE INFOCOM06, April 2006. • Las redes Estructuradas ofrecen una mejora de 30% en los tiempos de respuesta comparados con las redes de Super Peers. Pero necesitan 6 veces más recursos de red para publicar sus contenidos. • Las redes No-Estructuradas que implementan sus búsquedas con técnicas de tipo “caminata aleatoria” (random walk) no necesitan publicar sus recursos, pero es más lento en responder sus consultas comparado con otras estrategias. • Opción: Combinar!

  33. P2P: Retos • Diseñar estructuras de datos y algoritmos para la distribución y localización de archivos en donde se maximice la eficiencia, seguridad y la escalabilidad, tanto en redes estructuradas como sin estructura. • El estudio de esquemas de anonimato, resistencia a censura y seguridad, especialmente para información que es sensible. • Esquemas para combinar los beneficios de P2P con las ventajas que ofrece la computación distribuida bien establecida que incluye la interoperabilidad y el manejo de estándares como en la Grid

  34. P2P: Retos • Diseño de mecanismos para el manejo de incentivos y para control de reputación que ayudarán a estimular el comportamiento de cooperación de los participantes y que propiciará una operación más justa en la red P2P • Estudio y propuestas de esquemas para agrupamiento y búsqueda de información considerando su contenido semántico. Tema muy relacionado con la Web Semántica. Pasar de la Música al Conocimiento!!!

  35. P2P: Tendencias • Plataformas Emergentes • Convergencia entre computación Grid y P2P • Mejoras en la eficiencia de los sistemas P2P • Búsquedas Semánticas (Tapestry, CAN -Content Addressable Networks …) • Uso de Caching en Consultas/Respuestas

  36. Programas de Aplic. Dedicados y Protocolos Plataformas Frameworks ? Freenet ? Gnutella • para 1 área de aplicación • no-generico • 1 clase aplicación • 1 problema especifico • interoperabilidad de red? • ofrecer servicios genericos • soporta paradigma P2P • usados para construir aplic P2P ? ? SETI@home ? Groove eDonkey ? PlataformasEmergentes Áreas de Aplicac. Compartir Archivos Procesamiento Distribuido Mensajería Instantanea Colaboración

  37. JXTA • Desarrollado por Sun Microsystems • Conjunto de Protocolos Abiertos Basados en XML • API de Java e-mail Subastas Almacenamiento de datos Indexado Búsqueda Compartir Archivos JXTA Community Applications Sun JXTA Applications Aplicaciones JXTA Shell Estableciemiento del Peer Gestion de la Comunicación Routing Peer Commands JXTA Community Services Sun JXTA Services Servicios Peer Groups Peer Pipes Peer Monitoring Nucleo Seguridad [http://www.jxta.org]

  38. BOINC • Berkeley Open Infrastructure for Network Computing • Permite a sus participantes resolver problemas seleccionados • = “SETI@Home” genérico [http://boinc.berkeley.edu]

  39. Las aplicaciones P2P pueden ser muy consumidoras BW • extremadamente populares (y hasta adictivas) • algunas siguen un uso de estrategias ineficientes (broadcast, inundación,..) • Dolor de cabeza! Riesgo de Cuellos de Botella • Las redes overlay tienen poca relación con la estructura física • Relación simétrica entre Pares Cambios en el Comportamiento de los Usuarios • “siempre” en línea! • Provedores y Consumidores de Información Conclusiones Para operadores de redes

  40. La gente está MUY interesada en contenidos digitales La gente desea compartir recursos gratis! (e incluso se gasta su dinero …) • conviene hacer sentir a la gente que participan en proys. grandes • reconocer y dar crédit a los usuarios (favorece competencia) Evitar cavar nuestra propia sepultura • evitar estrategias que consuman mucho ancho de banda • incluir mecanismos de micropagos/confianza como - motivación para participar - evitar el free-riding - evitar ataques DoS Conclusiones Para Desarrolladores de Aplicaciones

  41. Riesgo por Hackers • son necesarios los mecanismos de encripción Tomar en cuenta que están emergiendo Plataformas eficientes de P2P • reutilizar esfuerzos • reutilizar lo que haga la comunidad de usuarios Asegurarse que nuestras aplicaciones siempre sean escalables • Entre más usuarios, mayor será el interés por integrarse a la red. Conclusiones Para Desarrolladores de Aplicaciones

  42. ¿Qué es JXTA?...Continua.. • JXTA: Plataforma abierta de programación para computación P2P formada por: • Conjunto de protocolos de comunicación (basados en XML). • API de programación. • Red virtual. • JXTA=juxtapose (alternativa a cliente/servidor) • Objetivos de JXTA: • Interoperabilidad: Entre diferentes sistemas P2P y comunidades. • Independencia de la plataforma: Lenguajes de programación (C, C++, Java), sistemas operativos (UNIX, Windows) y entornos de red (TCP, HTTP, SMTP, Bluetooth). • Ubicuidad: Todo dispositivo que emita una señal puede conectarse.

  43. JXTA. Arquitectura software. • La arquitectura software del proyecto JXTA está dividida en 3 capas: • Capa del núcleo (core): • Responsable de gestionar los protocolos JXTA mediante los cuáles los peers pueden comunicarse. • Encapsula las funciones básicas de P2P. • Capa de servicio: • Servicios de red que no resultan absolutamente necesarios para P2P, pero que son comúnmente utilizados o deseables en un entorno de este tipo. • Ej: búsqueda e indexación, directorio, sistemas de almacenamiento, compartición de ficheros, sistemas de ficheros distribuidos, etc. • Capa de aplicación: • En esta capa se encuentran las aplicaciones P2P. • Ej. Compartición de ficheros, chat, grid computing, etc.

  44. JXTA. Arquitectura software.

  45. La red virtual JXTA • Red adaptativa, ad-hoc y multisalto. • Gran frecuencia de cambio en la topología: las conexiones son temporales. • Rutas no deterministas. • Red de superposición (overlay network): red virtual por encima de la red física. • La conectividad en la red no depende de la localización física.

  46. La red virtual JXTA

  47. Elementos clave de JXTA • Peers • Cualquier dispositivo conectado a la red que implementa uno o más protocolos JXTA. • Peer Groups • Colección de peers que acuerdan un conjunto común de reglas para publicar, compartir y acceder a los recursos. • Tuberías • Canales de comunicación virtuales unidireccionales y asíncronos.

  48. Elementos clave de JXTA • Mensajes • Empaqueta la información transmitida a través de las tuberías. • Pueden ser binarios o XML. • Anuncios • Representación de los recursos de la red. • Basados en XML. • Codats (código y datos) • Cualquier tipo de contenido: código, datos, aplicaciones, etc.

  49. Bloques básicos de la red virtual • Direccionamiento lógico uniforme (Peer IDs) • Dominios configurables dinámicamente (peer groups). • Representación uniforme de recursos (anuncios) • Mecanismo de resolución universal (resolver) • Canales de comunicación virtuales (tuberías) • Seguridad • Monitorización • Contenidos (código y datos)

  50. Direccionamiento lógico uniforme • Un peer se identifica mediante: • Un Peer ID único. • Múltiples direcciones de extremo peer: • TCP/IP (tcp://129.127.29.65:9700) • HTTP (http://JxtaHttpClientuuid-….) • Etc… • Permite el direccionamiento independientemente de la localización física (firewalls y NAT’s) en la red.

More Related