SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Último

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
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
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
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
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
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
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 

Último (20)

Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
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
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
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
 
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ú
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
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
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 

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