Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : [email protected] tel : 834.3166600 Ext 1015
Download ReportTranscript Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : [email protected] tel : 834.3166600 Ext 1015
Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : [email protected] tel : 834.3166600 Ext 1015 1 ¿Qué son las Redes P2P? Ventajas y Desventajas Áreas de Aplicación Arquitecturas Búsquedas y Localización Tendencias Conclusiones 2 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. 3 Ciclos de cómputo Espacio Disco Ancho Banda 1001010 Resursos de Software • ¿Qué compartimos? Contenidos Responsabilidad • Creamos redes virtuales a nivel de aplicación => Overlay Networks <= • Descentralización • La Infraestructura crítica de la aplicación está en posesión de muchos 4 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 5 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, … 6 Compartir recursos Cómputo distribuido Mensajería instantanea Trabajo colaborativo mediado puro hibrido 7 Kazaa (Azul), eMule (Naranja) y LimeWire (Rojo). Desde 2004, Kazaa ha estado cayendo principalmente por demandas de RIAA . 8 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 9 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. 10 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 11 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 12 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 13 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. 14 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. 15 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 16 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 Consulta Peer 2, Archivo 1 Peer 3 Get Archivo 1 Peer 2 Peer 1 1) Las consultas son enviadas a los Super Nodos 2) En el caso de Morpheus devuelve el IP del Peer 3) Los Peers se conectan directamente 17 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 18 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). 19 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. 20 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. 21 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. 22 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. 23 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. 24 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. 25 Identificar y Organizar Nodos (topología). Definir sucesores y predecesores. 26 Ingreso y abandono de la Red: Simultaneo… 27 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. 28 Nodo inactivo Nodo activo 29 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 30 Clasificación Rock Rap Country Creación y uso de SON Jazz SON 31 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! 32 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 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!!! 34 • 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 35 Áreas de Aplicac. Compartir Archivos Procesamiento Distribuido Mensajería Instantanea Programas de Aplic. Dedicados y Protocolos Freenet eDonkey Colaboración ? Gnutella • para 1 área de aplicación • no-generico • 1 clase aplicación • 1 problema especifico • interoperabilidad de red? SETI@home Plataformas Frameworks Groove ? • ofrecer servicios genericos • soporta paradigma P2P • usados para construir aplic P2P ? ? ? ? 36 • Desarrollado por Sun Microsystems • Conjunto de Protocolos Abiertos Basados en XML • API de Java e-mail Subastas Almacenamiento de datos Aplicaciones JXTA Community Applications Indexado Sun JXTABúsqueda JXTA Applications Compartir Archivos Shell Servicios JXTA Community Services Peer del Peer Sun JXTA Estableciemiento de la Comunicación Services Gestion Commands Routing Nucleo Peer Groups Peer Pipes Peer Monitoring Seguridad [http://www.jxta.org] 37 • Berkeley Open Infrastructure for Network Computing • Permite a sus participantes resolver problemas seleccionados • = “SETI@Home” genérico [http://boinc.berkeley.edu] 38 Para operadores de redes 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 39 Para Desarrolladores de Aplicaciones 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 40 Para Desarrolladores de Aplicaciones 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. 41 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. 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. 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. Peers Peer Groups ◦ Cualquier dispositivo conectado a la red que implementa uno o más protocolos JXTA. ◦ 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. 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. 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) 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. La red JXTA está compuesta de peers conectados, que pueden unirse o dejar la red en cualquier momento. Tipos de peers: ◦ Peers mínimos. Pueden enviar y recibir mensajes. No almacenan anuncios ni enrutan mensajes. Dispositivos pequeños (móviles, PDA’s, game boy). ◦ Peers simples. Como los mínimos, pero pueden almacenar anuncios. No enrutan mensajes. ◦ Peers rendezvous. ◦ Peers relays. Como los peers simples, pero pueden reenviar peticiones de descubrimiento para permitir a otros peers el descubrimiento de recursos. Cualquier peer simple puede convertirse en rendezvous. Cualquier peer puede utilizar uno o más rendezvous. Cada rendezvous mantiene un lista con: Almacenan un gran número de anuncios. ◦ El resto de rendezvous que conoce. ◦ Los peers que han contratado sus servicios. Los peers envían peticiones de búsqueda a los rendezvous. Si no pueden satisfacerlas las reenvían a otros rendezvous. El proceso continúa hasta que un peer tiene el anuncio buscado o la petición muere (TTL en el mensaje). Búcles de red: se evitan manteniendo la lista de los peers que atraviesa el mensaje. Peers especiales utilizados para enrutar mensajes a otros peers dentro de la red física. ◦ Soportan transferencia de mensajes multisalto. ◦ Los mensajes JXTA contienen información de auto-enrutamiento (enrutamiento basado en el origen). ◦ Los relays mantienen información dinámica de enrutamiento. ◦ Almacenan mensajes hacia peers temporalmente no disponibles o no alcanzables. Cualquier peer puede convertirse en un relay. Utilizados principalmente para atravesar firewalls y NATs. Permiten el descubrimiento dinámico de rutas. Definidos por el usuario sin necesidad de administradores de red. Identificados mediante un Peer group ID. Permiten la auto-organización de los peers (dinámicamente). Agrupan un conjunto de servicios: servicios de peer group. Política de pertenencia configurable. Crear dominios de seguridad y protección. Limitar las operaciones de los peers (descubrimiento, búsqueda, comunicación). Proporcionar una identidad de grupo (grupo que comparte intereses comunes). Monitorización. ◦ Servicios de los peer groups: Servicio de Servicio de Servicio de Servicio de Servicio de Servicio de descubrimiento. pertenencia. acceso. tubería. resolución (resolver). monitorización. ◦ Nota: Un peer group es libre de implementar sólo los servicios que considere necesarios. Todo recurso de una red JXTA es representado mediante un anuncio. ◦ ◦ ◦ ◦ ◦ ◦ Peers. Peer groups. Tuberías. Extremos. Modulos. Contenidos. <?xml version="1.0"?> <!DOCTYPE jxta:PA> <jxta:PA xmlns:jxta="http://jxta.org"> <PID> urn:jxta:uuid59616261646162614A78746150325033958A35814213467EBC6C 88D3C138B43903 </PID> <GID> urn:jxta:jxta-NetGroup </GID> <Name> bill </Name> <Svc> <Parm> <Addr> tcp://129.144.34.14:9701/ </Addr> <Addr> jxtatls://uuid59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/ TlsTransport/jxta-WorldGroup </Addr> <Addr> http://JxtaHttpClientuuid59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/ </Addr> </Parm> </Svc> </jxta:PA> Los peers pueden almacenar anuncios (no es obligado). Los peers publican y descubren anuncios de los recursos. Cada anuncio se publica con un tiempo de vida. ◦ Fecha de expiración relativa. ◦ Se eliminan del sistema cuando expiran. Los anuncios pueden ser republicados. Todas las operaciones de resolución (binding) propias de los SSDD se implementan mediante la búsqueda de anuncios. Ejemplos: ◦ ◦ ◦ ◦ ◦ DNS->Búsqueda de anuncios de peer o de peer group. Localización de servicios -> búsqueda de anuncios de módulos. Servicios de directorios -> búsqueda de anuncios de peer. Resolución de sockets –> búsqueda de anuncios de tuberías. Sistemas de ficheros distribuidos -> búsqueda de anuncios de contenidos. ¡No se requiere centralización! Descubrimiento local. ◦ Multicast TCP/IP multicast (limitado a la red local). Peers rendezvous. ◦ Las peticiones de descubrimiento se reenvían entre los rendezvous. ◦ Cada peer tiene su propio conjunto de rendezvous. Sistemas de índices distribuidos. ◦ Esquemas de CAN y Chord. ◦ Indexan los recursos de la red asociando los peers más capacitados para responder a las consultas. ◦ Evitan obtener información inconsistente de los recursos. Canal de comunicación no físico entre dos o más peers. Identificado mediante un pipe ID único. Se anuncia mediante un anuncio de tubería. Flujo de “datos tipados” (esquema XML). Una tubería está formada por dos extremos: ◦ Tubería de entrada (extremo receptor). ◦ Tubería de salida (extremo emisor). Permiten el enlace dinámico de dos peers. Existen dos servicios de tubería en el núcleo JXTA: ◦ Tuberías unidireccionales, asícronas, punto a punto (1-1). ◦ Tuberías de propagación: propagan datos en un peer group (1-N). Las tuberías seguras son una variante segura de las tuberías punto a punto (utilizan TLS). Se han implementado otros tipos de tuberías: ◦ Tuberías bidireccionales. ◦ Tuberías confiables y tuberías bidireccionales confiables. Conectan servicios independientemente de su localización física. Enlace dinámico (al crear la tubería o al enviar un mensaje). Asíncronas (modo conexión y desconexión). Aumentan la disponibilidad de servicios (tolerancia a fallos: reconexión transparente de extremos). Encadenan múltiples servicios para formar un servicio más complejo. Modulo = Representación de un servicio independiente de la plataforma. Descripción de servicios (WSDL, SOAP, RMI, ORB, etc). El código del servicio puede ser: una clase Java, una librería dinámica DLL, un conjunto de mensajes XML o un script. Unión a un grupo: necesita nuevos servicios. Anuncios de módulo: ◦ Module class: anucia la existencia de un servicio. ◦ Module Specification: anuncia la forma de acceder al servicio (API, messages). ◦ Module Implementation: anuncia una implementación específica de la pltaforma. JXTA define 6 protocolos: ◦ Peer Discovery Protocol. Utilizado por los peers para anunciar sus propios recursos y descubrir recursos publicados por otros peers ◦ Peer Information Protocol. Permite a los peers obtener información del estado de otros peers (tiempo, estado, tráfico, etc). ◦ Pipe Binding Protocol. Se utiliza para establecer canales de comunicación virtuales o tuberías entre uno o más peers. Peer Resolver Protocol. Endpoint Routing Protocol. Rendezvous Protocol. ◦ A través de este protocolo los peers pueden enviar consultas genéricas a uno o más peers y recibir una respuestas a dicha consulta. ◦ Utilizado para encontrar rutas a otros peers. La información de enrutamiento contiene una secuencia ordenada de relays. ◦ Utilizado para propagar mensajes dentro de un peer group. Las redes P2P tales como JXTA necesitan soportar diversos niveles de acceso a los recursos. Los peers JXTA funcionan con un modelo de confianza basado en roles en el que cada peer actúa bajo la autoridad otorgada por otro peer de confianza. Requisitos de seguridad: ◦ ◦ ◦ ◦ ◦ Confidencialidad. Autenticación. Autorización. Integridad. Refutabilidad. Jini JXTA ◦ Es una tecnología para conectar servicios distribuidos dentro de una red Java. ◦ Utiliza un gestor de localización de recursos centralizado. ◦ Conecta servicios distribuidos de forma P2P. ◦ Utiliza un modelo de datos débilmente acoplado (XML). ◦ Es un conjunto de protocolos. ◦ Puede implementarse en cualquier lenguaje. UDDI ◦ ◦ ◦ ◦ ◦ Es un registro centralizado que permite la comunicación B2B. Basado en XML. Los clientes de UDDI l UDDI clients become privy to a system to search and share business opportunities JXTA ◦ Las aplicaciones y servicios se auto-organizan para crear peer groups de forma totalmente descentralizada. ◦ No es necesario un registro central. ◦ No es necesaria la autenticación. ◦ Sistema débilmente organizado. SOAP (Simple Object Access Protocol) JXTA ◦ Permite el acceso remoto a servicios. ◦ Utiliza XML ◦ Además de ofrecer acceso remoto a servicios, ofrece especificaciones de protocolo adicionales y tuberías para la comunicación segura y flexible. ◦ Los mensajes SOAP pueden enviarse mediante tuberías JXTA. ◦ La comunidad JXTA está implementando una capa SOAP por encima de JXTA. JXTA especifica protocolos. No APIs. La plataforma JXTA ofrece un entorno descentralizado para servicios P2P. Los servicios JXTA pueden utilizarse con otros servicios no JXTA para crear nuevas aplicaciones. Gnutella SETI@Home