Professional Documents
Culture Documents
Contenido
Introducción
Objetivos
Caracteristicas
Aplicaciones
Generaciones
● 1G Napster
∙Servidores de índices
∙ Índices unificados para cada archivo
∙Localidad en la red
archivos
∙ Se asignan servidores lo más cercanos al cliente
∙ Cliente BitTorrent
–Cualquier programa que implemente el protocolo BitTorrent
–Capaz de preparar, transmitir y solicitar cualquier archivo
– Peer: cualquier computador con una instancia de cliente
BitTorrent
– Nombre y longitud
– URL del tracker: servidor centralizado requerido que
coordina la distribución del archivo
– Checksum de cada chunk, obtenido mediante un algoritmo
de encriptado (típicamente, SHA-1)
3G: Middleware P2P
Requerimientos Funcionales:
● Simplificación de servicios
● Habilidad en la localización de recursos
● Interfaz de programación sencilla
Requerimientos no Funcionales
● Escalabilidad Gobal: explotación de recursos de hardware
de la internet
● Distribución blanceada de la carga
● Optimización de interaciones locales entre los puntos
vecinos
● Capacidad de disponibilidad dinámica de repositorios
● Seguridad de los datos en ambientes heterogéneos
● El anonimato, la negación y la resistencia a la censura
Distribución de la información en enrutamientos superpuestos
IP Overlay
Escala IPv4 está limitado a 232 nodos El espacio de nombres GUID es muy grande y
direccionables. El espacio de nombres plano (> 2128), lo que le permite estar mucho
IPv6 es mucho más generoso (2128). más ocupado.
Estructura jerárquica.
Balance de carga Las cargas en los routers están Las ubicaciones de los objetos pueden ser
determinadas por la topología de la red y asignadas al azar y, por lo tanto, los patrones
los patrones de tráfico asociados. de tráfico están divorciados de la topología de
la red.
Dinámica de red Las tablas de enrutamiento IP se Las tablas de enrutamiento se pueden
actualizan asincrónicamente en base de un actualizar de forma síncrona o asincrónica con
mejor esfuerzo con constantes de tiempo retornos de fracciones de segundo.
en el orden de 1 hora.
Tolerancia a La redundancia está diseñada en la red IP por Las rutas y referencias a objetos pueden ser
fallos sus gestores, garantizando la tolerancia de un replicadas n veces, asegurando la tolerancia
único enrutador o fallo de conectividad de red. de n fallas de nodos o conexiones.
La replicación es costosa.
Identificación del Cada dirección IP se asigna exactamente a Los mensajes se pueden enrutar a la réplica
objetivo un nodo objetivo. más cercana de un objeto de destino.
Seguridad y El direccionamiento sólo es seguro cuando La seguridad se puede lograr incluso en
Anonimato se confía en todos los nodos. El anonimato entornos con una confianza limitada. Se
para los propietarios de direcciones no es puede proporcionar un grado limitado de
alcanzable. anonimato.
Interfaz de programación básica para una tabla hash distribuida (DHT)
como esta implementada en PAST API sobre Pastry
put(GUID, data)
The data is stored in replicas at all nodes responsible for the object
identified by GUID.
remove(GUID)
Deletes all references to GUID and the associated data.
value = get(GUID)
The data associated with GUID is retrieved from one of the nodes
responsible it.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Caso de Estudio: PASTRY
peer-to-peer
Caso de Estudio: PASTRY
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Fase II: primera cuatro filas de una tabla de enrutamiento de Pastry
La tabla de enrutamiento se encuentra en un nodo cuyo GUID comienza 65A1. Los dígitos están en
hexadecimal. El n’s representa par [GUID, IP address] que especifique el siguiente salto que deberá adoptar
los mensajes dirigidos a los GUID que responden a ese prefijo. Entradas en gris indican los prefijos que
corresponden con el GUID actualen los valores dados de p: la siguiente fila hacia abajo o el conjunto de la
hoja debe ser examinada para encontrar una ruta. Aunque hay un máximo de 128 filas de la tabla , sólo log16
N filas estarán poblados en promedio en una red con N nodos activos .
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Fase II: ejemplo de enrutamiento Pastry Basado en Rowstron and Druschel [2001]
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Fase II: algoritmo de enrutamiento Pastry
publish(GUID)
GUID can be computed from the object (or some part of it, e.g. its
name). This function makes the node performing a publish operation the
host for the object corresponding to GUID.
unpublish(GUID)
Makes the object corresponding to GUID inaccessible.
Réplicas del archivo Phil”sBook (G = 4378 ) se alojan en los nodos 4228 y AA93. Nodo
4377 es el nodo raíz para el objeto 4378. El enrutamiento Tapestry se muestran en
algunas de las entradas de las tablas de enrutamiento. Las rutas de publicación
muestran rutas que siguen los mensajes publicar el que se establecen el caché de
asignaciones de ubicación para el objeto 4378. Las asignaciones de ubicación se
utilizan posteriormente para encaminar Los mensajes enviados a 4378 .
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012