SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Redes Peer-to-Peer




         A. Mozo (amozo@eui.upm.es)




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

Weitere ähnliche Inhalte

Ähnlich wie Doctorado P2P Dht

Conceptos básicos de redes de computadores
Conceptos básicos de redes de computadoresConceptos básicos de redes de computadores
Conceptos básicos de redes de computadoresTm-CS
 
Implantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CImplantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CJorge Sanz
 
“Introducción a SPDY, ¿futuro HTTP 2.0?
“Introducción a SPDY, ¿futuro HTTP 2.0?“Introducción a SPDY, ¿futuro HTTP 2.0?
“Introducción a SPDY, ¿futuro HTTP 2.0?Marcelo Fidel Fernandez
 
1.2.2 clasificacion tecnologia comunicacion
1.2.2 clasificacion tecnologia comunicacion1.2.2 clasificacion tecnologia comunicacion
1.2.2 clasificacion tecnologia comunicacionluishdiaz
 
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqq
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqqRuteo redes teoría aaaaaaaaaaaaaqqqqqqqqqq
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqqvidanueva2024
 

Ähnlich wie Doctorado P2P Dht (7)

Conceptos básicos de redes de computadores
Conceptos básicos de redes de computadoresConceptos básicos de redes de computadores
Conceptos básicos de redes de computadores
 
Implantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX CImplantación de un servidor SOS en la IDE OTALEX C
Implantación de un servidor SOS en la IDE OTALEX C
 
“Introducción a SPDY, ¿futuro HTTP 2.0?
“Introducción a SPDY, ¿futuro HTTP 2.0?“Introducción a SPDY, ¿futuro HTTP 2.0?
“Introducción a SPDY, ¿futuro HTTP 2.0?
 
taller de bd
taller de bdtaller de bd
taller de bd
 
1.2.2 clasificacion tecnologia comunicacion
1.2.2 clasificacion tecnologia comunicacion1.2.2 clasificacion tecnologia comunicacion
1.2.2 clasificacion tecnologia comunicacion
 
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqq
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqqRuteo redes teoría aaaaaaaaaaaaaqqqqqqqqqq
Ruteo redes teoría aaaaaaaaaaaaaqqqqqqqqqq
 
frame relay
frame relayframe relay
frame relay
 

Mehr von Joaquín Salvachúa (20)

Eemov data
Eemov dataEemov data
Eemov data
 
Etica big data
Etica big dataEtica big data
Etica big data
 
FIWARE Data usage control
FIWARE Data usage controlFIWARE Data usage control
FIWARE Data usage control
 
Fiware overview3
Fiware overview3Fiware overview3
Fiware overview3
 
Fiware overview
Fiware overviewFiware overview
Fiware overview
 
Kubernetes2
Kubernetes2Kubernetes2
Kubernetes2
 
Introducción al ecosistema de React.js
Introducción al ecosistema de React.jsIntroducción al ecosistema de React.js
Introducción al ecosistema de React.js
 
FIWARE Identity Manager Exercises
FIWARE Identity Manager ExercisesFIWARE Identity Manager Exercises
FIWARE Identity Manager Exercises
 
FIware Identity Manager
FIware Identity ManagerFIware Identity Manager
FIware Identity Manager
 
Fi ware en Hack for good (#H4G)
Fi ware en Hack for good  (#H4G) Fi ware en Hack for good  (#H4G)
Fi ware en Hack for good (#H4G)
 
Id fiware upm-dit
Id fiware  upm-ditId fiware  upm-dit
Id fiware upm-dit
 
Vagrant
VagrantVagrant
Vagrant
 
Big data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón ArecesBig data Jornada Fundación Ramón Areces
Big data Jornada Fundación Ramón Areces
 
Intro20 socioeconomia
Intro20 socioeconomiaIntro20 socioeconomia
Intro20 socioeconomia
 
Master w20 01
Master w20 01Master w20 01
Master w20 01
 
Blogs micro
Blogs microBlogs micro
Blogs micro
 
Social networks upm
Social networks upmSocial networks upm
Social networks upm
 
Nube redes
Nube redesNube redes
Nube redes
 
Identidad2
Identidad2Identidad2
Identidad2
 
Blogs Micro
Blogs MicroBlogs Micro
Blogs Micro
 

Kürzlich hochgeladen

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Kürzlich hochgeladen (20)

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Doctorado P2P Dht

  • 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