Sistemas Distribuidos

Módulo 8 Pasado y Futuro Primera y Segunda Generación
Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia “San Juan Bosco”

Sistemas Peer-to-Peer

Pasado y Futuro

JRA © 2009

Sistemas Distribuidos: Sistemas Peer-to-Peer

Revisión
1. 2. 3. 4. 5.

Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer

3) 2) 1) 1) Freenet 2) Buzzpad 3) WuWu

Aplicaciones P2P relevantes en el año 2001
JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer

Revisión
1. 2. 3. 4. 5.

Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer

3) 2) 1) 1) Freenet 2) Buzzpad 3) WuWu

Aplicaciones P2P relevantes en el año 2001
JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer

Que es P2P
Los sistemas P2P son arquitecturas solapadas , con las siguientes características: Dos redes logicamente separadas Mayormente basadas en IP Decentralizados y autoorganizados Emplea recursos compartidos distribuidos (poder de computación y almacenamiento de datos) Inicialmente desarrollado para archivos compartidos Varias realizaciones Bases comunes: IP (TCP y UDP) Bases comunes para transmisión de datos: HTTP Uso limitado del broadcast (flooding) en la red solapada
JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer

Impactos de P2P
Tamaños de flujo creciente (60 kbyte -> 2 Gbyte). 30%-60% del tráfico en ciertos backbones es causado por aplicaciones P2P. 70% del tráfico en la German Research Network (DFN) es causado por aplicaciones P2P. T-Online observa un incremento simétrico al nivel de acceso. LRZ (Munich Network Center) observó un incremento simétrico entre Estados Unidos y Europa.

JRA © 2009

Sistemas Distribuidos: Sistemas Peer-to-Peer

Impacto de P2P en el Backbone Abilene
No identificados + transferencia de datos + archivos compartidos causan 90% del tráfico Infraestructura Tráfico no identificado y transferencia de datos se incrementa significativamente
Partes de P2P están escondidas (port hopping,…) Algunas aplicaciones P2P usan pórtico 80 datos 100%
Traffic portions in % per week
90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
03 02 02 04 04 02 03 02 03 03 02 03 20 20 20 20 04 02 03 20 20 20 20 20 20 20 20 20 20 20 20 04 4. 0. 6. 2. 4. 2. 4. 0. 6. 2. 6. 8. 2. 2. 8. 8.

del núcleo de Internet2, conectando 190 universidades de EEUU y centros de investigación

transferencia de
Posibles transferencias de datos

U n id e n tifie d D a ta _ T ra n s fe rs F ile _ S h a r in g

Solo Signaling

.0

.1

.0

.0

.0

.0

.0

.0

.1

.0

.1

18

18

.1

18

18

18

18

18

18

18

18

18

18

18

18

18

.0

JRA © 2009

Sistemas Distribuidos: Sistemas Peer-to-Peer

Impacto de P2P en el Backbone Abilene
Cantidad de tráfico P2P (solo signaling) Es aún alto (~50 TByte por semana) Se convierte en una parte constante del tráfico (desde fines del 2002) Slumps se asumen estar causados por : Cierre de pórticos (firewalls, NATs) Veredictos (Caso Napster ,…) Las transferencias de datos son causadas presumiblemente por una gran de las aplicaciones P2P.
300 250 traffic in TByte per week 200 150 100 50 0 Unidentified Data_Transfers File_Sharing

18

.0

.0

.0

extensión

JRA © 2009

18 .0 2. 20 02 18 .0 4. 20 02 18 .0 6. 20 02 18 .0 8. 20 02 18 .1 0. 20 02 18 .1 2. 20 02 18 .0 2. 20 03 18 .0 4. 20 03 18 .0 6. 20 03 18 .0 8. 20 03 18 .1 0. 20 03 18 .1 2. 20 03 18 .0 2. 20 04 18 .0 4. 20 04 18 .0 6. 20 04 18 .0 8. 20 04

Sistemas Distribuidos: Sistemas Peer-to-Peer

5. Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer 3) 2) 1) Freenet 2) Buzzpad 3) WuWu 1) Aplicaciones P2P relevantes en el año 2001 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . 4. 2. 3.Razones para estas experiencias JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Revisión 1.

