módulo 8 pasado y futuro primera y segunda …€¦ · hay único punto de falla. octubre 2000:...
TRANSCRIPT
Módulo 8Pasado y Futuro
Primera y Segunda Generación
Facultad de IngenieríaDepartamento de Informática
Universidad Nacional de la Patagonia “San Juan Bosco”
Sistemas Distribuidos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sistemas Peer-to-Peer
Pasado y Futuro
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Pee r
2. Como comienza todo: Desde Arpanet hasta Peer-to-Pee r
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamen te descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Pee r
2. Como comienza todo: Desde Arpanet hasta Peer-to-Peer
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamente descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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
Que es P2P
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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.
Impactos de P2P
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
0 %
1 0 %
2 0 %
3 0 %
4 0 %
5 0 %
6 0 %
7 0 %
8 0 %
9 0 %
1 0 0 %
18.02.2
002
18.04.2
002
18.06.2
002
18.08.2
002
18.10.2
002
18.12.2
002
18.02.2
003
18.04.2
003
18.06.2
003
18.08.2
003
18.10.2
003
18.12.2
003
18.02.2
004
18.04.2
004
18.06.2
004
18.08.2
004
Tra
ffic
port
ions
in %
per
wee
k
U n id e n tif ie d
D a ta _ T ra n s fe rs
F ile _ S h a r in g
Impacto de P2P en el Backbone Abilene
Infraestructura del núcleo de Internet2,
conectando 190 universidades de EEUU y centros de investigación
Solo Signaling
Posibles transferencias
de datos
� No identificados + transferencia de datos + archivos compartidoscausan 90% del tráfico
� 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 � transferencia de
datos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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 extensión de las aplicaciones P2P.
0
50
100
150
200
250
300
18.02
.200
2
18.04
.200
2
18.06
.200
2
18.08
.200
2
18.10
.200
2
18.12
.200
2
18.02
.200
3
18.04
.200
3
18.06
.200
3
18.08
.200
3
18.10
.200
3
18.12
.200
3
18.02
.200
4
18.04
.200
4
18.06
.200
4
18.08
.200
4
traf
fic in
TB
yte
per w
eek
Unidentif ied
Data_Transfers
File_Sharing
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Razones para estas experiencias
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Peer
2. Como comienza todo: Desde Arpanet hasta Peer-to-Pee r
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamente descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Fines de los 1960: Establecimiento de ARPANET
� Objetivo: compartir recursos de computación y documentos entre centros de investigación en EEUU.
� Cada host es tratado equitativamente
� PERO: la red virtual coincide con la red física en toda su extensión.
� Aplicaciones: FTP y TelNet � modo cliente-servidor , con búsqueda y almacenamiento centralizado
� Un comité directivo central organiza la red
Desde ARPANET hasta Peer-to-Peer
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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- servidor
� ~1990 corrida del público en general hacia Internet
� Las aplicaciones siguen el enfoque cliente-servidor : WWW, email, streaming
� Basados en conexiones por modem via SLIP y PPP protocol
� Modelo directo para administrar y controlar la distribución de contenido.
� La seguridad resulta en un particionamiento por firewalls en Internet.
Desde ARPANET hasta Peer-to-Peer
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Peer
2. Como comienza todo: Desde Arpanet hasta Peer-to-Peer
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamente descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Mayo 1999: Disrupción de la comunidad Internet Primera Generación de P2P� Introducción de Napster.
� El usuario no solo consume y baja contenido sino que también ofrece y provee contenido a otros participantes.
� Los usuarios establecen una red virtual, 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.� Blanco: el servidor de búsqueda centralizada de Napster
� Febrero 2001: 2.79 miles de millones de archivos intercambiados via la red Napster por mes
� Julio 2001: Napster Inc. es condenado� Napster tiene que parar la operación del servidor Napster.
� Se disuelve la red Napster.
� PERO: aparecen una serie de sucesores disponibles.
La Historia de Napster
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Peer
2. Como comienza todo: Desde Arpanet hasta Peer-to-Peer
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamen te descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Marzo 2000: Nullsoft lanza Gnutella como un proyecto de fuente abierta
� Desarrollador Mayor: Gene Khan
� Adicionalmente a la funcionalidad del servent, los peers hacen tareas de ruteo.
� Completamente decentralizados, al no haber servidor central de búsqueda no hay único punto de falla.
� Octubre 2000: introducción de capas jerárquicas de ruteo.
Segunda Generación de P2P
� Gnutella: reflector/concepto de Superpeer
� Incrementa la escalabilidad significativamente.
� Variedad de protocolos decentralizados P2P:
� Audiogalaxy
� FastTrack/KaZaA
� iMesh
� Freenet
Gnutella y sus Parientes
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Agosto 2001
� Los usuarios se adaptan muy rápido a la caída de Napster
� Casi 3.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
Gnutella y sus Parientes. La historia continúa
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Mayo 2003
� Aparece Bittorrent
� Se observa de pronto mayor tráfico. Razón: su popularidad, pero también que los datos de usuarios es intercambiado vía canales señalados en contraste con Gnutella, edonkey,…
� Mediados de 2003
� Mas allá de intercambios de contenidos, 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, para usar P2P en redes móviles.
� Ebay compra a mediados de 2005 Skype para usar el paradigma de comunicación entre compradores y vendedores
Gnutella y sus Parientes. La historia continúa
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Desarrollo de Aplicaciones P2P
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
18.0
2.20
02
18.0
5.20
02
18.0
8.20
02
18.1
1.20
02
18.0
2.20
03
18.0
5.20
03
18.0
8.20
03
18.1
1.20
03
18.0
2.20
04
18.0
5.20
04
18.0
8.20
04
data
volu
mes
in %
per
wee
k
FreenetDirect Connect++CarrachoBlubsterNeo-M odusFastTrackWinM XShoutcastAudiogalaxyeDonkey2000HotlineGnutellaB itTorrent
BitTorrent
FastTrack
Gnutellaedonkey
Shoutcast
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.02.2002 hasta 18.010.2004
Data source: http://netflow.internet2.edu/weekly/
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Status Quo: Redes saturadas con tráfico Peer-to-Peer
2. Como comienza todo: Desde Arpanet hasta Peer-to-Peer
3. La historia de Napster
4. Gnutella y sus parientes: Arquitecturas completamente descentralizadas
5. Fuerzas motoras detrás de Peer-to-Peer
Revisión
1) Freenet2) Buzzpad3) WuWu1)
2)
3)
Aplicaciones P2P relevantes en el año 2001
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Desarrollo de las capacidades terminales:
� 1992:
� Tamaño medio de discos: ~0.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
Fuerzas Motoras detrás de Peer-to-PeerEl desarrollo de las capacidades físicas y técnicas de las redes y las capacidades participativas.
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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.5Mbps via conexiones comunes telefónicas
� La desregulación del mercado telefónico muestra el primer efecto con una significativa reducción de tarifas, debido al incremento de la competencia en la “última milla” � ancho de banda pleno y barato!
Fuerzas Motoras detrás de Peer-to-Peer
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
�No hay una clara distinción
�Algunos casos tienden a confundir
Las Aplicaciones P2P puedes ser clasificadas por los recursos compartidos
Clasificación Convencional Clasificación de P2P
�Archivos Compartidos (Napster, Gnutella, Freenet)
�Grid Computing (SETI@home)
�Mensajería Instantánea (ICQ, 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
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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, si están o no disponibles para comunicación.
Presencia de Información
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Presencia de Información
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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.
� 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.
� Agregado de información autoorganizada desde áreas del conocimiento.
Manejo de Documentos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Manejo de Documentos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Colaboración:
� Miembros de grupos de trabajo pueden comunicarse sincronicamente, conducir reuniones en línea y editar documentos compartidos.
� Groupware:
� ofrece funciones como mensajería instantánea, archivos compartidos, notificaciones, “pizarrones”, conferencias de voz y bases de datos con sincronización en tiempo real.
� Pueden iniciarse groupware basados en cliente-servidor y administrado en el servidor por cada grupo de trabajo.
� P2P groupware evita tareas adicionales administrativas y manejo central de datos:
� Los datos creados son almacenados en cada peer y están sincronizados automaticamente.
� Los usuarios pueden iniciar ambientes de trabajos compartidos para equiposvirtuales (shared spaces).
� Pueden invitar a otros a sus equipos.
Colaboración
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Colaboración
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Archivos compartidos:
� Almacena contenidos en nodos individuales en vez de un lugar central.
� Peers que bajan archivos los ponen disponibles para otros peers.
� El 70% del tráfico de Internet puede ser atribuido a intercambio de archivos.
� Es la aplicación más extendido de los sistemas P2P.
� Problema de Búsqueda:
� Localizar recursos es, en general, un problema central de las redes P2P y compartir archivos en particular.
� Las redes P2P proveen diferentes métodos para almacenaje, búsqueda y recuperación de los archivos:
� Modelo de Directorio Centralizado.
� Modelo de requerimieno por “inundación” .
� Modelo de ruteo de Documentos.
Archivos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Modelo de Directorio Centralizado:
� Ejemplo perfecto de sistema P2P híbrido
� El servicio de indexado es provisto centralmente por una entidad de coordinación.
� Un requrimiento de búsqueda es atendido por la entidad coordinadora que presenta una lista de peers que tienen los archivos requeridos .
� Luego el peer obtiene los archivos respectivos directamente de los otros peers que los ofrecen.
� Características:� La búsqueda de documentos existentes puede ser garantizada. � El servicio de indexado es “Un Único Punto de Falla ”.
� Ejemplo: “Primer” Napster� Compartía archivos de música.� “Bajado” por la justicis.
Modelo de Directorio Centralizado
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
? Prince
purple rain ? ! Prince
purple rain !
Base de Datos Central con
Índice de todos los archivos compartidos
Mr. Müller comparte varios archivos MP3.
Mr. Arayama comparte varios archivos MP3 también.
Modelo de Directorio Centralizado
! Prince
purple rain !@ Mr. Arayama
? Prince purple rain ?
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Modelo de Requerimiento por “Inundación”:� Sistema P2P atómico
� Sin autoridad central de coordinación (todos los peers son iguales).
� El requerimiento de búsqueda es pasado sobre un deteminado número de peers.
� Si no pueden responder el requerimiento, lo pasan sobre otros nodos hasta cierto nivel de profundidad (ttl=time-to-live).
� Cuando el archivo requerido ha sido localizado, los resultados positivos de la búsqueda son enviados a la entidad que los requirió.
� El peer puede ahora bajar el archivo deseado directamente de as entidades que lo ofrecen.
� Características:� La búsqueda de documentos existentes no puede ser garantizada. � El sistema no escala bien.
� Ejemplo: Gnutella� Extensión: FastTrack
� “Super Peers” como proxies. � El sistema P2P no es más atómico.
Modelo de Requerimiento por “Inundación”
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Mr. Müller está
buscando por PrinceNo hay
Base de Datos central
?
?
?
?
?
?
? ? ?
http://www.gnutelliums.com/
Modelo de Requerimiento por “Inundación”
?
Mr. Arayama ofrece Prince
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Modelo de ruteo de Documentos:� Sin autoridad central de coordinación (todos los peers son iguales).� Los archivos no están almacenados en el HD de los peers que lo proveen.� Los archivos está almacenados en otras locaciones de la red P2P.
� Asigna responsabilidad por un conjunto de archivos a cada peer (de acuerdo a una función definida).
� Rutea archivos a peers asociados que los almacenan.� Se usa una función definida para para determinar el peer asociado cuando hay un
requerimiento.� Se baja el archivo del peer asociado.
� 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.
� Ejemplos: � Pastry, Chord, CAN, Tapestry, Freenet..
Modelo de ruteo de Documentos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Típico Enfoque Centralizado:
� Los archivos son dejados en el servidor por un proveedor de información.
� El archivo es transferido desde allí al cliente que lo requirió.
� 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.
Ancho de Banda
Unicast
Router
Receiver Receiver
Router
Router
Receiver Receiver Receiver
Router
Sender
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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.
Incremento del Balance de Carga
Router
Sender
Router
Receiver/Sender
Receiver/Sender
Router
Receiver/Sender
Receiver/Sender
Receiver/Sender
Receiver/Sender
Receiver/Sender
Unicast Peer-to-Peer :Inicialmente los requerimientos
de archivos son atendidos por un servidor central.
En adelante los requerimientos son automáticamente enviados a peers dentro de la red que han recibido y replicado estos archivos.
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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:
Incremento del Balance de Carga
new
new
new
newnew
new
info channel
info channel
info channel
info channel
info channel
info channel
info channel
new
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Enfoques Basados en P2P
� También facilita el uso compartido del ancho de banda provisto por losproveedores de información.
� Enfoque de Segmentación:
Uso Compartido del Ancho de Banda
DocDoc
Part3
Part3Part2
Part2 Part
3
Part3
Part1
Part1
Part1
Part1
Part2
Part2Part
3
Part3
Part1
Part1 Part
2
Part2
Part2
Part2Part3
Part3
Part3
Part3
DocDoc
DocDoc
DocDoc
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Conceptos de Diseños Centralizados Usados para Datos en una Compañia:
� Desventajas:� Uso ineficiente del almacenaje disponible.
� Carga adiciona en la red de la compañia.
� Necesidad de personal entrenado.
� Soluciones adicionales de respaldo.
DAS, NAS, SAN
� Direct Attached
Storage (DAS)
� Network Attached
Storage (NAS)
� Storage Area
Networks (SAN)
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Una Red de Almacenaje P2P es un cluster computadoras, formado sobre la base de redes existentes, que comparten todo el almacenaje disponible en la red.
� Ejemplos: PAST, Pasta, OceanStore.
� Organización:
� Cada peer recibe un par de claves pública/privada .
� 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).
� Cada peer debe tener disponible algo de su propio almacenaje y paga una tarifa.
� Correspondiente a su contribución, a cada peer le es asignado un volumen máximo de datos que puede ser agregado a la red.
� 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).
� Almacenar y buscar un archivo en la red se hace de la manera descripta en el modelo de ruteo de documentos.
Almacenaje en Redes P2P
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Construcción
Almacenaje en Redes P2P
3ID
25ID
4ID
Hello ???
Hello ???1ID
Hash
vecinos
3
4
25
1ID
4ID
25ID
3ID
17ID
10ID
8ID
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Almacenar Documentos
Almacenaje en Redes P2P
1ID
4ID
25ID
3ID
17ID
10ID
8ID
3
4
25
1
17
25
1
4
10
3
4
8
1
10
17
10
17
3
8
25
Hash11ID
11ID
11ID
11ID
11ID
11ID
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Recuperar Documentos
Almacenaje en Redes P2P
1ID
4ID
25ID
3ID
17ID
10ID
8ID
3
4
25
1
17
25
1
4
10
3
4
8
1
10
17
10
17
3
8
25
11ID
11ID11ID
requestor: 1
11ID
11IDrequestor:
1
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
1. Información1. Presencia de Información2. Manejo de Documentos3. Colaboración
2. Archivos1. Modelo de Directorio Centralizado2. Modelo de Requerimientos por Inundación3. Modelo de Ruteo de Documentos
3. Ancho de Banda1. Balance de Carga Incrementado2. Uso Compartido del Ancho de Banda
4. Espacio de Almacenaje1. DAS, NAS, SAN2. Redes de Almacenaje P2P
5. Ciclos de Procesador
Revisión
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Incremento de Requerimientos para Computación de Alto Rendimiento� i.e. campo de la bio-informática, logística o sector financiero.
� 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.
� Lograr poder de computación que aún las más caras super-computadoras escasamente ofrecen.
� “Grid Computing”
� Ejemplos: � Ejemplo popular: SETI@home
� Calcula durante ciclos ociosos del procesador de los peers participantes.
� Visón advanzada de grid computing: Globus Toolkit� Middleware standard para aplicaciones grid.
Ciclos de Procesador
Nota:Nota:
El nEl núúcleo de SETI@home es una cleo de SETI@home es una
clcláásica aplicacisica aplicacióón Clienten Cliente--Servidor.Servidor.
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sistemas Peer-to-Peer
Primera y Segunda Generación
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Arquitecturas de la Primera y Segunda Generación de P2P
Cliente-Servidor Peer-to-Peer
1. El Servidor es la entidad central y el único proveedor del servicio y contenido.� La red es manejada por el servidor
2. El Servidor es el sistema de más alto rendimieno.
3. El Cliente es el sistema d más bajo rendimiento
Ejemplo: WWW
1. Los recursos son compartidos entre peers
2. Los recursos pueden ser accedidos directamente desde otros peers
3. Concepto de Servent
P2P sin Estructura P2P Estructurado
P2P Centralizado P2P Puro P2P Híbrido Basado en DHT
1. Todas las características de P2P incluidas
2. Una entidad central es necesaria para proveer el servicio
3. La entidad central es una especie de Db índice/grupo
Ejemplo: Napster
1. Todas las características de P2P incluidas
2. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad
3. � Entidades no central es
Ejemplos: Gnutella 0.4, Freenet
1. Todas las características de P2P incluidas
2. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad
3. � Enidades centrales dinámicas
Ejemplo: Gnutella 0.6, JXTA
1. Todas las características de P2P incluidas
2. Alguna entidad terminal puede ser removida sin pérdida de funcionalidad
3. � Entidades no central es
4. Las conexiones en overlay son “fijas”
Ejemplos: Chord, CAN
1st Gen. 2nd Gen.
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Servents
Red P2P Datos
Servidor
Cliente
Encaminamiento
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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.g. mp3)
� La entidad central es necesaria para proveer el servicio.
� La entidad central es una clase DB índice/grupos
� La entidad central es la tabla de búsqueda/ruteo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Topología de P2P Centralizado
ServentConexión entre2 servents (TCP)
Conexión entre ruteadores y serventsConexión entre ruteadores (Core)
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Napster
Metaservidor
Servidor
Napster:8888
Servidor
Napster:8888
Servidor
Napster:8888
Servidor
Napster:8888
ClienteCliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Descarga
Descarga
Login
Cliente
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Napster
Servidor Napster Cliente Napster Metaservidor Napster
Connect
Devuelve direcciónde servidor Napster
Login (tipo 2)
Login ack (tipo 3)
version check (tipo 4)
Mensajes de notificaciónde archivos compartidos
(tipo 100)
(tipo 100)
(tipo 100)
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Napster
Servidor NapsterCliente Napster
que requiere un recurso
Cliente Napster
que posee el recurso
Connect
"1"
Download request(tipo 203)
Download ack(tipo 204)
Tamaño del archivo
Archivo
GET nick"nombre_archivo" offset
Downloading file (tipo 218)
Uploading file (tipo 220)
Archivo
Archivo
Archivo
Download complete (tipo 219)
Upload complete(tipo 221)
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Topología de P2P puro
ServentConexión entre2 servents (TCP)
Conexión entreruteadores y serventConexión entreruteadores (Core)
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Gnutella
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Se toma como ejemplo la redGnutella
Constituye una red solapada virtual con mecanismos propios de ruteo
No hay coordinación central de actividades en la red.
El software de soporte son “servents”.
Usa IP como red subyacente, mientras que la comunicación entre servents está especificada en forma de protocolo a nivel de aplicación.
Gnutella
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Se basa en cuatro primitivas
Ping: Requerimieno de un host para autoanunciarse
Pong: Respuesta al Ping. Contiene el IP y el pórtico del host que responde, el número y tamaño de archivos compartidos.
Query: Un requerimiento de búsqueda. Contiene un string de búsqueda y los mínimos requerimientos de velocidad del host que responde.
QueryHits: respuesta a Query. Contiene IP, pórtico y velocidad, el número de archivos encontrados y el conjunto de índices resultado.
Protocolo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Luego de unirse a Gnutella (conectándose a los nodos encontrados en la base de datos gnutellahost.com), el nodo envía un Ping al nodo al cual está conectado. Los nodos responden Pong identificándose y propagando el Ping a sus vecinos.
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.
Gnutella usa broadcast para distribuir Ping y Query.
Protocolo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Cada nodo los envía a sus vecinos y las respuestas hacen el camino inverso.
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.
Una vez que el nodo recibe un QueryHints inicia con esos datos una conexión directa entre dos nodos.
La imposición del TTL impone un horizonte a cada cliente.
Protocolo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Protocolo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sumario de señalamiento en Gnutella 0.4
1
7
3
2
4
5
6
8
Gnu-ConGnu-Con
Peer7 Peer3 Peer1 Peer5 Peer2 Peer4 Peer6
Gnu-ConOKOK
OK
PINGPING
PINGPINGPING PING
PING
PONG
PINGPING
PING
PONG
PONG
PONG
Peer8
PING
PONGPONG
PONG
PONG
PONGPONG
PONG
PONG
PING
Ejemplo de red Gnutella 0.4
Ejemplo de protocolo de mensajes de acuerdo con la red del ejemplo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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, dependiendo del tamaño de la red)
� Leafnodes: conectado a uno o más Superpeers (<7)
Superpeer
leafnode
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Gnutella 0.6: Como trabaja
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Edonkey
� Kazaa/FastTrack
� Emule
� OpenNap
� …
Sistemas P2P basados en P2P híbridos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sumario de señalamiento en Gnutella 0.6
Ejemplo de red Gnutella 0.6
Secuencia de mensajes de acuerdo al ejemplo de red:
4L1 L3
S2
S3
S1
L2
L5
L4
L6
L7
Gnu-Con
L2 L3 L1 S1 S3 S2 L7
OK
PONG
L6 L5 L4
RTU
PING
PONGPONG
PING
PINGPONG
PONG
PINGPING
QUERYQUERY
QUERY
QUERYQUERY
QUERYQUERY
QUERY
QUHIT
QUHIT QUHITQUHIT
QUHITQUHIT
QUHITQUHIT
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Sobrecarga de Comunicación vs. estado del nodo
Motivación de Indexado Distribuido
Sobrecarga Communicación
Estado Nodo
Flooding
CentralServer
O(N)
O(N)O(1)
O(1)
O(log N)
O(log N)
Cuello de botella:•Sobrecarga Comunicación•Falso negativos
Cuellos de botella:•Memoria, CPU, red•Disponibilidad?
Solución escalable entre ambos extremos?
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Sobrecarga de Comunicación vs. estado del nodo
Motivación de Indexado DistribuidoSobrecarga Communicación
Estado Nodo
Flooding
CentralServer
O(N)
O(N)O(1)
O(1)
O(log N)
O(log N)
Cuello de botella:•Sobrecarga Comunicación•Falso negativos
Cuellos de botella:•Memoria, CPU, red•DisponibilidadDistributed
Hash Table
� Escalabilidad: O(log N)
� No falsos negativos
� Resistencia contra cambios� Fallas, Ataques
� Usuarios por corto tiempo
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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
Fundamentos de DHT
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Secuencia de operaciones
1. Mapeo de nodos y datos en el mismo espacio de direc ciones
� 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. 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
Manejo Distribuido de Datos
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Paso 1: Mapeo de contenido/nodo en espacio lineal
� Usualmente: 0, …, 2m-1 >> número de objetos a ser almacenados
� Mapeo de datos y nodos en el espacio de direcciones (con hash)
�Ej., Hash(String) mod 2m: H(„my data“) � 2313
� Asociación de partes de espacio de direcciones a nodos HT
Direccionamiento en DHT
H(Node Y)=3485
3485 -610
1622 -2010
611 -709
2011 -2206
2207-2905
(3485 -610)
2906 -3484
1008 -1621
Y
X
2m-1 0
Frecuentemente, el espaciode direccioneses visto como un círculo.Data item “D”:
H(“D”)=3107 H(Node X)=2906
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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
Asociación del espacio de direcciones con nodos
Vista lógica de DHT
Mapeo a la topología real
2207
29063485
201116221008709
611
Nodo 3485 es responsable por items de datos en rango 2907 to 3485
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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)
Paso 2: Ruteo de un item de dato
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Ruteo de un par K/V
� Comienza la búsqueda en un nodo arbitrario de DHT
� Ruteo del dato requerido (key)
Paso 2: Ruteo de un item de dato
(3107, (ip, port))
Value = puntero a la locación del dato
Key = H(“my data”)
Nodo 3485 administra las claves 2907-3485,
Initial node(arbitrary)
H(„my data“)= 3107
2207
2906
3485
20111622
1008
709
611
?
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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)
Paso 2: Ruteo de un item de dato
H(„my data“)= 3107
2207
2906
3485
20111622
1008
709
611
?
Get_Data(ip, port)
Nodo 3485 envía (3107, (ip/port)) al peticionante
En caso de almacenaje indirecto:Luego de conocer la locación
El dato es requerido
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� ¿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.k., si los datos son pequeños (<1KB)
Asociaci ón de datos con IDs – Almacenaje Directo
DD
134.2.11.68
2207
29063485
201116221008709
611
HSHA-1(„D“)=3107
D
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Almacenaje Indirecto
� Nodos en una DHT almacenan tuplas como (key,value)
�Key = Hash(„my data”) � 2313
�Value es una dirección real de almacenaje de contenido:(IP, Port) = (134.2.11.140, 4711)
� Más flexible, pero un paso más para alcanzar el contenido
Asociaci ón de datos con IDs – AlmacenajeIndirecto
2207
29063485
201116221008709
611
HSHA-1(„D“)=3107
Item D: 134.2.11.68D
134.2.11.68
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� Agregando un nuevo nodo
1. Cálculo del ID del nodo
2. El nuevo nodo contacta DHT via un nodo arbitrario
3. Le asigna un particular rango hash
4. Copia de los pares K/V del rango hash (usualmente con redundancia)
5. Mapeo en el ambiente de ruteo
Llegada de Nodo
2207
29063485
201116221008709
611
ID: 3485
134.2.11.68
�
�
�
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
� 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
Falla del Nodo/Partida
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Esto es primordial, este anonimato puede referirse a:
El autor (o quien publica) el contenido.
La identidad del nodo que almacena contenido.
La identidad y detalles del contenido.
Detalles de un requerimiento de recuperación de contenido.
Disociación de la fuente de contenido y quien la requiera.
Capas de conexión anónima
Provisiones para el Anonimato
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
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.
Los Grids son sistemas distribuidos que habili-tan el uso coordinado en gran escala de recursos distribuidos geograficamente, basados en la persistencia, infraestructuras de servicios estandarizadas, frecuentemente con una orientación al alto rendimiento.
Peer-to-peer y Grids
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
En tanto que un sistema Grid se incrementa en escala comienza a requerir soluciones para la autoconfiguración, tolerancia a las fallas y escalabilidad para lo cual la investigación en peer-to-peer tiene mucho para ofrecer.
Los sistemas peer-to-peer, por otro lado, se enfocan en tratar con la instantaneidad, las poblaciones transitorias, la tolerancia a las fallas y la autoadaptación.
Hoy en día, sin embargo, los desarrolladores de peer-to-peer han trabajado principalmente en aplicaciones integradas más que en buscar definir protocolos comunes e infraestructuras estandarizadas para interoperabilidad.
Peer-to-peer y Grids
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
En resumen, se puede decir que la computación Grid apunta a infraestructura pero no a fallas, mientras que peer-to peer apunta a fallas pero no a infraestructura
En adición a esto, la forma de compartir inicialmente apuntada por peer-to-peer tiene una limitada funcionalidad, proveyendo una distribución de contenidos global y un espacio de archivos compartidos sin ninguna forma de control de accesos.
Peer-to-peer y Grids
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
En tanto que las tecnologías peer-to-peer avancen hacia aplicaciones más sofisticadas y complejas, tales como distribución de contenido estructurado, colaboración por desktop y computación en la red, se espera que habráuna fuerte convergencia entre peer-to-peer computación Grid.
El resultado será una nueva clase de tecnologías combinando elementos de ambos, lo cual apuntará a escalabilidad, autoadaptación y recuperación de fallas al mismo tiempo que provee una infraestructura persistente y estandarizada para interoperabilidad.
Peer-to-peer y Grids
Sistemas Distribuidos: Sistemas Peer-to-PeerJRA © 2009
Diseño de nuevas formas de locación, ruteo y estructura de datos, hash distribuidos y algoritmos para maximizar el rendimiento, seguridad y escalabilidad, sea cual fuera arquitectura
Anonimato más seguro, más seguridad (más eficiente) y esquemas resistentes a la censura.
Agrupacion semántica de la información (Web semántica).
Convergencia de peer-to-peer y Grids
Problemas Abiertos
Módulo 8Pasado y Futuro
Primera y Segunda Generación
Facultad de IngenieríaDepartamento de Informática
Universidad Nacional de la Patagonia “San Juan Bosco”
Fin