Sistemas Peer-To-PeerSistemas Peer-To-PeerLa plataforma JXTALa plataforma JXTA
IntroducciónIntroducción
Peer-To-Peer (P2P):Peer-To-Peer (P2P): Compartición de Compartición de recursos informáticos e información recursos informáticos e información mediante intercambio directo.mediante intercambio directo.
La comunicación es simétrica.La comunicación es simétrica. Los equipos actúan como iguales (peers). Los equipos actúan como iguales (peers). Los peers cumple a la vez el papel de Los peers cumple a la vez el papel de
cliente y servidor.cliente y servidor. Alternativa a la arquitectura Alternativa a la arquitectura
cliente/servidor. cliente/servidor.
Modelo cliente/servidorModelo cliente/servidor
Modelo cliente/servidorModelo cliente/servidor
Modelo cliente/servidor:Modelo cliente/servidor: Un servidor ofrece Un servidor ofrece servicio a muchas máquinas cliente.servicio a muchas máquinas cliente.
Gran extensión en las aplicaciones Internet: FTP, Gran extensión en las aplicaciones Internet: FTP, www, correo electrónico.www, correo electrónico.
Ventajas: Ventajas: Casi toda el procesamiento se realiza en el servidor. Casi toda el procesamiento se realiza en el servidor. Clientes muy simples. Clientes pasivos.Clientes muy simples. Clientes pasivos.
Inconvenientes: Inconvenientes: Conforme el número de clientes crece, la carga y la Conforme el número de clientes crece, la carga y la
demanda de ancho de banda del servidor se incrementa demanda de ancho de banda del servidor se incrementa impidiendo a este servir más peticiones.impidiendo a este servir más peticiones.
Direcciones IP dinámicas: impiden ofrecer servicios a Direcciones IP dinámicas: impiden ofrecer servicios a otros usuarios.otros usuarios.
Redes privadas: los sistemas de seguridad (firewalls, Redes privadas: los sistemas de seguridad (firewalls, NAT) impiden las conexiones externas. NAT) impiden las conexiones externas.
Peer-To-PeerPeer-To-Peer
Cualquier equipo puede ofrecer un servicio Cualquier equipo puede ofrecer un servicio a otro.a otro.
Organización totalmente distribuida: Organización totalmente distribuida: No dependen de un servidor centralizado para No dependen de un servidor centralizado para
ofrecer acceso a los servicios.ofrecer acceso a los servicios. Funcionan de forma independiente al Funcionan de forma independiente al
sistema de nombrado de dominio (DNS).sistema de nombrado de dominio (DNS). Distribuyen la responsabilidad de ofrecer Distribuyen la responsabilidad de ofrecer
servicios entre todos los peers de la red:servicios entre todos los peers de la red: Elimina las indisponibilidades de servicios Elimina las indisponibilidades de servicios
debidas a caídas de los servidores.debidas a caídas de los servidores. Mejora la escalabilidad. Mejora la escalabilidad.
Peer-To-PeerPeer-To-Peer
Ventajas:Ventajas: Escalabilidad.Escalabilidad. Agregación de información.Agregación de información. Disponibilidad.Disponibilidad. Tolerancia a fallos.Tolerancia a fallos.
Inconvenientes:Inconvenientes: Redundancia.Redundancia. Las peticiones de servicio no son deterministas: Las peticiones de servicio no son deterministas:
Dos clientes que soliciten el mismo recurso pueden Dos clientes que soliciten el mismo recurso pueden conectarse con máquinas completamente diferentes, a través conectarse con máquinas completamente diferentes, a través de rutas diferentes, y posiblemente con resultados diferentes.de rutas diferentes, y posiblemente con resultados diferentes.
Los servicios no siempre están disponibles.Los servicios no siempre están disponibles. Posibles soluciones:Posibles soluciones:
Acceso redundante a los recursos: Acceso redundante a los recursos: El servicio está disponible mientras exista un peer conectado.El servicio está disponible mientras exista un peer conectado.
Peer-To-PeerPeer-To-Peer
Elementos de P2P. Peers.Elementos de P2P. Peers.
Peer:Peer: Cualquier entidad capaz de realizar una tarea Cualquier entidad capaz de realizar una tarea útil y comunicar el resultado de dicha tarea a otra útil y comunicar el resultado de dicha tarea a otra entidad de la red, bien directa o indirectamente.entidad de la red, bien directa o indirectamente.
Puede desde ser una aplicación en una sola Puede desde ser una aplicación en una sola máquina, una aplicación distribuida en varias máquina, una aplicación distribuida en varias máquinas o cualquier dispositivo.máquinas o cualquier dispositivo.
Tipos de peers:Tipos de peers: Peers simples:Peers simples: S Sirven a un solo usuario final, permitiendo irven a un solo usuario final, permitiendo
a este usuario ofrecer y utilizar servicios de otros peers. a este usuario ofrecer y utilizar servicios de otros peers. Peers rendezvous:Peers rendezvous: P Permite descubrir a otros peers o ermite descubrir a otros peers o
recursos. Responden directamente o propagan la consulta.recursos. Responden directamente o propagan la consulta. Peers enrutadores:Peers enrutadores: P Permite la comunicación entre peers ermite la comunicación entre peers
que no tienen conectividad física directa (firewalls, NAT’s).que no tienen conectividad física directa (firewalls, NAT’s).
Elementos de P2P. Peer Elementos de P2P. Peer groups.groups.
Peer group:Peer group: Conjunto de peers que comparten Conjunto de peers que comparten un interés u objetivo común definido por todos los un interés u objetivo común definido por todos los miembros del grupo.miembros del grupo.
Objetivos de los peer groups:Objetivos de los peer groups: Crear entornos seguros.Crear entornos seguros.
Establecer políticas de seguridad (login/password, PKI, etc).Establecer políticas de seguridad (login/password, PKI, etc). Publicar contenidos protegidos de acceso restringido.Publicar contenidos protegidos de acceso restringido.
Crear entornos limitados.Crear entornos limitados. Crear dominios de especialización (divisiones lógicas).Crear dominios de especialización (divisiones lógicas). Limitar las búsquedas de recursos.Limitar las búsquedas de recursos.
Crear entornos de monitorización.Crear entornos de monitorización. Monitorizar el estado de un grupo de equipos.Monitorizar el estado de un grupo de equipos.
Elementos de P2P. Transporte Elementos de P2P. Transporte de red.de red.
Transporte de red:Transporte de red: Capa de procesamiento Capa de procesamiento responsable de la transmisión de los datos. responsable de la transmisión de los datos.
Puede ser un protocolo de bajo nivel, como UDP o Puede ser un protocolo de bajo nivel, como UDP o TCP, o un protocolo de alto nivel, como HTTP o TCP, o un protocolo de alto nivel, como HTTP o SMTP. SMTP.
Puede dividirse en tres componentes:Puede dividirse en tres componentes: Extremos:Extremos: El origen inicial o destino final de cualquier El origen inicial o destino final de cualquier
fragmento de datos transmitido en la red. Un extremo fragmento de datos transmitido en la red. Un extremo corresponde a las interfaces de red utilizadas para enviar corresponde a las interfaces de red utilizadas para enviar y recibir datos.y recibir datos.
Tuberías:Tuberías: Canales virtuales de comunicación asíncronos Canales virtuales de comunicación asíncronos y unidireccionales que conectan uno o más extremos. y unidireccionales que conectan uno o más extremos.
Mensajes: Mensajes: Contenedores de datos transmitidos a través Contenedores de datos transmitidos a través de una tubería desde un extremo a otro.de una tubería desde un extremo a otro.
Elementos de P2P. Elementos de P2P. Servicios.Servicios.
Servicios: Servicios: funciones y capacidades que los peers funciones y capacidades que los peers ofrecen al resto de la red.ofrecen al resto de la red.
Permiten a los dispositivos el acceso a los recursos.Permiten a los dispositivos el acceso a los recursos. Pueden dividirse en dos categorías:Pueden dividirse en dos categorías:
Servicios de peer.Servicios de peer. Funciones que ofrece un peer determinado de la red a otros Funciones que ofrece un peer determinado de la red a otros
peers.peers. Las capacidades de este servicio son propias del peer y sólo Las capacidades de este servicio son propias del peer y sólo
estarán disponibles mientras se encuentre conectado a la red.estarán disponibles mientras se encuentre conectado a la red. Servicios de peer group.Servicios de peer group.
Funciones que ofrece un peer group a sus miembros. Funciones que ofrece un peer group a sus miembros. Pueden ser suministrados por varios miembros: acceso Pueden ser suministrados por varios miembros: acceso
redundante. El servicio se encuentra disponible mientras redundante. El servicio se encuentra disponible mientras exista algún miembro del peer group conectado.exista algún miembro del peer group conectado.
Elementos de P2P. Elementos de P2P. Anuncios.Anuncios.
Anuncio:Anuncio: Representación estructurada Representación estructurada de una entidad, servicio o recurso de una entidad, servicio o recurso publicado por un peer o un peer group publicado por un peer o un peer group como parte de una red P2P.como parte de una red P2P.
Todo recurso se identifica mediante Todo recurso se identifica mediante anuncios: anuncios: Peers, peer groups, tuberías, extremos, Peers, peer groups, tuberías, extremos,
servicios y contenidos. servicios y contenidos.
Elementos de P2P. Elementos de P2P. Protocolos.Protocolos.
Protocolo:Protocolo: Método de estructurar el intercambio de información entre dos o más participantes mediante reglas previamente acordadas por todas la partes.
En P2P, se definen protocolos para: Encontrar peers en la red. Averiguar los servicios ofrecidos por un peer. Obtener información de estado de un peer. Invocar un servicio de un peer. Crear, unirse o dejar un peer group. Crear conexiones con otros peers. Enviar mensajes de ruteo a otros peers.
La definición de los protocolos se reduce a la definición del intercambio de anuncios correspondiente.
Elementos de P2P. Elementos de P2P. Nombrado.Nombrado.
Todo recurso debe identificarse de forma única: Peers, peer groups, tuberías, contenidos.
Una red P2P pura debe utilizar un esquema de nombrado independiente del transporte de red y del sistema operativo. Independiente de la localización.
P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento
Descubrimiento: Proceso de localización de los recursos de la red.
El descubrimiento de recursos consiste en la búsqueda de los anuncios correspondientes.
Tipos de descubrimiento: Pasivo: Mantener en una caché los anuncios
descubiertos anteriormente en la que buscarán la información de los recursos de la red.
Directo: Utiliza los mecanismos de broadcast o multicast para encontrar peers en la misma LAN.
Indirecto: Se consulta a peers intermediarios (rendezvous) sobre los anuncios.
P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento
Descubrimiento pasivoDescubrimiento pasivo
P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento
Descubrimiento directoDescubrimiento directo
P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento
Descubrimiento indirectoDescubrimiento indirecto
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
Los firewalls y NAT presentes en las redes Los firewalls y NAT presentes en las redes corporativas representan un serio obstáculo para corporativas representan un serio obstáculo para la comunicación P2P.la comunicación P2P.
Firewalls:Firewalls: Son utilizados para proteger las redes Son utilizados para proteger las redes privadas contra conexiones no autorizadas privadas contra conexiones no autorizadas provenientes del exterior o del interior de la red.provenientes del exterior o del interior de la red.
Utilizan filtrado de IP’s y protocolos.Utilizan filtrado de IP’s y protocolos. Bloquean conexiones entrantes: Bloquean conexiones entrantes:
Un peer externo no puede conectarse a uno interno.Un peer externo no puede conectarse a uno interno. Los peers internos suelen estar restringidos a Los peers internos suelen estar restringidos a
utilizar sólo ciertos protocolos: SMTP, HTTP.utilizar sólo ciertos protocolos: SMTP, HTTP.
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
Network Address Translation:Network Address Translation: Técnica Técnica utilizada para mapear un conjunto de direcciones utilizada para mapear un conjunto de direcciones IP privadas dentro de una red interna a un IP privadas dentro de una red interna a un conjunto de direcciones IP externas de una red conjunto de direcciones IP externas de una red pública.pública.
Se utilizan por muchas razones:Se utilizan por muchas razones: Elimina la necesidad de una dirección IP pública para Elimina la necesidad de una dirección IP pública para
cada equipo dentro de una red privada.cada equipo dentro de una red privada. Permite proteger la red al existir un único punto de Permite proteger la red al existir un único punto de
entrada.entrada. Sólo autoriza las conexiones entrantes que fueron Sólo autoriza las conexiones entrantes que fueron
originadas dentro de la red. originadas dentro de la red.
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
Solución: Solución: La única herramienta de que disponen La única herramienta de que disponen
los peers para atravesar firewalls/NAT los peers para atravesar firewalls/NAT es su capacidad para crear conexiones es su capacidad para crear conexiones de salida hacia los equipos externos.de salida hacia los equipos externos.
Se pueden usar protocolos permitidos Se pueden usar protocolos permitidos por el firewall para realizar mediante por el firewall para realizar mediante túnel conexiones al exterior. túnel conexiones al exterior.
P2P. Retos para la P2P. Retos para la comunicacióncomunicación
Aplicaciones P2P.Aplicaciones P2P.
Compartición de ficheros: Kazaa, Emule.
Monitorización de datos Mensajería instantánea: ICQ. Búsqueda en la web. Motores de
búsqueda. Computación distribuida.
Cliente servidor vs. P2PCliente servidor vs. P2P
Cliente/Cliente/servidorservidor
P2PP2P
Tráfico de redTráfico de red Asimétrico, tráfico Asimétrico, tráfico de subida bajo de subida bajo aceptable.aceptable.
Simétrico.Simétrico.
ContenidoContenido Centralizado en el Centralizado en el servidor.servidor.
Distribuido entre Distribuido entre los peers.los peers.
DireccionamientoDireccionamiento Estático, utilizando Estático, utilizando DNS, NAT, puertos DNS, NAT, puertos bien conocidos bien conocidos (80).(80).
Dinámico, registros Dinámico, registros en tiempo real. en tiempo real. Tratamiento de Tratamiento de NAT/firewall.NAT/firewall.
RendimientoRendimiento Decrece con el Decrece con el número de número de usuarios.usuarios.
Aumenta con el Aumenta con el número de número de usuarios.usuarios.
¿Qué es JXTA?¿Qué es JXTA?
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.
JXTA. Arquitectura software.JXTA. Arquitectura software.
La arquitectura software del proyecto JXTA está La arquitectura software del proyecto JXTA está dividida en 3 capas: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 Ej: búsqueda e indexación, directorio, sistemas de almacenamiento, compartición de ficheros, sistemas de almacenamiento, compartición de ficheros, sistemas de ficheros distribuidos, etc.ficheros distribuidos, etc.
Capa de aplicación: En esta capa se encuentran las aplicaciones P2P. Ej. Compartición de ficheros, chat, grid computing, etc.
JXTA. Arquitectura software.JXTA. Arquitectura software.
La red virtual JXTALa red virtual JXTA
Red adaptativa, ad-hoc y multisalto.Red adaptativa, ad-hoc y multisalto. Gran frecuencia de cambio en la topología: Gran frecuencia de cambio en la topología:
las conexiones son temporales.las conexiones son temporales. Rutas no deterministas.Rutas no deterministas. Red de superposiciónRed de superposición (overlay network): (overlay network):
red virtual por encima de la red física.red virtual por encima de la red física. La conectividad en la red no depende de la La conectividad en la red no depende de la
localización física. localización física.
La red virtual JXTALa red virtual JXTA
Elementos clave de JXTAElementos clave de JXTA
PeersPeers Cualquier dispositivo conectado a la red que Cualquier dispositivo conectado a la red que
implementa uno o más protocolos JXTA. 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.
Elementos clave de JXTAElementos 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.
Bloques básicos de la red Bloques básicos de la red virtualvirtual
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)
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.
Peers JXTAPeers 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.
Peers rendezvousPeers 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.
Peers rendezvous (cont.)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.
Peers rendezvous (cont.)Peers rendezvous (cont.)
Peers relaysPeers 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.
Peers relaysPeers relays
Peer groupsPeer 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.
Peer groupsPeer groups
¿Por qué los peer groups?¿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.
Servicios básicos de peer Servicios básicos de peer group en JXTAgroup en JXTA
Servicios de los peer groups:Servicios de los peer groups: Servicio de descubrimiento.Servicio de descubrimiento. Servicio de pertenencia.Servicio de pertenencia. Servicio de acceso.Servicio de acceso. Servicio de tubería.Servicio de tubería. Servicio de resolución (resolver). Servicio de resolución (resolver). Servicio de monitorización.Servicio de monitorización.
Nota: Un peer group es libre de implementar sólo los servicios que considere necesarios.
AnunciosAnuncios
Todo recurso de una red JXTA es representado mediante un anuncio. Peers. Peer groups. Tuberías. Extremos. Modulos. Contenidos.
Anuncio de peerAnuncio de peer
<?xml version="1.0"?><!DOCTYPE jxta:PA><jxta:PA xmlns:jxta="http://jxta.org">
<PID>urn:jxta:uuid-
59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903</PID><GID>
urn:jxta:jxta-NetGroup</GID><Name>
bill</Name>
Anuncio de peer (cont.)Anuncio de peer (cont.)
<Svc><Parm><Addr>tcp://129.144.34.14:9701/</Addr><Addr>jxtatls://uuid-
59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/TlsTransport/jxta-WorldGroup</Addr><Addr>http://JxtaHttpClientuuid-
59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/</Addr></Parm>
</Svc></jxta:PA>
Almacenamiento de Almacenamiento de anunciosanuncios
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.
Mecanismo universal de Mecanismo universal de resoluciónresolució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!
Descubrimiento y búsqueda de Descubrimiento y búsqueda de anuncios.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.
Tuberías: Canales de Tuberías: Canales de comunicación virtuales.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.
Tuberías: Canales de Tuberías: Canales de comunicación virtuales.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.
Tuberías: Canales de Tuberías: Canales de comunicación virtuales.comunicación virtuales.
Modelo de comunicación Modelo de comunicación mediante tuberías.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.
Módulos JXTAMó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.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.
Pila de protocolos JXTAPila de protocolos JXTA
Protocolos de JXTAProtocolos 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.
Protocolos de JXTA (cont.)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.
SeguridadSeguridad
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.
JXTA vs. JiniJXTA 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.
JXTA vs. UDDIJXTA 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.
JXTA vs. SOAPJXTA vs. SOAP
SOAP (Simple Object Access Protocol)SOAP (Simple Object Access Protocol) Permite el acceso remoto a servicios. Utiliza XML
JXTA 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.
JXTA vs. Otros estándares JXTA vs. Otros estándares P2PP2P
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
Top Related