Cada host es tratado equitativamente PERO: la red virtual coincide con la red física en toda su extensión. con búsqueda y almacenamiento centralizado Un comité directivo central organiza la red JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Desde ARPANET hasta Peer-to-Peer 1979: Desarrollo del protocolo de UseNet Aplicaciones de newsgroup para organizar contenido Autoorganización para agregar o remover servidores de newsgroup La aplicación es aún cliente. La seguridad resulta en un particionamiento por firewalls en Internet. streaming Basados en conexiones por modem via SLIP y PPP protocol Modelo directo para administrar y controlar la distribución de contenido.servidor ~1990 corrida del público en general hacia Internet Las aplicaciones siguen el enfoque cliente-servidor : WWW. email.Desde ARPANET hasta Peer-to-Peer Fines de los 1960: Establecimiento de ARPANET Objetivo: compartir recursos de computación y documentos entre centros de investigación en EEUU. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Aplicaciones: FTP y TelNet modo cliente-servidor .

Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer 3) 2) 1) 1) Freenet 2) Buzzpad 3) WuWu Aplicaciones P2P relevantes en el año 2001 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer La Historia de Napster Mayo 1999: Disrupción de la comunidad Internet Primera Generación de P2P Introducción de Napster. 4. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . PERO: aparecen una serie de sucesores disponibles. 2.79 miles de millones de archivos intercambiados via la red Napster por mes Julio 2001: Napster Inc. Se disuelve la red Napster. El usuario no solo consume y baja contenido sino que también ofrece y provee contenido a otros participantes. 5. 3. Los usuarios establecen una red virtual. Blanco: el servidor de búsqueda centralizada de Napster Febrero 2001: 2. enteramente independiente de la red física y autoridades administrativas o restricciones. Bases: conexiones UDP y TCP entre los peers Deciembre 1999: denuncia contra Napster Inc. es condenado Napster tiene que parar la operación del servidor Napster.Revisión 1.

los peers hacen tareas de ruteo. Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer 3) 2) 1) 1) Freenet 2) Buzzpad 3) WuWu Aplicaciones P2P relevantes en el año 2001 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Gnutella y sus Parientes Marzo 2000: Nullsoft lanza Gnutella como un proyecto de fuente abierta Desarrollador Mayor: Gene Khan Adicionalmente a la funcionalidad del servent. 2. Completamente decentralizados. 5. al no haber servidor central de búsqueda no hay único punto de falla. 4. Segunda Generación de P2P Gnutella: reflector/concepto de Superpeer Incrementa la escalabilidad significativamente.Revisión 1. Octubre 2000: introducción de capas jerárquicas de ruteo. Variedad de protocolos decentralizados P2P: Audiogalaxy FastTrack/KaZaA iMesh Freenet JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . 3.

edonkey. Razón: su popularidad.… Mediados de 2003 Mas allá de intercambios de contenidos. pero también que los datos de usuarios es intercambiado vía canales señalados en contraste con Gnutella. se desarrollan nuevos conceptos para usar P2P en otras aplicaciones Se desarrolla Skype sobre P2P Hoy: Se trata de incrementar la confiabilidad de las búsquedas P2P.050 milliones de archivos intercambiados por mes via red Gnutella Año 2001: Tercera Generación de P2P se inicia La primera investigación que comienza la tercer generación son las redes estructuradas P2P Características básicas: Uso de un algoritmo proactivo de ruteo basado en tablas Distributed Hash (DHTs) Agosto 2002 El intercambio de datos en KaZaA cae causado por el gran número de archivos defectuosos (razón: claves hash débiles para identificar archivos) Edonkey y Gnutella ganan popularidad JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Gnutella y sus Parientes. La historia continúa Agosto 2001 Los usuarios se adaptan muy rápido a la caída de Napster Casi 3. para usar P2P en redes móviles. La historia continúa Mayo 2003 Aparece Bittorrent Se observa de pronto mayor tráfico.Gnutella y sus Parientes. Ebay compra a mediados de 2005 Skype para usar el paradigma de comunicación entre compradores y vendedores JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

2002 hasta 18.2004 Data source: http://netflow.2002 18.08.2002 18.internet2.2004 18.02.Desarrollo de Aplicaciones P2P 100% 90% 80% datavolumes in % per week FastTrack 70% 60% 50% 40% 30% 20% Gnutella 10% 0% 18. Status Quo: Redes saturadas con tráfico Peer-to-Peer Como comienza todo: Desde Arpanet hasta Peer-to-Peer La historia de Napster Gnutella y sus parientes: Arquitecturas completamente descentralizadas Fuerzas motoras detrás de Peer-to-Peer 3) 2) 1) 1) Freenet 2) Buzzpad 3) WuWu Aplicaciones P2P relevantes en el año 2001 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . 2.11.05.010.2003 18.05.2002 18.2004 edonkey BitTorrent Shoutcast Freenet Direct Co nnect++ Carracho B lubster Neo -M o dus FastTrack WinM X Sho utcast A udio galaxy eDo nkey2000 Ho tline Gnutella B itTo rrent Porciones de tráfico de las diferentes aplicaciones y protocolos P2P en las métricas de tráfico obtenidas por semana en el backbone Abilene desde 18. 5.edu/weekly/ JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Revisión 1.02.02.2002 18.2003 18. 4.11.08.2003 18.05.2003 18. 3.2004 18.08.02.

