La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Redes P2P Dr. Víctor J. Sosa-Sosa

Presentaciones similares


Presentación del tema: "Redes P2P Dr. Víctor J. Sosa-Sosa"— Transcripción de la presentación:

1 Redes P2P Dr. Víctor J. Sosa-Sosa
Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas tel : 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 ¿Qué compartimos? 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 Contenidos Ciclos de cómputo P2P Espacio Disco Recurso de Hardware Resursos de Software Responsabilidad Ancho Banda

5 Ventajas y Desventajas comparado con una arquitectura C/S
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 Comunicación Colaboración
Archivos: Napster, Gnutella,Kazaa, FreeNet Recursos de Cómputo: 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 estado cayendo principalmente por demandas 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
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
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] Kademlia: NY University [Mayamounkov and Mazieres 2002] Servicio de búsqueda escalable basado en la métrica XOR

31 Semantic Overlay 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 Super Peers?
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 Plataformas Emergentes
Programas de Aplic. Dedicados y Protocolos Plataformas Frameworks Áreas de Aplicac. Compartir Archivos para 1 área de aplicación no-generico 1 clase aplicación 1 problema especifico interoperabilidad de red? Freenet Gnutella Groove eDonkey ofrecer servicios genericos soporta paradigma P2P usados para construir aplic P2P ? Procesamiento Distribuido Mensajería Instantanea Colaboración

37 JXTA Desarrollado por Sun Microsystems
Conjunto de Protocolos Abiertos Basados en XML API de Java 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 [

38 BOINC Berkeley Open Infrastructure for Network Computing
Permite a sus participantes resolver problemas seleccionados = genérico [

39 Para operadores de redes
Conclusiones 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

40 Para Desarrolladores de Aplicaciones
Conclusiones 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

41 Para Desarrolladores de Aplicaciones
Conclusiones 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.

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:// :9700) HTTP ( Etc… Permite el direccionamiento independientemente de la localización física (firewalls y NAT’s) en la red.

51 Peers JXTA 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.

52 Peers rendezvous 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: El resto de rendezvous que conoce. Los peers que han contratado sus servicios. Almacenan un gran número de anuncios.

53 Peers rendezvous (cont.)
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.

54 Peers rendezvous (cont.)

55 Peers relays 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.

56 Peers relays

57 Peer groups 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.

58 Peer groups

59 ¿Por qué los peer groups?
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.

60 Servicios básicos de peer group en JXTA
Servicios de los peer groups: Servicio de descubrimiento. Servicio de pertenencia. Servicio de acceso. Servicio de tubería. Servicio de resolución (resolver). Servicio de monitorización. Nota: Un peer group es libre de implementar sólo los servicios que considere necesarios.

61 Anuncios Todo recurso de una red JXTA es representado mediante un anuncio. Peers. Peer groups. Tuberías. Extremos. Modulos. Contenidos.

62 Anuncio de peer <?xml version="1.0"?> <!DOCTYPE jxta:PA>
<jxta:PA xmlns:jxta=" <PID> urn:jxta:uuid A A EBC6C 88D3C138B43903 </PID> <GID> urn:jxta:jxta-NetGroup </GID> <Name> bill </Name>

63 Anuncio de peer (cont.) <Svc> <Parm> <Addr>
tcp:// :9701/ </Addr> jxtatls://uuid- A A EBC6C88D3C138B43903/ TlsTransport/jxta-WorldGroup </Parm> </Svc> </jxta:PA>

64 Almacenamiento de anuncios
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.

65 Mecanismo universal de resolución
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!

66 Descubrimiento y búsqueda de anuncios.
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.

67 Tuberías: Canales de comunicación virtuales.
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.

68 Tuberías: Canales de comunicación virtuales.
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.

69 Tuberías: Canales de comunicación virtuales.

70 Modelo de comunicación mediante tuberías.
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.

71 Módulos JXTA 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.

72 Pila de protocolos JXTA

73 Protocolos de JXTA 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.

74 Protocolos de JXTA (cont.)
Peer Resolver 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. Endpoint Routing Protocol. Utilizado para encontrar rutas a otros peers. La información de enrutamiento contiene una secuencia ordenada de relays. Rendezvous Protocol. Utilizado para propagar mensajes dentro de un peer group.

75 Seguridad 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.

76 JXTA vs. Jini Jini Es una tecnología para conectar servicios distribuidos dentro de una red Java. Utiliza un gestor de localización de recursos centralizado. JXTA 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.

77 JXTA vs. UDDI 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.

78 JXTA vs. SOAP SOAP (Simple Object Access Protocol) JXTA
Permite el acceso remoto a servicios. Utiliza XML JXTA 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.

79 JXTA vs. Otros estándares P2P
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


Descargar ppt "Redes P2P Dr. Víctor J. Sosa-Sosa"

Presentaciones similares


Anuncios Google