Redes P2P - PowerPoint PPT Presentation

1 / 79
About This Presentation
Title:

Redes P2P

Description:

Module Specification: anuncia la forma de acceder al servicio (API, messages). ... JXTA define 6 protocolos: Peer Discovery Protocol. – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 80
Provided by: aack8
Category:
Tags: jxta | p2p | redes

less

Transcript and Presenter's Notes

Title: Redes P2P


1
Redes 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
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
    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
5
Ventajas 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,

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

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
  1. Las consultas son enviadas a los Super Nodos
  2. En el caso de Morpheus devuelve el IP del Peer
  3. Los Peers se conectan directamente

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

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

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
Áreas de Aplicac.
Compartir Archivos
Procesamiento Distribuido
Mensajería Instantanea
Colaboración
37
JXTA
  • 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
38
BOINC
  • Berkeley Open Infrastructure for Network
    Computing
  • Permite a sus participantes resolver problemas
    seleccionados
  • SETI_at_Home genérico

http//boinc.berkeley.edu
39
Conclusiones
Para operadores de redes
40
Conclusiones
Para Desarrolladores de Aplicaciones
41
Conclusiones
Para Desarrolladores de Aplicaciones
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.
  • 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.

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//129.127.29.659700)
  • HTTP (http//JxtaHttpClientuuid-.)
  • Etc
  • Permite el direccionamiento independientemente de
    la localización física (firewalls y NATs) 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, PDAs, 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
  • 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

63
Anuncio 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

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

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)
  • 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
  • SETI_at_Home
Write a Comment
User Comments (0)
About PowerShow.com