Desarrollo de las capacidades terminales: 1992: Tamaño medio de discos: ~0.Fuerzas Motoras detrás de Peer-to-Peer El desarrollo de las capacidades físicas y técnicas de las redes y las capacidades participativas. debido al incremento de la competencia en la “última milla” ancho de banda pleno y barato! Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 .5Mbps via conexiones comunes telefónicas La desregulación del mercado telefónico muestra el primer efecto con una significativa reducción de tarifas.3Gbyte Potencia promedio de procesamiento (frecuencia de reloj) de PCs: ~ 100MHz 2002: Tamaño medio de discos: 100 Gbyte 2004: Potencia promedio de procesamiento (frecuencia de reloj) de PCs : ~ 3GHz PCs tienen capacidades comparables a servidores en los 90 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Fuerzas Motoras detrás de Peer-to-Peer Desarrollo de redes de computadoras: Principios de los 90: usuarios privados se conectan a Internet via modem de 56kbps 1997/1998 Primer conexión de banda ancha para usuarios residenciales cable modem hasta 10Mbps 1999 Introducción de conexiones DSL y ADSL Hay disponibles transferencias de datos de hasta 8.

JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Las Aplicaciones P2P puedes ser clasificadas por los recursos compartidos Clasificación Convencional Clasificación de P2P Archivos Compartidos (Napster. Gnutella. AIM) Colaboración (Espacio de trabajo Groove) Clasificación por medio de recursos compartidos Información Archivos Ancho de Banda Espacio de almacenaje Ciclos de Procesador No hay una clara distinción Algunos casos tienden a confundir JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Freenet) Grid Computing (SETI@home) Mensajería Instantánea (ICQ.

Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 Revisión 1. SAN 2. Balance de Carga Incrementado 2. Colaboración Archivos 1. Modelo de Requerimientos por Inundación 3. Presencia de Información 2. NAS. Modelo de Ruteo de Documentos Ancho de Banda 1. 3. DAS. Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. Presencia de Información 2. Manejo de Documentos 3. Información 1. Información 1. 5. Manejo de Documentos 3. NAS.Revisión 1. 2. 2. Balance de Carga Incrementado 2. Modelo de Directorio Centralizado 2. 4. SAN 2. 3. Modelo de Ruteo de Documentos Ancho de Banda 1. 5. Colaboración Archivos 1. Modelo de Directorio Centralizado 2. Modelo de Requerimientos por Inundación 3. DAS. 4. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 .

si están o no disponibles para comunicación. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Presencia de Información JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .Presencia de Información Presencia de Información: Importante rol en la autoorganización de redes P2P y en escenarios relacionados con computadoras omnipresentes y disponibilidad de la información (ubiquitous computing). Provee información acerca de cuales peers y que recursos están disponibles en la red. Ejemplo: Sistemas de Mensajeria Instantánea Aplicaciones P2P que usan esencialmente la presencia de información. Peers pasan información via la red.

Agregado de información autoorganizada desde áreas del conocimiento. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Manejo de Documentos JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Solución Las redes P2P crean un repositorio conectado de los datos locales de los peers individuales. Indexación y categorización de datos por cada peer sobre la base de un criterio seleccionado individualmente.Manejo de Documentos Manejo de Documentos : Usualmente organizados en forma centralizada Pero Grandes porciones de documentos creados en una compañía son distribuidos entre PCs sin un repositorio central que tenga algún conocimiento de su existencia.

notificaciones. conducir reuniones en línea y editar documentos compartidos.Colaboración Colaboración: Miembros de grupos de trabajo pueden comunicarse sincronicamente. Groupware: ofrece funciones como mensajería instantánea. conferencias de voz y bases de datos con sincronización en tiempo real. P2P groupware evita tareas adicionales administrativas y manejo central de datos: Los datos creados son almacenados en cada peer y están sincronizados automaticamente. Pueden iniciarse groupware basados en cliente-servidor y administrado en el servidor por cada grupo de trabajo. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Colaboración JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . “pizarrones”. archivos compartidos. Pueden invitar a otros a sus equipos. Los usuarios pueden iniciar ambientes de trabajos compartidos para equipos virtuales (shared spaces).

5. Modelo de ruteo de Documentos. Presencia de Información 2. búsqueda y recuperación de los archivos: Modelo de Directorio Centralizado. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Problema de Búsqueda: Localizar recursos es. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 Archivos Archivos compartidos: Almacena contenidos en nodos individuales en vez de un lugar central. Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. El 70% del tráfico de Internet puede ser atribuido a intercambio de archivos. Colaboración Archivos 1. Modelo de Directorio Centralizado 2. NAS. Manejo de Documentos 3. Las redes P2P proveen diferentes métodos para almacenaje. SAN 2. un problema central de las redes P2P y compartir archivos en particular. 4. en general. Modelo de Ruteo de Documentos Ancho de Banda 1. Es la aplicación más extendido de los sistemas P2P. DAS. Modelo de requerimieno por “inundación” . Modelo de Requerimientos por Inundación 3. 3. 2. Balance de Carga Incrementado 2. Información 1.Revisión 1. Peers que bajan archivos los ponen disponibles para otros peers.

Características: La búsqueda de documentos existentes puede ser garantizada.Modelo de Directorio Centralizado Modelo de Directorio Centralizado: Ejemplo perfecto de sistema P2P híbrido El servicio de indexado es provisto centralmente por una entidad de coordinación. Luego el peer obtiene los archivos respectivos directamente de los otros peers que los ofrecen. Müller comparte varios archivos MP3. Arayama comparte varios archivos MP3 también. ! Prince purple rain ! ? Prince purple rain ? JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . “Bajado” por la justicis. ? Prince purple rain ? ! Prince purple rain ! @ Mr. Ejemplo: “Primer” Napster Compartía archivos de música. Arayama Base de Datos Central con Índice de todos los archivos compartidos Mr. El servicio de indexado es “Un Único Punto de Falla”. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Modelo de Directorio Centralizado Mr. Un requrimiento de búsqueda es atendido por la entidad coordinadora que presenta una lista de peers que tienen los archivos requeridos .

Características: La búsqueda de documentos existentes no puede ser garantizada. Ejemplo: Gnutella Extensión: FastTrack “Super Peers” como proxies. lo pasan sobre otros nodos hasta cierto nivel de profundidad (ttl=time-to-live). Arayama ofrece Prince JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . El peer puede ahora bajar el archivo deseado directamente de as entidades que lo ofrecen.Modelo de Requerimiento por “Inundación” Modelo de Requerimiento por “Inundación”: Sistema P2P atómico Sin autoridad central de coordinación (todos los peers son iguales). los resultados positivos de la búsqueda son enviados a la entidad que los requirió.com/ ? Mr. Müller está buscando por Prince ? ? ? ? ? ? ? ? ? No hay Base de Datos central Mr. El sistema P2P no es más atómico. Cuando el archivo requerido ha sido localizado. Si no pueden responder el requerimiento. El requerimiento de búsqueda es pasado sobre un deteminado número de peers. El sistema no escala bien. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Modelo de Requerimiento por “Inundación” http://www.gnutelliums.

. 5. Usa una función hash: “Distributed Hash Table (DHT)” Características: La autoorganización permite la adaptación en casos de entrada y salida necesaria de peers. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Revisión 1. Freenet. 2. Tapestry. Ejemplos: Pastry. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 . Modelo de Requerimientos por Inundación 3. Modelo de Directorio Centralizado 2. Se baja el archivo del peer asociado. Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. Los archivos no están almacenados en el HD de los peers que lo proveen. Modelo de Ruteo de Documentos Ancho de Banda 1. SAN 2. DAS. Chord. Se usa una función definida para para determinar el peer asociado cuando hay un requerimiento. Manejo de Documentos 3. Balance de Carga Incrementado 2. Asigna responsabilidad por un conjunto de archivos a cada peer (de acuerdo a una función definida). Presencia de Información 2.Modelo de ruteo de Documentos Modelo de ruteo de Documentos: Sin autoridad central de coordinación (todos los peers son iguales). 3. Información 1. 4. NAS. CAN. Rutea archivos a peers asociados que los almacenan. Colaboración Archivos 1. Los archivos está almacenados en otras locaciones de la red P2P.

Sender Router Unicast Router Router Router Receiver Receiver Receiver Receiver Receiver Un incremento espontáneo en la demanda ejerce una influencia negativa en la disponibilidad de los archivos debidos a los cuellos de botella y colas. En adelante los requerimientos son automáticamente enviados a peers dentro de la red que han recibido y replicado estos archivos. Receiver/ Sender Sender Router Receiver/ Sender Router Router Receiver/ Receiver/ Receiver/ Receiver/ Receiver/ Sender Sender Sender Sender Sender JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Incremento del Balance de Carga Enfoques basados en P2P Alcanza un incremento en el balance de carga al tomar ventaja de rutas de transmisión que no están completamente explotadas. El archivo es transferido desde allí al cliente que lo requirió.Ancho de Banda Típico Enfoque Centralizado: Los archivos son dejados en el servidor por un proveedor de información. Unicast Peer-to-Peer : Inicialmente los requerimientos de archivos son atendidos por un servidor central.

Doc Part Doc Part Enfoque de Segmentación: 1 Part 1 Part 2 Part 2 Part 3 3 Doc Doc Part Part 3 Part 3 Part 2 Part 2 Part 3 3 Doc Part Doc Part Part 1 Part 1 2 Part 2 Part 3 3 Doc Part Doc Part 1 Part 1 Part 2 Part 2 Part 3 3 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .Incremento del Balance de Carga Enfoques basados en P2P Alcanza un incremento en el balance de carga al tomar ventaja de rutas de transmisión que no están completamente explotadas . Enfoque de Canal de Información: new new info channel info channel new new info channel info channel new info channel new info channel new info channel JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Uso Compartido del Ancho de Banda Enfoques Basados en P2P También facilita el uso compartido del ancho de banda provisto por los proveedores de información.

Modelo de Directorio Centralizado 2. 2. 4. 3. Manejo de Documentos 3. 5. Información 1. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 DAS. Modelo de Requerimientos por Inundación 3. SAN Conceptos de Diseños Centralizados Usados para Datos en una Compañia: Direct Attached Storage (DAS) Network Attached Storage (NAS) Storage Area Networks (SAN) Desventajas: Uso ineficiente del almacenaje disponible. Carga adiciona en la red de la compañia. SAN 2. NAS. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Colaboración Archivos 1. Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. Modelo de Ruteo de Documentos Ancho de Banda 1. Presencia de Información 2. Necesidad de personal entrenado. NAS. Balance de Carga Incrementado 2. DAS. Soluciones adicionales de respaldo.Revisión 1.

formado sobre la base de redes existentes. Almacenar y buscar un archivo en la red se hace de la manera descripta en el modelo de ruteo de documentos. OceanStore. A un archivo le es asignado un número de identificación no ambiguo (una función hash del nombre del contenido y la clave pública del propietario). La clave pública es usada para crear un número de identificación no ambigua para cada peer (con la ayuda de una función hash). a cada peer le es asignado un volumen máximo de datos que puede ser agregado a la red. que comparten todo el almacenaje disponible en la red.Almacenaje en Redes P2P Una Red de Almacenaje P2P es un cluster computadoras. Cada peer debe tener disponible algo de su propio almacenaje y paga una tarifa. Ejemplos: PAST. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Almacenaje en Redes P2P Construcción vecinos 3 4 25 ID 4 ID 4 Hash ID 1 Hello ??? ID 25 ID 25 ID 3 ID 17 ID 8 Hello ??? ID 3 ID 10 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Correspondiente a su contribución. Organización: Cada peer recibe un par de claves pública/privada . Pasta.

Almacenaje en Redes P2P Almacenar Documentos ID 11 3 4 25 1 17 25 ID 4 ID 11 3 4 8 ID 11 ID 1 1 4 10 Hash 10 17 ID 11 ID 25 1 10 17 ID 17 ID 3 8 25 ID 11 8 ID 11 ID 3 ID 10 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Almacenaje en Redes P2P Recuperar Documentos 1 17 25 ID 11 3 4 25 ID 4 3 4 8 ID 1 1 4 10 10 17 ID 11 ID 25 1 10 17 ID 17 ID 8 ID 11 requestor: 1 3 8 requestor: 25 ID 11 ID 111 ID 3 ID 10 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

Información 1. Redes de Almacenaje P2P Ciclos de Procesador Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 Ciclos de Procesador Incremento de Requerimientos para Computación de Alto Rendimiento i. campo de la bio-informática. Colaboración Archivos 1. Balance de Carga Incrementado 2. Lograr poder de computación que aún las más caras supercomputadoras escasamente ofrecen. 2. Poder de computación de entidades en red con poco uso Uso de aplicaciones P2P para uso de ciclos de procesador: Forma un cluster de computadoras independientes conectadas en red que para una simple computadora es transparente y todos los nodos en red son combinados en una computadora lógica simple. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Manejo de Documentos 3. 3.e. Presencia de Información 2. 5. Ejemplo popular: SETI@home Calcula durante ciclos ociosos del procesador de los peers participantes. Modelo de Requerimientos por Inundación 3. SAN 2. Modelo de Ruteo de Documentos Ancho de Banda 1. Modelo de Directorio Centralizado 2.Revisión 1. 4. Visón advanzada de grid computing: Globus Toolkit Middleware standard para aplicaciones grid. NAS. DAS. logística o sector financiero. Uso Compartido del Ancho de Banda Espacio de Almacenaje 1. Nota: “Grid Computing” El nú núcleo de SETI@home es una Ejemplos: clá clásica aplicació aplicación ClienteCliente-Servidor.

El Servidor es el sistema de más alto rendimieno. Los recursos son compartidos entre peers 2. La red es manejada por el servidor 2. El Cliente es el sistema d más bajo rendimiento Ejemplo: WWW Peer-to-Peer 1. Entidades no central es P2P Híbrido 1. Todas las características de P2P incluidas 2. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad 3.6. El Servidor es la entidad central y el único proveedor del servicio y contenido.Sistemas Peer-to-Peer Primera y Segunda Generación JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Arquitecturas de la Primera y Segunda Generación de P2P Cliente-Servidor 1. Todas las características de P2P incluidas 2. . 3. Las conexiones en overlay son “fijas” Ejemplos: Chord. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad 3. JXTA 4. La entidad central es una especie de Db índice/grupo Ejemplo: Napster P2P Puro 1. CAN 1st Gen. Una entidad central es necesaria para proveer el servicio 3. Los recursos pueden ser accedidos directamente desde otros peers 3. Enidades centrales dinámicas P2P Estructurado Basado en DHT 1. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad 3. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer 2nd Gen. Entidades no central es Ejemplos: Gnutella 0. Todas las características de P2P incluidas 2. Freenet Ejemplo: Gnutella 0. Todas las características de P2P incluidas 2.4. Concepto de Servent P2P sin Estructura P2P Centralizado 1.

La entidad central es una clase DB índice/grupos La entidad central es la tabla de búsqueda/ruteo JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . mp3) La entidad central es necesaria para proveer el servicio.g.Servents Servidor Red P2P Encamina miento Datos Cliente JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Definición de P2P centralizada Todos los peers están conectados a una entidad central Los Peers establecen conexiones entre ellos para intercambiar datos (e.

Topología de P2P Centralizado Servent Conexión entre 2 servents (TCP) Conexión entre ruteadores y servents Conexión entre ruteadores (Core) JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Napster Cliente Cliente Cliente Cliente Cliente Servidor Napster:8888 Login Cliente Servidor Napster:8888 Descarga Metaservidor Cliente Servidor Napster:8888 Cliente Cliente Servidor Napster:8888 Descarga Cliente Cliente JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

Napster Servidor Napster Cliente Napster Connect Metaservidor Napster Devuelve dirección de servidor Napster Login (tipo 2) Login ack (tipo 3) version check (tipo 4) Mensajes de notificación de archivos compartidos (tipo 100) (tipo 100) (tipo 100) JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Napster Servidor Napster Cliente Napster que requiere un recurso Download request (tipo 203) Download ack (tipo 204) Connect "1" GET nick "nombre_archivo" offset Tamaño del archivo Archivo Cliente Napster que posee el recurso Downloading file (tipo 218) Uploading file (tipo 220) Archivo Archivo Archivo Download complete (tipo 219) Upload complete(tipo 221) JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

Topología de P2P puro Servent Conexión entre 2 servents (TCP) Conexión entre ruteadores y servent Conexión entre ruteadores (Core) JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Gnutella JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

el número y tamaño de archivos compartidos. mientras que la comunicación entre servents está especificada en forma de protocolo a nivel de aplicación. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Query: Un requerimiento de búsqueda. Contiene el IP y el pórtico del host que responde. el número de archivos encontrados y el conjunto de índices resultado. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Protocolo Se basa en cuatro primitivas Ping: Requerimieno de un host para autoanunciarse Pong: Respuesta al Ping. El software de soporte son “servents”. Contiene un string de búsqueda y los mínimos requerimientos de velocidad del host que responde.Gnutella Se toma como ejemplo la red Gnutella Constituye una red solapada virtual con mecanismos propios de ruteo No hay coordinación central de actividades en la red. pórtico y velocidad. Usa IP como red subyacente. QueryHits: respuesta a Query. Contiene IP.

com). Una vez que el nodo recibe un QueryHints inicia con esos datos una conexión directa entre dos nodos. Para limitar los mensajes los mismos tienen un TTL (time to live). en cada hop este TTl es decrementado y cuando llega a 0 el mensaje se “cae” Se eliminan lazos de mensajes por medio de un identificador. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Protocolo Cada nodo los envía a sus vecinos y las respuestas hacen el camino inverso.Protocolo Luego de unirse a Gnutella (conectándose a los nodos encontrados en la base de datos gnutellahost. el nodo envía un Ping al nodo al cual está conectado. La localización de un archivo se hace por una búsqueda no determinística dado que los nodos no pueden adivinar donde están los archivos. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Los nodos responden Pong identificándose y propagando el Ping a sus vecinos. Gnutella usa broadcast para distribuir Ping y Query. La imposición del TTL impone un horizonte a cada cliente.

4 5 Ejemplo de red Gnutella 0.Protocolo JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Sumario de señalamiento en Gnutella 0.4 1 2 4 3 6 7 8 Ejemplo de protocolo de mensajes de acuerdo con la red del ejemplo Peer7 Peer3 Gnu-Con OK Peer1 Gnu-Con OK Peer5 Peer2 Peer4 Peer6 Peer8 Gnu-Con OK PING PING PING PING PING PING PING PING PING PING PING PING PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG PONG JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

dependiendo del tamaño de la red) Leafnodes: conectado a uno o más Superpeers (<7) leafnode Superpeer JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Gnutella 0.Definición de P2P híbrida Principal característica comparada con P2P puro: Introducción de otra capa dinamica jerárquica Red basado en hub Reduce la carga de señalamiento sin reducir la confiabilidad Proceso de elección para seleccionar la asignación de un Superpeer Superpeers: alto grado (>>20.6: Como trabaja JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

6 S3 L6 S2 S1 L1 L2 L3 S3 PING PING PING PONG PONG L5 L4 4 S2 L7 L6 L5 L4 Secuencia de mensajes de acuerdo al ejemplo de red: L2 L3 L1 Gnu-Con OK RTU PING PONG PONG PONG QUERY S1 QUERY QUERY QUERY QUERY QUERY QUHIT QUHIT QUHIT QUHIT QUHIT QUHIT QUHIT QUHIT QUERY JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .Sistemas P2P basados en P2P híbridos Edonkey Kazaa/FastTrack Emule OpenNap … JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Sumario de señalamiento en Gnutella 0.6 L7 Ejemplo de red Gnutella 0.

estado del nodo Sobrecarga Communicación Flooding O(N) Cuello de botella: •Sobrecarga Comunicación •Falso negativos Cuellos de botella: O(log N) O(1) O(1) ? Solución escalable entre ambos extremos? •Memoria. red •Disponibilidad Central Server O(N) O(log N) Estado Nodo Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 .JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Motivación de Indexado Distribuido Sobrecarga de Comunicación vs. CPU.

CPU. estado del nodo Sobrecarga Communicación Escalabilidad: O(log N) Flooding O(N) Cuello de botella: •Sobrecarga Comunicación •Falso negativos No falsos negativos Resistencia contra cambios Fallas.Motivación de Indexado Distribuido Sobrecarga de Comunicación vs. Ataques Usuarios por corto tiempo Cuellos de botella: O(log N) O(1) O(1) Distributed Hash Table •Memoria. red •Disponibilidad Central Server O(N) O(log N) Estado Nodo Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 Fundamentos de DHT Desafíos en el diseño de DHTs Características Deseadas Flexibilidad Confiabilidad Escalabilidad Igual distribución de contenidos entre nodos Crucial para una eficiente búsqueda de contenido Permanente adaptación a fallas. agregados y salidas de nodos Asignamiento de responsabilidades a nuevos nodos Reasignamientos y redistribución de responsibilidades en caso de fallas de nodo o partida del mismo JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

Hash(String) mod 2m: H(„my data“) 2313 Asociación de partes de espacio de direcciones a nodos HT 3485 610 611 709 1008 1621 1622 2010 2011 2206 22072905 2906 3484 (3485 610) 2m-1 0 H(Node Y)=3485 Y X Data item “D”: H(“D”)=3107 Frecuentemente. 2m-1 >> número de objetos a ser almacenados Mapeo de datos y nodos en el espacio de direcciones (con hash) Ej. el espaciode direcciones es visto como un círculo. H(Node X)=2906 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Almacenamiento/Búsqueda de datos en DHT Búsqueda de datos = ruteo al nodo responsable El nodo responsable no necesariamente es conocido en avance Sentencia definitiva acerca de la disponibilidad de datos JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Direccionamiento en DHT Paso 1: Mapeo de contenido/nodo en espacio lineal Usualmente: 0. Mapeo de nodos y datos en el mismo espacio de direcciones Peers y contenidos son direccionados usando identificadores flat (IDs) Espacio común de direcciones para datos y nodos Los nodos son responsables por datos en ciertas partes del espacio de direcciones La asociación de datos a nodos puede cambiar dado que los nodos pueden desaparecer 2. …..Manejo Distribuido de Datos Secuencia de operaciones 1.

Asociación del espacio de direcciones con nodos Cada nodo es responsable por una parte del rango de valores Frecuentemente con redundancia (solapado de partes) Adaptación continua Las topologías real (underlay) y lógica (overlay) no correlacionan 1008 Nodo 3485 es responsable por items de datos en rango 2907 to 3485 1622 2011 2207 709 Vista lógica de DHT 611 3485 2906 Mapeo a la topología real JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Paso 2: Ruteo de un item de dato Paso 2: Localización del dato (ruteo basado en contenido) Objetivo: Pequeño y esfuerzo escalable O(1) con tabla hash centralizada Pero: Su manejo es muy costoso (servidor) Sobrecarga mínima con DHT O(log N): Orden en DHT para localizar un objeto O(log N): número de claves e información de ruteo por nodo(N = # nodos) JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .

Paso 2: Ruteo de un item de dato Ruteo de un par K/V Comienza la búsqueda en un nodo arbitrario de DHT Ruteo del dato requerido (key) H(„my data“) = 3107 1008 709 1622 2011 2207 Nodo 3485 administra las claves 2907-3485. (ip/port)) al peticionante JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . port)) Value = puntero a la locación del dato JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Paso 2: Ruteo de un item de dato Obteniendo el contenido El par K/V es atendido por el peticionante El peticionante analiza la K/V-tupla (y baja el dato de la actual locación – en caso de almacenaje indirecto) H(„my data“) = 3107 709 Get_Data(ip. ? 611 3485 2906 Key = H(“my data”) Initial node (arbitrary) (3107. port) 1008 1622 2011 2207 En caso de almacenaje indirecto: Luego de conocer la locación El dato es requerido ? 611 3485 2906 Nodo 3485 envía (3107. (ip.

Asociación de datos con IDs – Almacenaje Directo ¿Cómo es almacenado el contenido en los nodos? Ejemplo: H(“my data”) = 3107 es mapeado en el espacio de direcciones DHT Almacenaje Directo El contenido es almacenado en el nodo responsable para H(“my data”) Inflexible para grandes contenidos – o.11. pero un paso más para alcanzar el contenido 709 1008 1622 2011 2207 611 3485 HSHA-1(„D“)=3107 2906 D 134.68 Item D: 134. Port) = (134.68 D 3485 2906 HSHA-1(„D“)=3107 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Asociación de datos con IDs – Almacenaje Indirecto Almacenaje Indirecto Nodos en una DHT almacenan tuplas como (key.2. 4711) Más flexible.2.140. si los datos son pequeños (<1KB) 709 1008 1622 2011 2207 611 D D 134.k.68 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer .11.2.value) Key = Hash(„my data”) 2313 Value es una dirección real de almacenaje de contenido: (IP.11.11.2..

2. 2.68 JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Falla del Nodo/Partida Falla del nodo Uso de pares redundantes K/V (si el nodo falla) Uso caminos de ruteo redundantes/ alternativos El par Key-value usualmente continua recuperable en al menos una copia Partida de un nodo Particionado del rango hash entre los nodos vecinos Copia de los pares K/V en los nodos correspondientes Se quita del ambiente de ruteo JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . 4. Cálculo del ID del nodo El nuevo nodo contacta DHT via un nodo arbitrario Le asigna un particular rango hash Copia de los pares K/V del rango hash (usualmente con redundancia) Mapeo en el ambiente de ruteo 709 1008 1622 2011 2207 611 3485 2906 ID: 3485 134. 5. 3.11.Llegada de Nodo Agregando un nuevo nodo 1.

Detalles de un requerimiento de recuperación de contenido. infraestructuras de servicios estandarizadas. Los Grids son sistemas distribuidos que habili-tan el uso coordinado en gran escala de recursos distribuidos geograficamente. La identidad y detalles del contenido. frecuentemente con una orientación al alto rendimiento. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . Capas de conexión anónima JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Peer-to-peer y Grids Peer-to-peer and Grid son dos propuestas de computación distribuida. ambas concernien-tes con la organización de recursos compar-tidos en sociedades computacionales en gran escala. basados en la persistencia. este anonimato puede referirse a: El autor (o quien publica) el contenido.Provisiones para el Anonimato Esto es primordial. Disociación de la fuente de contenido y quien la requiera. La identidad del nodo que almacena contenido.

se enfocan en tratar con la instantaneidad. sin embargo.Peer-to-peer y Grids En tanto que un sistema Grid se incrementa en escala comienza a requerir soluciones para la autoconfiguración. la forma de compartir inicialmente apuntada por peer-to-peer tiene una limitada funcionalidad. por otro lado. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer Peer-to-peer y Grids En resumen. Los sistemas peer-to-peer. Hoy en día. se puede decir que la computación Grid apunta a infraestructura pero no a fallas. proveyendo una distribución de contenidos global y un espacio de archivos compartidos sin ninguna forma de control de accesos. los desarrolladores de peer-topeer han trabajado principalmente en aplicaciones integradas más que en buscar definir protocolos comunes e infraestructuras estandarizadas para interoperabilidad. JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . la tolerancia a las fallas y la autoadaptación. tolerancia a las fallas y escalabilidad para lo cual la investigación en peer-to-peer tiene mucho para ofrecer. mientras que peer-to peer apunta a fallas pero no a infraestructura En adición a esto. las poblaciones transitorias.

colaboración por desktop y computación en la red. El resultado será una nueva clase de tecnologías combinando elementos de ambos. lo cual apuntará a escalabilidad.Peer-to-peer y Grids En tanto que las tecnologías peer-to-peer avancen hacia aplicaciones más sofisticadas y complejas. autoadaptación y recuperación de fallas al mismo tiempo que provee una infraestructura persistente y estandarizada para interoperabilidad. Agrupacion semántica de la información (Web semántica). ruteo y estructura de datos. más seguridad (más eficiente) y esquemas resistentes a la censura. tales como distribución de contenido estructurado. Convergencia de peer-to-peer y Grids JRA © 2009 Sistemas Distribuidos: Sistemas Peer-to-Peer . se espera que habrá una fuerte convergencia entre peer-to-peer computación Grid. seguridad y escalabilidad. Sistemas Distribuidos: Sistemas Peer-to-Peer JRA © 2009 Problemas Abiertos Diseño de nuevas formas de locación. sea cual fuera arquitectura Anonimato más seguro. hash distribuidos y algoritmos para maximizar el rendimiento.

Fin Módulo 8 Pasado y Futuro Primera y Segunda Generación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia “San Juan Bosco” .