Peer 2 Peer Sistemas Operativos Distribuidos Alumno: Abel Santín.

Slides:



Advertisements
Presentaciones similares
Diseño de Bases de Datos
Advertisements

Sistemas Peer-To-Peer La plataforma JXTA
Multiprocesadores 3.1 Dominios de aplicación
Noveno Semestre UNIDEC
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Red vpn Mayerli Arismendi Edwin Alvarado María Alejandra acosta
Base de Datos Distribuidas FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDAS
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors P2P and Promise of Internet Equality JOSE.
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
Marco Benzi Eduardo González Matías Müller Redes de Computadores I - ELO 322.
Ana Lucia Farfan Estrada. Angela Aybar Rengifo.
Transferencia o distribución de archivos entre iguales (peer-to-peer).
Gabriel Montañés León. La principal idea de la arquitectura Peer-to-Peer (Par a par, P2P) es determinar la base y reglas necesarias para compartir recursos.
- Jaramillo Sánchez Diego Sebastián
Recopilación (De la Torre 2007) Maribel Angeles Guzmán.
P2P Figueroa Miranda Adán Alberto García Velasco Karla Elisa Daniela
PROGRAMACION DE ESTRUCTURAS DE DATOS
S.O. Multiusuario, red. Servicio: Cliente/Servidor, p2p
TRANSFERENCIA O DISTRIBUCIÓN DE ARCHIVOS ENTRE IGUALES (PEER-TO-PEER).
P2P (peer-to-peer) Migule Ángel Azorín
Transferencia o distribución de archivos entre iguales (peer-to-peer)
Servidores de nombres de dominio (DNS)
Redes P2P Dr. Víctor J. Sosa-Sosa
Mario Peralesnº 1ºC Juan Luis Cazorla nº61ºC.  Una red es un conjunto de ordenadores y dispositivos electrónicos conectados entre si cuya finalidad es.
Sergio Mas Ignacio Orense.
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.
Ing. Karen Torrealba de Oblitas
Hecho por: Celeste Amalvy Y Victoria D´Arrisso. Funcionalidades. Localizar un ordenador de forma inequívoca. Realizar una conexión con otro ordenador.
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
Desarrollo de aplicaciones para ambientes distribuidos
Arquitectura NFS El servidor NFS exporta uno o más directorios
Computación en la Nube UASF.
Servidores Conceptos Generales.
Trabajo Practico nº 6 Alumnas: Fiorella Cuervo Reist Agustina.
INTRANET SERVIDOR / CLIENTE.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
•Extranet•.
Telecomunicaciones y Trabajo Distribuido. Sistema Distribuido Recursos Servidor Red Servidor Nodo ANodo C Nodo B.
Protocolo de comunicaciones. Se usan en las comunicaciones, son una serie de normas que aportan diferentes funciones. Permiten localizar un ordenador de.
Trabajo Practico Nº 6 Suelgaray- Torres.
BASES DE DATOS DISTRIBUIDAS
Escuela Normal “Profr. Darío Rodríguez Cruz”
Redes de intercambio.
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
Francisco Gamboa Herrera Tanya Pérez Herrera 26 Noviembre 2010.
Pasarelas (Gateways).
PORTADA. INTRODUCCIÓN A grandes rasgos, una red informática entre iguales (en inglés, peer-to- peer -que se traduciría de par a par- o de punto a punto,
Juan Francisco Delgado Entrambasaguas. ¿Qué es? El p2p o también llamado “peer-to-peer”, es una red de ordenadores conectados entre ellos, sin tener.
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
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Sistemas distribuidos.
2.1 TOPOLOGIAS DE RED OBJETIVO : QUE EL ALUMNO IDENTIFIQUE Y SEA CAPAZ DE DESCRIBIR CADA UNA DE LAS TOPOLOGIAS DE RED. COMPETENCIAS A DESARROLLAR: 4.-
“Pastry” Francisco Gamboa Herrera Tanya Pérez Herrera Taller de Redes 2010.
BASE DE DATOS DISTRIBUIDAS
Computación e Internet Computación e Internet - Lcdo. Félix Bucarelo – COMPUTACIÓN E INTERNET Facilitador Lcdo. Félix Bucarelo.
¿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.
Protocolo de comunicación: serie de normas que deben aportar determinadas funciones ALGUNAS FUNCIONES LOCALIZAR un ordenador de forma INEQUIVOCA. INTERCAMBIAR.

P2P son las siglas en inglés de Peer-to-Peer, que significa comunicación entre iguales. en una red P2P las computadoras se conectan y comunican entre sí.
QUE ES UNA RED Una red es un grupo de equipos de sobremesa o portátiles (y otros dispositivos de red, como impresoras) conectados entre sí El propósito.
1 Unidad I.2.- Objetivos de los Sistemas Distribuidos Ing. Luis Armando García Eliseo © Agosto 2011.
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
#REDES.. ¿Qué es una red? Conjunto de computadores, equipos de comunicaciones y otros dispositivos que se pueden comunicar entre sí, a través de un medio.
{ Topología de Red Yaritza Ortega Astrid Zúñiga Vishal Patel.
Transcripción de la presentación:

Peer 2 Peer Sistemas Operativos Distribuidos Alumno: Abel Santín

1- Introducción P2P (Entre iguales) No tiene clientes y servidores fijos, sino una serie de nodos que se comportan a la vez como clientes y como servidores de los demás nodos de la red. Todos los nodos se comportan igual y pueden realizar el mismo tipo de operaciones. A pesar de que el P2P ha sido popularizado por el intercambio de música por Internet, este no es el único uso que se puede dar a esta tecnología.  Skype  SETI (Search for Extraterrestrial Intelligence Institute).  RTVE emisión en directo a través de P2P

Elementos de una Red P2P (I) Par: entidad capaz de desarrollar algún trabajo útil y de comunicar los resultados de ese trabajo a otra entidad de la red, ya sea directa o indirectamente.  Par simple: Sirven a un único usuario final, permitiéndolo proporcionar servicios desde su dispositivo y empleando los servicios ofrecidos por otros pares de la red  Súper-par: Ayudan a los pares simples a que encuentre otros pares o a otros recursos de los pares

Elementos de una Red P2P (II) Grupo de Pares: Un grupo de pares es un conjunto de pares formado para servir a un interés común u objetivo dictado por el resto de pares implicados. Servicios: proporcionan una funcionalidad útil que se consigue mediante la comunicación de los distintos pares  Servicios de pares: Funcionalidades ofrecidas por un par concreto de la red a otros pares  Servicios de Grupo de pares: funcionalidades proporcionadas por varios miembros del grupo consiguiendo así acceso redundante al servicio.

Arquitectura de las redes P2P (I) Par B (bb.mp3) Par C (cc.mp3) Par D (dd.mp3) Servidor B  bb.mp3 C  cc.mp3 D  dd.mp3 Par A (¿cc.mp3?) 1- ¿cc.mp3? 2- Par C 3- cc.mp3 Conexión directa Flujo de Datos Modelo Híbrido o Centralizado (Napster)  Rendimiento Elevado  Coste Alto

Arquitectura de las redes P2P (II) Par FPar E Par C – ccc.mp3Par B Par D Par A ¿ ccc.mp3? Conexión directa Flujo de Datos ¿ccc.mp3? ccc.mp3 Modelo P2P Puro o totalmente descentralizado (Gnutella)  El modelo P2P puro es más robusto al no depender de un servidor central  Económico  Elevado tiempo y sobrecarga de ancho de banda.  El recurso buscado y existente ni siquiera pueda ser encontrado

Arquitectura de las redes P2P (III) Modelo P2P Mixto o semicentralizado Conexión directa Flujo de Datos Par A (¿cc.mp3?) Par Z (cc.mp3) Superpar Z  cc.mp3 (¿cc.mp3?) cc.mp3->Z  Red Escalable  Reducción del número de nodos involucrados en el encaminamiento  Buen tiempo de respuesta

Búsqueda de Pares, Contenidos y Servicios La búsqueda de información (pares, contenidos y servicios), dada la ausencia de un conocimiento global de los datos y recursos involucrados, es un aspecto fundamental en entornos P2P  Búsqueda en caché: Cada par mantiene una caché de recursos previamente descubiertos.  Búsqueda directa: Pregunta directamente a otros pares de la red con los que tenga conexión directa (Arquitectura P2P pura)  Búsqueda indirecta: Los superpares actúan como fuente de información de localización de pares y otros recursos conocidos. Además esos hacen la búsqueda en nombre del par (Arquitectura P2P mixta)

Tablas Hash Distribuidas Una tabla Hash es un conjunto de pares Sus operaciones básicas son:  Void Almacenar (Clave, Valor)  Valor Buscar (Clave) Juan Gomez Pepe Ruiz valorclave Objetivo: Distribuir el contenido de la Tabla Hash entre los distintos pares que forman la red P2P

DHT (Situación Inicial) Simplificación de un protocolo DHT para k=4 bits

Distancia entre dos nodos (I) Def distance (a,b): If a==b: Return 0 Else if a<b: Return b-a; Else: Return (2^k) + (b-a)

Distancia entre dos nodos (II) Distancia:6 Distancia=(ID destino – ID origen) mod 2 k

Distancia entre dos nodos (III) Tal y como se ha definido la distancia no es recíproca entre dos nodos. Nodo más cercano: Aquel con una distancia menor Distancia:10

Distribución de contenidos en DHT Cada nodo es una DHT estándar Las operaciones de consulta y almacenaje se hacen en el nodo adecuado de la red. Proceso para conocer el nodo adecuado  Aplicamos un algoritmo hash a la clave que queremos almacenar, o recuperar obteniendo una clave de k bits  Buscamos el nodo con ID mas cercana (menor distancia) pero mayor al valor de k bits de la clave

Distribución de contenidos en DHT 00 Lalala.mp3 Func Hash El nodo 00 quiere compartir lalala.mp3 ¿Dónde almacena ese dato? Nodo adecuado ¿Lalala.mp3? Func Hash El nodo 02 quiere saber donde conseguir lalala.mp3 ¿Quién conoce quien guarda ese dato? Nodo adecuado

Funciones de Búsqueda y Almacenaje Def findNode (Start, key) Current=start While distance (current.id, key) > distance (current.next.id, key) Current=current.next Return current Def lookup(start, key) Node=findNode(start, key) Return node.data[key] Def store (start, key, value) Node=findNode(start, key) Node.data[key]=value

Unión a una DHT 1. Obtener un ID de nodo no repetido 2. Búsqueda de su ubicación (mismo algoritmo de búsqueda visto) 3. Copia de la información del nodo predecesor que le corresponde al nuevo nodo 4. Actualización del puntero

Desunión de una DHT El nodo antes de abandonar copia la información a su predecesor. Actualización de los punteros

Desunión abrupta En caso de caída de un nodo la información almacenada en dicho nodo deja de estar disponible temporalmente. Los distintos protocolos establecen mecanismos de almacenamiento de la información pasado un tiempo para que la información vuelva a estar disponible

Mejoras en la búsqueda Media de número de saltos = (Nº Nodos / 2) O(n) Puede llegar a ser lento si el número de nodos es muy grande. Solución: Cada Nodo tiene k punteros a otros nodos. O(log n) Sea x uno de estos punteros (1<=x<=k). El contenido del puntero x se determina tomando el ID del nodo y buscando el nodo responsable de la clave (id + 2**(x-1) ) mod (2 k ) Def update (node): For x in range (x) oldEntry=node.finger[x] node.finger[x]=findNode (oldEntry, (node.id + (2**x)) % (2**k))

Optimización de la búsqueda En este caso el nodo 00 debería apuntar a los nodos 01,02,04 y 08 El nodo 04 debe apuntar a los nodos 05,06,08 y 12 !!En la tabla de nodos apuntados de 00 aparece 04 pero no a la inversa¡¡

Algoritmo con K punteros Def findFinger (node,key) Current=node For x in range (k) If distance (current.id, key) > distance (node.finger[x].id, key) Current=node.finger[x] Return current Def lookup (start, key) Current=findFinger (start, key) Next=findFinger(current, key) While distance (current.id, key) > distance (next.id, key) Current=next Next=findFinger(current,key) Return current

Definición de la distancia como XOR Posibilidad para un nodo de añadir mas punteros a nodos en su tabla, cuando contacta con otros nodos durante la búsqueda Desafortunadamente, las tablas de punteros que hemos visto son unidireccionales. Un nodo no estará en la tabla de nodos apuntados de los nodos a los que el apunta. Solución=Calcular distancia mediante la operación XOR Distancia(A,B)=Distancia(B,A) Si A está en la tabla de punteros de B entonces B está en la tabla de A. Los nodos pueden actualizar sus tablas de punteros guardando la tabla de los nodos a los que consulta.

Kademlia Una cuestión con el diseño presentado es que si un nodo en la ruta no quiere cooperar. Entre dos nodos hay solo un camino, así que hacer búsquedas entre nodos caídos es imposible. Kademlia DHT resuelve esto ampliando la tabla de punteros a nodos conteniendo j referencias para cada nodo, en lugar de sólo una. Además Kademlia da preferencia en su tabla de nodos a aquellos que más tiempo llevan, añadiendo tan solo nuevas referencias en caso de que no tenga la tabla llena.

Características y Beneficios del P2P Descentralización Escalabilidad Anonimato Propiedad compartida Rendimiento Seguridad Tolerancia a Fallos Interoperabilidad

JXTA El proyecto JXTA intenta convertirse en una plataforma modular que provee bloques de construcción simples y esenciales para el desarrollo de un amplio rango de servicios y aplicaciones distribuidas basadas en P2P. Ambiente descentralizado que minimiza los puntos únicos de fallo y no es dependiente de ningún servidor centralizado. Los servicios JXTA pueden ser implementados para interoperar con otros servicios. Por ejemplo, un servicio de comunicación P2P de mensajería instantánea puede ser fácilmente agregado a una aplicación P2P de compartición de ficheros si es que ambos soportan protocolos JXTA. La forma de funcionamiento se basa en un conjunto de protocolos P2P simples y abiertos que permiten que cualquier dispositivo de red se comunique, colabore y comparta recursos.