Sistemas Peer-To-Peer La plataforma JXTA. Introducción Peer-To-Peer (P2P): Compartición de recursos informáticos e información mediante intercambio directo.

Slides:



Advertisements
Presentaciones similares
Intranets P. Reyes / Octubre 2004.
Advertisements

Internet y tecnologías web
Sistemas Peer-To-Peer La plataforma JXTA
TEMA1. Servicios de Red e Internet. Las Redes de Ordenadores.
Switches, routers, hubs & “patch panels”
Introducción a servidores
Red vpn Mayerli Arismendi Edwin Alvarado María Alejandra acosta
Universidad Nacional Autónoma de Honduras
DIRECT ACCESS.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
SERVIDOR DNS Y WINS INTEGRANTES: Farroñan Beltran Brenher
Servicios Web.
Ing. Horacio Carlos Sagredo Tejerina
SISTEMAS PEER TO PEER Modelo cliente / servidor Peer-to-peer Elementos de P2P Mecanismos de descubrimiento Aplicación P2P Servicio a maquina cliente Extensiones.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Características generales de un servicio Web.
MODELO TCP/IP Conectividad de extremo a extremo especificando como los datos deberian ser formateados,direccionados,transmitidos,enrutados y recibidos.
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
TRANSFERENCIA O DISTRIBUCIÓN DE ARCHIVOS ENTRE IGUALES (PEER-TO-PEER).
Transferencia o distribución de archivos entre iguales (peer-to-peer)
Servidores de nombres de dominio (DNS):
Servidores de nombres de dominio (DNS)
Universidad Centroamericana
(VIRTUAL PRIVATE NETWORK)
Redes P2P Dr. Víctor J. Sosa-Sosa
FIREWALL.
DIPLOMADO EN OPERADOR DE SOFTWARE BÁSICO
ELEMENTOS DE UNA RED ( Parte I)
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
Computación Ubicua Una nueva técnica de computación distribuida Prof. Yudith Cardinale Sep - Dic 2006 Universidad Simón Bolívar Departamento de Computación.
Juan Andrada Romero Jose Domingo López López.  Introducción  Conceptos  Arquitectura JXTA  Protocolos  Demostración  Alternativas  Conclusiones.
Ing. Karen Torrealba de Oblitas
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
VPN Red privada virtual.
Existen dos tipos básicos de redes VPN:
Correo electrónico Internet
66.69 Criptografía y Seguridad Informática FIREWALL.
Docente: Ing. Ana Milena Bueno Henao. Es la ciencia aplicada que abarca el estudio y aplicación del tratamiento automático de la informática, utilizando.
Funcionalidad de la capa de Aplicación y la capa de Transporte. Capas superiores.
Introducción a los Sistemas Operativos
Servidores Conceptos Generales.
Diana Herrera León 6 º «H». Es el término que usa Microsoft para referirse a su implementación de servicio de directorio en una red distribuida de computadores.
RESUMEN CAPITULO 6.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Sustentante: Francis Ariel Jiménez Zapata Matricula: Grupo: 2 Profesora: Jose Doñe Asignatura: Sistema Operativo 2.
Por Pablo Marcos Jiménez Por Pablo Marcos Jiménez.
Cuentas de usuarios y grupos en windows 2008 server
Redes. Qué es una red? Una red es un conjunto de ordenadores conectados entre sí, que pueden compartir datos (imágenes, documentos, etc.) y recursos (una.
A fin de que el lector pueda tener una idea aproximada de su misión y significado, a continuación se muestra una selección de los más usuales. Hemos señalado.
S ERVICIOS DE RED E I NTERNET T EMA 5 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS DE TRANSFERENCIA DE FICHEROS ” Nombre: Adrián de la Torre López.
Carles sobrevías gonzález
2: Capa Aplicación Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto Computer.
N A T Network Address Translation.
Michael Ángelo De Lancer Franco  Son la fundación de una red de trabajo en un ambiente de computadoras. Generalmente los servicios de red.
Protocolos del modelo TCP/IP
Ing. Elizabeth Guerrero V.
PROTOCOLO TCP Y UDP.
Protocolos de comunicación TCP/IP
Ing. Elizabeth Guerrero V.
¿QUE ES INTERNET? La Internet es una red de redes. Actualmente conecta miles de redes para permitir compartir información y recursos a nivel mundial. Con.
Servidores. ¿Qué es un servidor? Servidor de Aplicación Servidor de impresión Servidor de base de datos Servidor de correo Servidor de Internet Servidor.
PROTOCOLOS Modelo TCP/IP
TECNOLOGIAS INTEGRADAS DE INTERNET. CIRLEY CASTILLO MÓNICA MANTILLA DERLY VARGAS Aprendices: ING. BLANCA NUBIA CHITIVA Instructora: CENTRO DE INDUSTRIA.
QUÉ ES UN SERVIDOR WEB?. Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones.
MODELO TCP/IP.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
Conociendo el modelo Cliente-Servidor
Protocolos de Transporte y Aplicación Javier Rodríguez Granados.
Transcripción de la presentación:

Sistemas Peer-To-Peer La plataforma JXTA

Introducción Peer-To-Peer (P2P): Compartición de recursos informáticos e información mediante intercambio directo. Peer-To-Peer (P2P): Compartición de recursos informáticos e información 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 cliente y servidor. Los peers cumple a la vez el papel de cliente y servidor. Alternativa a la arquitectura cliente/servidor. Alternativa a la arquitectura cliente/servidor.

Modelo cliente/servidor

Modelo cliente/servidor: Un servidor ofrece servicio a muchas máquinas cliente. Modelo cliente/servidor: Un servidor ofrece servicio a muchas máquinas cliente. Gran extensión en las aplicaciones Internet: FTP, www, correo electrónico. Gran extensión en las aplicaciones Internet: FTP, 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 demanda de ancho de banda del servidor se incrementa impidiendo a este servir más peticiones. Conforme el número de clientes crece, la carga y la demanda de ancho de banda del servidor se incrementa impidiendo a este servir más peticiones. Direcciones IP dinámicas: impiden ofrecer servicios a otros usuarios. Direcciones IP dinámicas: impiden ofrecer servicios a otros usuarios. Redes privadas: los sistemas de seguridad (firewalls, NAT) impiden las conexiones externas. Redes privadas: los sistemas de seguridad (firewalls, NAT) impiden las conexiones externas.

Peer-To-Peer Cualquier equipo puede ofrecer un servicio a otro. Cualquier equipo puede ofrecer un servicio a otro. Organización totalmente distribuida: Organización totalmente distribuida: No dependen de un servidor centralizado para ofrecer acceso a los servicios. No dependen de un servidor centralizado para ofrecer acceso a los servicios. Funcionan de forma independiente al sistema de nombrado de dominio (DNS). Funcionan de forma independiente al sistema de nombrado de dominio (DNS). Distribuyen la responsabilidad de ofrecer servicios entre todos los peers de la red: Distribuyen la responsabilidad de ofrecer servicios entre todos los peers de la red: Elimina las indisponibilidades de servicios debidas a caídas de los servidores. Elimina las indisponibilidades de servicios debidas a caídas de los servidores. Mejora la escalabilidad. Mejora la escalabilidad.

Peer-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 conectarse con máquinas completamente diferentes, a través de rutas diferentes, y posiblemente con resultados diferentes. Dos clientes que soliciten el mismo recurso pueden conectarse con máquinas completamente diferentes, a través 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-Peer

Elementos de P2P. Peers. Peer: Cualquier entidad capaz de realizar una tarea útil y comunicar el resultado de dicha tarea a otra entidad de la red, bien directa o indirectamente. Peer: Cualquier entidad capaz de realizar una tarea útil y comunicar el resultado de dicha tarea a otra entidad de la red, bien directa o indirectamente. Puede desde ser una aplicación en una sola máquina, una aplicación distribuida en varias máquinas o cualquier dispositivo. Puede desde ser una aplicación en una sola máquina, una aplicación distribuida en varias máquinas o cualquier dispositivo. Tipos de peers: Tipos de peers: Peers simples: Sirven a un solo usuario final, permitiendo a este usuario ofrecer y utilizar servicios de otros peers. Peers simples: Sirven a un solo usuario final, permitiendo a este usuario ofrecer y utilizar servicios de otros peers. Peers rendezvous: Permite descubrir a otros peers o recursos. Responden directamente o propagan la consulta. Peers rendezvous: Permite descubrir a otros peers o recursos. Responden directamente o propagan la consulta. Peers enrutadores: Permite la comunicación entre peers que no tienen conectividad física directa (firewalls, NAT’s). Peers enrutadores: Permite la comunicación entre peers que no tienen conectividad física directa (firewalls, NAT’s).

Elementos de P2P. Peer groups. Peer group: Conjunto de peers que comparten un interés u objetivo común definido por todos los miembros del grupo. Peer group: Conjunto de peers que comparten un interés u objetivo común definido por todos los 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 de red. Transporte de red: Capa de procesamiento responsable de la transmisión de los datos. Transporte de red: Capa de procesamiento responsable de la transmisión de los datos. Puede ser un protocolo de bajo nivel, como UDP o TCP, o un protocolo de alto nivel, como HTTP o SMTP. Puede ser un protocolo de bajo nivel, como UDP o TCP, o un protocolo de alto nivel, como HTTP o SMTP. Puede dividirse en tres componentes: Puede dividirse en tres componentes: Extremos: El origen inicial o destino final de cualquier fragmento de datos transmitido en la red. Un extremo corresponde a las interfaces de red utilizadas para enviar y recibir datos. Extremos: El origen inicial o destino final de cualquier fragmento de datos transmitido en la red. Un extremo corresponde a las interfaces de red utilizadas para enviar y recibir datos. Tuberías: Canales virtuales de comunicación asíncronos y unidireccionales que conectan uno o más extremos. Tuberías: Canales virtuales de comunicación asíncronos y unidireccionales que conectan uno o más extremos. Mensajes: Contenedores de datos transmitidos a través de una tubería desde un extremo a otro. Mensajes: Contenedores de datos transmitidos a través de una tubería desde un extremo a otro.

Elementos de P2P. Servicios. Servicios: funciones y capacidades que los peers ofrecen al resto de la red. Servicios: funciones y capacidades que los peers 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 peers. Funciones que ofrece un peer determinado de la red a otros peers. Las capacidades de este servicio son propias del peer y sólo estarán disponibles mientras se encuentre conectado a la red. Las capacidades de este servicio son propias del peer y sólo 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 redundante. El servicio se encuentra disponible mientras exista algún miembro del peer group conectado. Pueden ser suministrados por varios miembros: acceso redundante. El servicio se encuentra disponible mientras exista algún miembro del peer group conectado.

Elementos de P2P. Anuncios. Anuncio: Representación estructurada de una entidad, servicio o recurso publicado por un peer o un peer group como parte de una red P2P. Anuncio: Representación estructurada de una entidad, servicio o recurso publicado por un peer o un peer group como parte de una red P2P. Todo recurso se identifica mediante anuncios: Todo recurso se identifica mediante anuncios: Peers, peer groups, tuberías, extremos, servicios y contenidos. Peers, peer groups, tuberías, extremos, servicios y contenidos.

Elementos de P2P. 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. 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 descubrimiento 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 descubrimiento Descubrimiento pasivo Descubrimiento pasivo

P2P. Mecanismos de descubrimiento Descubrimiento directo Descubrimiento directo

P2P. Mecanismos de descubrimiento Descubrimiento indirecto Descubrimiento indirecto

P2P. Retos para la comunicación Los firewalls y NAT presentes en las redes corporativas representan un serio obstáculo para la comunicación P2P. Los firewalls y NAT presentes en las redes corporativas representan un serio obstáculo para la comunicación P2P. Firewalls: Son utilizados para proteger las redes privadas contra conexiones no autorizadas provenientes del exterior o del interior de la red. Firewalls: Son utilizados para proteger las redes privadas contra conexiones no autorizadas 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 utilizar sólo ciertos protocolos: SMTP, HTTP. Los peers internos suelen estar restringidos a utilizar sólo ciertos protocolos: SMTP, HTTP.

P2P. Retos para la comunicación

Network Address Translation: Técnica utilizada para mapear un conjunto de direcciones IP privadas dentro de una red interna a un conjunto de direcciones IP externas de una red pública. Network Address Translation: Técnica utilizada para mapear un conjunto de direcciones IP privadas dentro de una red interna a un conjunto de direcciones IP externas de una red pública. Se utilizan por muchas razones: Se utilizan por muchas razones: Elimina la necesidad de una dirección IP pública para cada equipo dentro de una red privada. Elimina la necesidad de una dirección IP pública para cada equipo dentro de una red privada. Permite proteger la red al existir un único punto de entrada. Permite proteger la red al existir un único punto de entrada. Sólo autoriza las conexiones entrantes que fueron originadas dentro de la red. Sólo autoriza las conexiones entrantes que fueron originadas dentro de la red.

P2P. Retos para la comunicación

Solución: Solución: La única herramienta de que disponen los peers para atravesar firewalls/NAT es su capacidad para crear conexiones de salida hacia los equipos externos. La única herramienta de que disponen los peers para atravesar firewalls/NAT es su capacidad para crear conexiones de salida hacia los equipos externos. Se pueden usar protocolos permitidos por el firewall para realizar mediante túnel conexiones al exterior. Se pueden usar protocolos permitidos por el firewall para realizar mediante túnel conexiones al exterior.

P2P. Retos para la comunicación

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. P2P Cliente/servidorP2P Tráfico de red Asimétrico, tráfico de subida bajo aceptable. Simétrico. Contenido Centralizado en el servidor. Distribuido entre los peers. Direccionamiento Estático, utilizando DNS, NAT, puertos bien conocidos (80). Dinámico, registros en tiempo real. Tratamiento de NAT/firewall. Rendimiento Decrece con el número de usuarios. Aumenta con el número de usuarios.

¿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. La arquitectura software del proyecto JXTA está dividida en 3 capas: 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. 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.

JXTA. Arquitectura software.

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

La red virtual JXTA

Elementos clave de JXTA Peers Peers Cualquier dispositivo conectado a la red que implementa uno o más protocolos JXTA. 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.

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.

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)

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.

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.

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.

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 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 relays

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.

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 group 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.

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

Anuncio de peer urn:jxta:uuid A A EBC6C 88D3C138B43903 urn:jxta:jxta-NetGroup bill

Anuncio de peer (cont.) tcp:// :9701/ jxtatls://uuid A A EBC6C88D3C138B43903/ TlsTransport/jxta-WorldGroup A A EBC6C88D3C138B43903/

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.

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!

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.

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.

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.

Tuberías: Canales de comunicación virtuales.

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.

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

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.

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.

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.

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.

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.

JXTA 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 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