Title: Redes P2P
1Redes P2P
Dr. Víctor J. Sosa-Sosa Laboratorio de
Tecnologías de Información CINVESTAV - Tamaulipas
e-mail vjsosa_at_tamps.cinvestav.mx tel
834.3166600 Ext 1015
2Contenido
- Qué son las Redes P2P?
- Ventajas y Desventajas
- Áreas de Aplicación
- Arquitecturas
- Búsquedas y Localización
- Tendencias
- Conclusiones
3Qué 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
gt Overlay Networks lt - Descentralización
- La Infraestructura crítica de la aplicación
está en posesión de muchos
P2P
Resursos de Software
Recurso de Hardware
5Ventajas 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_at_home
- Comunicación
- VoIP, Chat, Video Conferencias,..
- Colaboración
- Edición de archivos de manera compartida
- Foros, Mails, Calendarios,
7P2P Áreas de Aplicación
Compartir recursos
Cómputo distribuido
Mensajería instantanea
Trabajo colaborativo
mediado
puro
hibrido
8Interés por Sistemas P2P
Kazaa (Azul), eMule (Naranja) y LimeWire
(Rojo). Desde 2004, Kazaa ha estado cayendo
principalmente por demandas de RIAA .
9Arquitecturas
- 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
10Arquitectura 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.
11Arquitectura 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
12Arquitectura 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
13Arquitectura Descentralizada,Pura
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.
16Arquitecturas 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
17Arquitecturas 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
18Mecanismos 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
19Bú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).
20Localizació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.
21Selecció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.
22Selecció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.
23Selecció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.
25Comparació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.
26Redes Estructuradas Ubicación y Ruteo
Identificar y Organizar Nodos (topología). Definir
sucesores y predecesores.
27Redes Estructuradas Ubicación y Ruteo
Ingreso y abandono de la Red
Simultaneo
28Redes 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 ki es responsable de mantener todas las
claves entre los valores ki-11, ki - El nodo ki es el nodo sucesor de ki-1
- El nodo ki-1 es el nodo predecesor de ki
- ej m3 k0,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.
29Chord Ejemplo
Nodo inactivo
Nodo activo
30Algunas 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
31Semantic 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!
33P2P 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
34P2P 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!!!
35P2P 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
36Plataformas Emergentes
Áreas de Aplicac.
Compartir Archivos
Procesamiento Distribuido
Mensajería Instantanea
Colaboración
37JXTA
- 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
Sun JXTA Applications
JXTA Community Applications
Aplicaciones
JXTA Shell
Peer Commands
Estableciemiento del Peer Gestion de la
Comunicación Routing
JXTA Community Services
Sun JXTA Services
Servicios
Peer Groups
Peer Pipes
Peer Monitoring
Nucleo
Seguridad
http//www.jxta.org
38BOINC
- Berkeley Open Infrastructure for Network
Computing - Permite a sus participantes resolver problemas
seleccionados - SETI_at_Home genérico
http//boinc.berkeley.edu
39Conclusiones
Para operadores de redes
40Conclusiones
Para Desarrolladores de Aplicaciones
41Conclusiones
Para Desarrolladores de Aplicaciones
42Qué 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.
- JXTAjuxtapose (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.
43JXTA. 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.
44JXTA. Arquitectura software.
45La 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.
46La red virtual JXTA
47Elementos 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.
48Elementos 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.
49Bloques 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)
50Direccionamiento lógico uniforme
- Un peer se identifica mediante
- Un Peer ID único.
- Múltiples direcciones de extremo peer
- TCP/IP (tcp//129.127.29.659700)
- HTTP (http//JxtaHttpClientuuid-.)
- Etc
- Permite el direccionamiento independientemente de
la localización física (firewalls y NATs) en la
red.
51Peers 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, PDAs, game boy).
- Peers simples.
- Como los mínimos, pero pueden almacenar anuncios.
- No enrutan mensajes.
- Peers rendezvous.
- Peers relays.
52Peers 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.
53Peers 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.
54Peers rendezvous (cont.)
55Peers 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.
56Peers relays
57Peer 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.
58Peer groups
59Por 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.
60Servicios 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.
61Anuncios
- Todo recurso de una red JXTA es representado
mediante un anuncio. - Peers.
- Peer groups.
- Tuberías.
- Extremos.
- Modulos.
- Contenidos.
62Anuncio de peer
- lt?xml version"1.0"?gt
- lt!DOCTYPE jxtaPAgt
- ltjxtaPA xmlnsjxta"http//jxta.org"gt
- ltPIDgt
- urnjxtauuid- 59616261646162614A787461503250339
58A35814213467EBC6C 88D3C138B43903 - lt/PIDgt
- ltGIDgt
- urnjxtajxta-NetGroup
- lt/GIDgt
- ltNamegt
- bill
- lt/Namegt
63Anuncio de peer (cont.)
- ltSvcgt
- ltParmgt
- ltAddrgt
- tcp//129.144.34.149701/
- lt/Addrgt
- ltAddrgt
- jxtatls//uuid-
- 59616261646162614A78746150325033958A35814213467E
BC6C88D3C138B43903/ - TlsTransport/jxta-WorldGroup
- lt/Addrgt
- ltAddrgt
- http//JxtaHttpClientuuid-
- 59616261646162614A78746150325033958A35814213467E
BC6C88D3C138B43903/ - lt/Addrgt
- lt/Parmgt
- lt/Svcgt
- lt/jxtaPAgt
64Almacenamiento 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.
65Mecanismo 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-gtBúsqueda de anuncios de peer o de peer
group. - Localización de servicios -gt búsqueda de anuncios
de módulos. - Servicios de directorios -gt búsqueda de anuncios
de peer. - Resolución de sockets gt búsqueda de anuncios de
tuberías. - Sistemas de ficheros distribuidos -gt búsqueda de
anuncios de contenidos. - No se requiere centralización!
66Descubrimiento 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.
67Tuberí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.
68Tuberí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.
69Tuberías Canales de comunicación virtuales.
70Modelo 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.
71Mó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.
72Pila de protocolos JXTA
73Protocolos 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.
74Protocolos 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.
75Seguridad
- 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.
76JXTA 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.
77JXTA 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.
78JXTA vs. SOAP
- SOAP (Simple Object Access Protocol)
- 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.
79JXTA 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
- SETI_at_Home