Doctorado P2P Dht
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Doctorado P2P Dht

on

  • 3,096 views

Transparencias de Alberto Mozo para explicar P2P y DHT

Transparencias de Alberto Mozo para explicar P2P y DHT

Statistics

Views

Total Views
3,096
Views on SlideShare
2,904
Embed Views
192

Actions

Likes
2
Downloads
55
Comments
0

4 Embeds 192

https://moodle.lab.dit.upm.es 178
http://www.slideshare.net 10
https://moodle2.lab.dit.upm.es 2
https://moodle-old.lab.dit.upm.es 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Doctorado P2P Dht Presentation Transcript

  • 1. Redes Peer-to-Peer A. Mozo (amozo@eui.upm.es) 1
  • 2. Indice Redes Peer-to-Peer Aplicaciones del concepto P2P – Tablas Hash Distribuidas (DHTs) – Multicast en el Nivel de Aplicación (ALM) Algoritmos DHT y ALM 2
  • 3. Peer-to-Peer Clientes y Servidores en el mismo proceso Ventajas – Arquitectura distribuida, autoorganizada, escalable (no cuello botella en servidores) – Despliegue inmediato en host (no routers) Problemas – Entradas y salidas de nodos (churn-value alto) desestabilizan el sistema – Equipos maliciosos pueden introducir ruido en el sistema 3
  • 4. Historia 1 generación (Napster, BD centralizada) 2 generación (Gnutella 0.4 y Gnutella 0.6) – 0.4 Totalmente descentralizado: no escala – 0.6 Sistema jerárquico dos niveles con super-peers 3 generación – Overlays estructurados: DHTs (Distributed Hash Table) – Random-walks, Small world networks (J. Kleinberg) 4
  • 5. Aplicaciones de las DHT Bases de datos distribuidas de alta escalabilidad – Uso: • Cluster de servidores • BD de recursos en sistemas de intercambios de archivos – Ventaja: Escalabilidad – Prob: búsquedas en rangos y por palabras claves Application Level Multicast – Imposibilidad de implantar Multicast global en toda Internet – Despliegue de protocolos inmediato (solo en hosts, fuera del S.O. y pila TCP/IP ) – Menos eficiente que Multicast nativo – Es necesario un protocolo por encima de la DHT 5
  • 6. Almacenamiento y Recuperacion de Datos de forma Distribuida Quiero el dato D. Quiero el dato D. ¿Donde encuentro a D? ¿Donde encuentro a D? Dato D D ? ? Sistema dsitribuido ? 12.5.7.31 peer -to -peer.info berkeley.edu planet -lab.org 89.11.20.15 95.7.6.10 86.8.10.18 7.31.10.25 Reto fundamental en la mayor parte de los sistemas Peer-to-Peer – Localización de datos dentro de un sistema distribuido • ¿Donde lo almacena el proveedor del servicio? • ¿Cómo lo localiza el peticionario? – Escalabilidad: hay que mantener las comunicaciones y los almacenes de los nodos escalables – Robustez y elasticidad en caso de fallos/caídas y entradas en la red (cambios frecuentes) 6
  • 7. Distributed Hash Tables Sobrecarga Comunicación vs. Estado en nodos Escalabilidad: O(log N) Sobrecarga Comunicación Inundación No tiene falsos negativos Resistentes frente a cambios O(N) – Fallos, ataques Cuello de botella: – Usuarios breves • Sobrecarga Comunicación • Falsos negativos Cuello de botella: • Memoria, CPU, Enlace Distributed Servidor O(log N) Hash Table Servidor Central O(1) O(1) O(log N) Estado en Nodos O(N) 7
  • 8. DHTs Escalable: – Esfuerzo de comunicación: 1pk, O(log(N)) saltos – Estado en los nodos (tabla rutas): O(log(N)) entradas en la tabla de rutas Encaminamiento: como máximo O(log(N)) saltos al H(mis_datos) nodo que almacena el dato = 3107 1008 1622 2011 709 2207 ? 611 2906 3485 Un nodo almacena O(log(N)) rutas a otros nodos 12.5.7.31 peer-to- peer.info berkeley.edu planet- lab.org 89.11.20.15 95.7.6.10 86.8.10.18 7.31.10.25 8
  • 9. DHTs Características – Datos y nodos comparten el mismo espacio de direcciones – Los nodos intermedios mantienen información de encaminamiento a los nodos destino – Se encamina salto a salto hasta llegar al nodo que almacena el dato buscado – Se almacenan pares (clave,valor) Problemas – Se requiere un mantenimiento (entradas/caídas) de las tablas de rutas – Búsquedas no exactas no soportadas directamente (ej. Comodines *.doc, o palabras clave) 9
  • 10. Comparativa Estado Sobrecarga Búsquedas No falsos Sistema Robustez por nodo en la red no exactas negativos Servidor O(N) O(1) Central Búsqueda por O(1) O(N²) inundación Distributed O(log N) O(log N) Hash Tables 10
  • 11. Application Level Multicast (ALM) A C A 1 2 1 1 B C 2 1 3 3 B RA RB D D 3 2 Formación de un solapamiento de red (overlay) entre el emisor y los receptores Decisiones de encaminamiento y duplicación de paquetes en el nivel de Aplicación + Despliegue en Internet inmediato - Menos eficiente que IP-Multipunto 11
  • 12. Evolución sistemas ALM Primera generación: – Topologías: • Malla: Narada (2000). • Árbol de expansión: Yoid (1999), HMTP (2002) – Construcción centralizada. No escalan correctamente Segunda generación: – Overlay Peer-to-Peer estructurado – Despliegue de una estructura eficiente para distribuir el contenido (árbol generalmente) 12
  • 13. Algoritmos DHTs y ALMs Chord (MIT) Pastry (Microsoft Research, Rice Univ.) – ALM=Scribe y SplitStream Tapestry (UCB) – ALM=Bayeux CAN (ACIRI-AT&T, UCB) – ALM=MC-CAN Kademlia 13
  • 14. Chord [2001] Stoica, Morris, Karger, Kaashoek, Balakrishnan (MIT Laboratory for Computer Science) Overlay estructurado, DHT Sucesor(5)=0 5 Algoritmo sencillo 1 – Corrección y rendimiento demostrables 0 Sucesor(1)=1 7 1 formalmente 6 2 Los nodos se organizan en un anillo – Id elegido mediante hash SHA-1 5 3 – Ids consecutivos -> cercanía en red 4 física 3 Sucesor(3)=4 Cada nodo del anillo es responsable del almacenamiento de las claves antecesoras 14
  • 15. Chord API – put (key, value) inserta datos en Chord – value = get (key) recupera datos de Chord Identificadores de nodos y objetos – Derivados de la función hash SHA-1, 160-bit → 0 <= identificador < 2^160 – Key asociada con datos • Ej. key = sha-1(value), key= sha-1 (URL_value) – ID del nodo • Ej. id = sha-1 (dir IP, port) 15
  • 16. Chord: Topology IDs de nodos y Claves en el anillo (aritmética modulo 2^160) Pares (clave, valor) almacenados por el siguiente nodo en el sentido horario: nodo sucesor 6 1 0 sucesor(1) = 1 7 1 Anillo sucesor(6) = 0 6 6 Chord 2 2 sucesor(2) = 3 Identificador 5 3 Nodo 4 2 X Clave 16
  • 17. Chord: Encaminamiento Tabla de rutas: finger table – Almaceno log(N) enlaces por nodo – Se cubren distancias de crecimiento exponencial: • Nodo n: la entrada “i” apunta al nodo sucesor de (n + 2^i) • Cada entrada es el finger iésimo finger table keys i start succ. 6 0 1 1 finger table keys 1 2 2 4 3 0 0 i start succ. 1 7 1 0 2 3 1 3 3 2 5 0 6 2 finger table keys 5 3 i start succ. 2 0 4 0 4 1 5 0 2 7 0 17
  • 18. Chord Estructura de la tabla de nodos – Dedos apuntan a valores separados de mi_Id + {20, 21, 22,.. 2N-1} – Se almacena el nodo sucesor de los dedos – Encaminamiento: Busqueda dicotómica, O(Log2 (N)) saltos Tabla de dedos nodo Tabla de dedos Inicio Intervalo Clave sucesor Inicio Intervalo nodo Clave 1 [1,2) 1 sucesor 5 2 [2,3) 3 1 2 [2,4) 4 Entradas de nodos 4 [4,0) 0 3 [3,5) 3 5 [5,1) 0 – Localización de antecesor y predecesor 0 1 – Actualización de 7 apuntadores en nodos 6 2 implicados 5 3 4 Tabla de dedos Caídas de nodos Clave Inicio Intervalo nodo sucesor – Reparación de tablas de 3 5 [5,6) 0 apuntadores en nodos 6 [6,0) 0 0 [0,4) 0 implicados 18
  • 19. Pastry [2000] A. Rowston (Microsoft Research) y P. Druschel (Rice University) 00000 FFFFF Overlay estructurado. Implementa DHT D5A123 Identificadores 128 bits (hash SHA-1) route (msg,D5A123) D5A00B (R=2b, b=4, Id=8 dígitos) 54FFA0 D5330A Tablas encaminamiento [R x LogR(N)] Lista hojas: nodos más cercanos D85BC2 Identificador de nodo Lista vecinos: por si hay fallo Identificador de mensaje Saltos encaminamiento O(Log2b (N)) 19
  • 20. Pastry Tabla de encaminamiento del nodo 10233102 0-XXXXXXXX 12-XXXXXXX -0-2212102 1 -2-2301203 -0-2212102 0 1-2-230203 2 3 3 1 10233-2-32 102332-XX 0 2 20
  • 21. Scribe [2001] M. Castro, A. Rowston, A. Kermarrec (Microsoft Research) y P. Druschel (Rice University) El nodo 2321 se une al árbol Raiz (Rendezvous Point): cuya raíz es el nodo 0020 – nodo con id más cercano al del grupo 0020 – Distribución desde la raíz 0001 0023 Árbol con Construcción implícita: – Equipo se une encaminando a 0302 0032 0013 través de Pastry un paquete hacia el nodo raíz 1132 0112 0132 0110 – Similar a Reverse Path Forwarding 3020 Se detectan caídas por los hijos 2023 3311 1023 2321 Aparecen nodos no receptores Camino para unirse al árbol. Paquete JOIN Camino de distribución de datos. Paquete TREE 21
  • 22. SplitStream [2003] Castro, Rowston, Kermarrec (Microsoft Research) y Druschel, Nandi, Singh (Rice University) Bosque de árboles Scribe sobre Pastry emisor Raíz subflujo 0 Raíz subflujo 1 Raíz subflujo 2 Z X Y X Z Y Z Y X Nodos con identificador que empieza por “0” Nodos con identificador que empieza por “1” Nodos con identificador que empieza por “2” 22
  • 23. Tapestry [2001] Zhao, Joseph, Kubiatowicz (University of California at Berkeley) Malla de equipos que implementa una DHT 400F – Identificador 160 bits L1 Route ( msg, 42AD ) 42E0 (agrupado en 40 digitos), Ids: 5230 SHA-1 L2 L3 4211 L3 Similar a Pastry L2 4227 4629 42A9 – Tabla encaminamiento idéntica L4 L3 (sin hojas), Saltos: O(Log(N) L4 42AD 42A2 L4 Tolerancia a fallos: 3 nodos por L1 42A7 sufijo AC78 L2 4112 Publicación almacena <clave,valor> en cada nodo intermedio 23
  • 24. Bayeux [2001] Zhuang, Zhao, Joseph, Katz, Kubiatowicz (University of California at Berkeley) 6786 1*** Similar a Scribe 678* 12** Unión al árbol 67** – El nodo 1250 encamina un 125* paquete “join” hacia la raiz 6786 6*** – La raíz encamina los paquetes de 1250 datos hacia el nodo 1250 Camino para unirse al árbol. Paquete JOIN Incorpora nodos intermedios Camino de distribución de datos. Paquete TREE Problema de escalabilidad: Se detectan caídas por parte de – Toda la gestión del grupo pasa por la raíz los padres – Los nodos intermedios guardan la pertenencia al grupo de los receptores 24
  • 25. CAN (Content Addressable Network) [2001] Ratnasamy, Handley, Shenker, Karp (ACIRI: AT&T Center for Internet Research at ICSI, y University of California at Berkeley) Overlay estructurado. DHT. – Los identificadores se transforman ([0,5 - 0,75],[0,5 - 1,0]) a (x1,x2,…,xn) ([0,75 – 1,0],[0,5 - 1,0]) ([0,0 – 0,5],[0,5 – 1,0]) (1 , 1) El área N-dimensional se reparte C D E entre los nodos existentes A B (0 , 0) Nodo CAN guarda: ([0,0 - 0,5],[0,0 - 0,5]) ([0,5 - 1,0],[0,0 - 0,5]) – (IP, coordenadas) de todos los vecinos 25
  • 26. CAN (Content Addressable Network) Encaminamiento – Se avanza hacia el vecino con menor distancia al destino – Se recorre por término medio (d/4)(n1/d) saltos – eCAN: jerárquica, similar a Pastry, Tapestry Unión – Se contacta con un nodo de la red CAN (nodo boot) – Elijo un punto (x,y) y encamino un JOIN hacia él E – El poseedor de la coordenada parte en 2 todo su espacio – Actualizamos tablas con los vecinos (O(d) mensajes) Salidas y abandonos – Algoritmo de recuperación de zonas vecinas 26
  • 27. MC-CAN [2001] Ratnasamy, Handley, Shenker, Karp (ACIRI: AT&T Center for Internet Research at ICSI, y University of California at Berkeley) Los miembros del grupo forman un mini-overlay Distribución por inundación sobre el mini-overlay CAN construido Se generan duplicados extra de paquetes 27