26
Sistemas Peer-To-Peer Sistemas Peer-To-Peer La plataforma JXTA La plataforma JXTA

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

Embed Size (px)

Citation preview

Page 1: 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

Sistemas Peer-To-PeerSistemas Peer-To-PeerLa plataforma JXTALa plataforma JXTA

Page 2: 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

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.

Page 3: 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

Modelo cliente/servidorModelo cliente/servidor

Page 4: 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

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.

Page 5: 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-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.

Page 6: 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-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.

Page 7: 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-PeerPeer-To-Peer

Page 8: 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

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

Page 9: 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

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.

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

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.

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

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.

Page 16: 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

P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento

Descubrimiento pasivoDescubrimiento pasivo

Page 17: 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

P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento

Descubrimiento directoDescubrimiento directo

Page 18: 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

P2P. Mecanismos de P2P. Mecanismos de descubrimientodescubrimiento

Descubrimiento indirectoDescubrimiento indirecto

Page 19: 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

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.

Page 20: 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

P2P. Retos para la P2P. Retos para la comunicacióncomunicación

Page 21: 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

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.

Page 22: 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

P2P. Retos para la P2P. Retos para la comunicacióncomunicación

Page 23: 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

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.

Page 24: 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

P2P. Retos para la P2P. Retos para la comunicacióncomunicación

Page 25: 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

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.

Page 26: 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

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.