49
Integrantes: Astrid Paravisini Eduardo Anuel Iván Aponte Jorge González Gian Piero Bandieramonte

Peer-to-Peer Computing

  • Upload
    orsin

  • View
    57

  • Download
    1

Embed Size (px)

DESCRIPTION

Peer-to-Peer Computing. Integrantes: Astrid Paravisini Eduardo Anuel Iván Aponte Jorge González Gian Piero Bandieramonte. Puntos a Tratar Introducción General Concepto Básico Características Arquitectura Tipos de Peer - to - Peer Computing según su uso Comunicación Skype - PowerPoint PPT Presentation

Citation preview

Page 1: Peer-to-Peer Computing

Integrantes:

Astrid Paravisini Eduardo AnuelIván AponteJorge González Gian Piero Bandieramonte

Page 2: Peer-to-Peer Computing

Puntos a Tratar

• Introducción General•Concepto Básico•Características• Arquitectura

• Tipos de Peer - to - Peer Computing según su uso•Comunicación

•Skype•Datos

•Gnutella•Bitorrent•DAS

•Computo•BLAST

Page 3: Peer-to-Peer Computing

Introducción General

Un acercamiento al concepto de P2P …

12

8

56

4

7

3

Servidor

81

7

45

3

6

2

Modelo Cliente-Servidor Modelo P2P

Servidor

Page 4: Peer-to-Peer Computing

Introducción General

Un acercamiento al concepto de P2P …

Servidor MailCliente 1

Servidor de Red

Servidor de Archivos Cliente 2

1

2

3

Cliente 1

Servidor de Red

Servidor de Red

Cliente 2

1

23

Modelo Cliente-Servidor

Modelo P2P

4

Hola.c

Hola.c

Servidor de Red

Page 5: Peer-to-Peer Computing

Introducción General

Una definición formal:

P2P es modelo de computación basado en redes para aplicaciones en las cuales las computadores comparten recursos mediante interacciones directas entre las computadoras participantes.

Dicha definición resalta 2 elementos importantes en P2P:

- Intercambio de Recursos

- Comunicaciones directas entre los participantes.

Page 6: Peer-to-Peer Computing

Introducción General

Una característica importante :

Interoperabilidad

Permite :- Interacción entre distintos tipos de equipos en un ambiente P2P.

- Correr aplicaciones en distintas arquitecturas hardware con distintos sistemas operativos.- Comunicación entre las aplicaciones P2P.

Lo provee:Una infraestructura o “middleware” común.

Page 7: Peer-to-Peer Computing

Introducción General

Otras características:

- Descentralización

- Permite la creación de comunidades en línea- Organización automática- Dinámicas- Larga Duración- Colaborador

Page 8: Peer-to-Peer Computing

Introducción General

Tipos de P2P

- P2P PuroTodos los participantes son “Peers”; es decir, llevan a cabo funciones de cliente y servidor.

- P2P Hibrido Existen computadores que solo llevan a cabo funciones de

servidor en una escala dependiente de la aplicación que se desea ejecutar.

Ejemplo : Napster No es P2P puro, es P2P Hibrido.

Page 9: Peer-to-Peer Computing

Introducción General

Qué Recursos pueden ser compartidos?

- Archivos o datos : Música, video, u otros tipos de datos.

- El almacenamiento puede ser compartido.

- La información puede ser compartida.

- Los servicios pueden ser compartidos y manejados cooperativamente por los peers. La mensajeria y la seguridad son 2 ejemplos de dichos servicios.

Page 10: Peer-to-Peer Computing

Introducción General

Algunas Aplicaciones de P2P

- Juegos en línea

- Buscadores

- Protección contra Virus

Page 11: Peer-to-Peer Computing

Introducción General

Arquitectura

Aplicaciones P2P

Infraestructura Física

P2P Middleware

Page 12: Peer-to-Peer Computing

Infraestructura Física

Introducción General

Arquitectura

- Todos los equipos participantes- Las redes que conectan los equipos- Los sistemas operativos que se usan en cada nodo- Los protocolos de comunicación

Page 13: Peer-to-Peer Computing

Infraestructura Física

Introducción General

Arquitectura

laptop

Pc domestico

Servidor linux

Servidor win 2000

Computadora win 98

firewall

internet

Servidor linux

Banda ancha

DSL

modem

wireless

Page 14: Peer-to-Peer Computing

Introducción General

Arquitectura

- Representan las aplicaciones al nivel de usuario.

- Solo aplicaciones que se aprovechan del potencial que proveen los servicios P2P.

Aplicaciones P2P

Page 15: Peer-to-Peer Computing

Introducción General

Arquitectura

- Representa la infraestructura del P2P.- Middleware es software que integra tanto la capa física como la capa de las aplicaciones. - Esta capa funciona como una capa de traducción o de conversión.

P2P Middleware

Page 16: Peer-to-Peer Computing

P2P de comunicaciónP2P de comunicación

Page 17: Peer-to-Peer Computing

Skype -- HistoriaSkype -- Historia Creado por los desarrolladores de KaZaACreado por los desarrolladores de KaZaA Se diferencia de otros clientes VoIP por ser Se diferencia de otros clientes VoIP por ser

peer-to-peerpeer-to-peer Funciona con distintos tipos de firewalls y Funciona con distintos tipos de firewalls y

NATsNATs Protocolo privadoProtocolo privado Comprado por eBayComprado por eBay

Page 18: Peer-to-Peer Computing

Skype – DescripciónSkype – Descripción EntidadesEntidades

Nodos ordinariosNodos ordinarios Supernodos (SN)Supernodos (SN) Login ServerLogin Server

Page 19: Peer-to-Peer Computing

Skype – DescripciónSkype – Descripción Lista dinámica y descentralizada Lista dinámica y descentralizada

de SNde SN Lista local de contactosLista local de contactos Routing inteligenteRouting inteligente Seguridad (AES)Seguridad (AES)

Page 20: Peer-to-Peer Computing

Skype – FuncionamientoSkype – Funcionamiento LoginLogin

Page 21: Peer-to-Peer Computing

Skype – FuncionamientoSkype – Funcionamiento Determinación del firewall o NATDeterminación del firewall o NAT

Modificación de STUN Modificación de STUN Creación de tabla de nodosCreación de tabla de nodos BúsquedaBúsqueda

Mensaje TCP al SNMensaje TCP al SN Mensaje UDP a otros nodosMensaje UDP a otros nodos

LlamadasLlamadas Conexión TCPConexión TCP Envío de datos UDPEnvío de datos UDP

Page 22: Peer-to-Peer Computing

P2PP2P de Datos de Datos

Page 23: Peer-to-Peer Computing

Gnutella -- HistoriaGnutella -- Historia Totalmente P2PTotalmente P2P Aparece en Marzo 2000Aparece en Marzo 2000 La versión oficial solo duró un día en La versión oficial solo duró un día en

la web la web A partir del protocolo se crearon A partir del protocolo se crearon

varios clientes, tanto open source y varios clientes, tanto open source y closed source.closed source.

Los más populares son Limewire, Los más populares son Limewire, Bearshare, ShareazaBearshare, Shareaza

Page 24: Peer-to-Peer Computing

Protocolo GnutellaProtocolo Gnutella El protocolo no especifica servidores, al ser El protocolo no especifica servidores, al ser

totalmente P2P se conecta directamente a otro totalmente P2P se conecta directamente a otro nodo. nodo.

Cuando un nodo se trata de conectar a la red Cuando un nodo se trata de conectar a la red este debe conocer los nodo de antemano. No este debe conocer los nodo de antemano. No hay una forma especifica de conocerlos. hay una forma especifica de conocerlos.

Entre las formas de hacer el bootstrap están Entre las formas de hacer el bootstrap están listas de nodos en sesiones anteriores, listas de nodos en sesiones anteriores, conocimiento del usuario mediante chats o conocimiento del usuario mediante chats o sistemas como Gwebcache.sistemas como Gwebcache.

Luego de conocer un nodo funcional se inicia el Luego de conocer un nodo funcional se inicia el proceso de handshaking. Ambos nodos proceso de handshaking. Ambos nodos intercambian sus capacidades. Si el servidor intercambian sus capacidades. Si el servidor no puede aceptar la conexión, este refiera la no puede aceptar la conexión, este refiera la cliente a otro nodo. cliente a otro nodo.

Page 25: Peer-to-Peer Computing

Protocolo GnutellaProtocolo Gnutella Al hacer una búsqueda se manda un mensaje Al hacer una búsqueda se manda un mensaje

a todos los nodos a los cuales se esta a todos los nodos a los cuales se esta conectado. Estos a su vez mandan el mensaje conectado. Estos a su vez mandan el mensaje a sus nodos conectados pero decrementan un a sus nodos conectados pero decrementan un campo de TTL.campo de TTL.

Cuando un nodo recibe un mensaje de Cuando un nodo recibe un mensaje de búsqueda y éste busca en sus archivos y el búsqueda y éste busca en sus archivos y el archivo existe el nodo en cuestión responde archivo existe el nodo en cuestión responde con un mensaje query hit al nodo que pasó el con un mensaje query hit al nodo que pasó el mensajemensaje

También se responde un query hit si alguno de También se responde un query hit si alguno de los nodos responde conectados responde con los nodos responde conectados responde con query hit. query hit.

Page 26: Peer-to-Peer Computing

Protocolo GnutellaProtocolo Gnutella

Page 27: Peer-to-Peer Computing

Protocolo GnutellaProtocolo Gnutella Luego de encontrado el archivo y Luego de encontrado el archivo y

devueltos los Query results al nodo devueltos los Query results al nodo que originó la búsqueda, éste puede que originó la búsqueda, éste puede proceder a pedir el archivo proceder a pedir el archivo directamente al que lo poseedirectamente al que lo posee

Page 28: Peer-to-Peer Computing

Protocolo GnutellaProtocolo Gnutella Los mensajes ping sirven para Los mensajes ping sirven para

detectar otros nodos. detectar otros nodos. Todo ping es respondido con un pongTodo ping es respondido con un pong Mediante los ping y pongs un cliente Mediante los ping y pongs un cliente

conoce a otros en la redconoce a otros en la red

Page 29: Peer-to-Peer Computing

GnutellaGnutella La red gnutella tiene problemas de La red gnutella tiene problemas de

crecimiento debido a la cantidad de crecimiento debido a la cantidad de tráfico que generatráfico que genera

Existen extensiones al protocolo Existen extensiones al protocolo original que ayudan a reducir el ancho original que ayudan a reducir el ancho de banda. Ejemplo: Ultrapeers de banda. Ejemplo: Ultrapeers

Otras extensiones ayudan a la Otras extensiones ayudan a la busqueda de archivos. Ejemplo: HUGEbusqueda de archivos. Ejemplo: HUGE

Page 30: Peer-to-Peer Computing

BitTorrent es el nombre del protocolo BitTorrent es el nombre del protocolo de distribución de archivos mediante de distribución de archivos mediante peer–to-peer creado por Bram peer–to-peer creado por Bram Cohen.Cohen.

Se refiere también a la aplicación Se refiere también a la aplicación cliente original.cliente original.

Y al tipo de archivos .torrent.Y al tipo de archivos .torrent.

Page 31: Peer-to-Peer Computing

El archivo es roto en bloques pequeños (256 Kb El archivo es roto en bloques pequeños (256 Kb estándar) los peers bajan los fragmentos entre estándar) los peers bajan los fragmentos entre ellos y mandan los que ya posean a los que lo ellos y mandan los que ya posean a los que lo requieran.requieran.

El protocolo escoge la conexión más buena El protocolo escoge la conexión más buena disponible para los fragmentos que requiere.disponible para los fragmentos que requiere.

Para incrementar la eficiencia los clientes piden Para incrementar la eficiencia los clientes piden los fragmentos que están disponibles en el menor los fragmentos que están disponibles en el menor número de peers, evitando cuellos de botella.número de peers, evitando cuellos de botella.

Es importante notar que los clientes comienzan a Es importante notar que los clientes comienzan a mandar los fragmentos antes de terminar de mandar los fragmentos antes de terminar de bajar el archivo.bajar el archivo.

Page 32: Peer-to-Peer Computing

Fuente: http://en.wikipedia.org/

Page 33: Peer-to-Peer Computing

Para compartir un archivo usando BitTorrent el Para compartir un archivo usando BitTorrent el usuario debe crear un archivo .torrent, un usuario debe crear un archivo .torrent, un pequeño “apuntador” que contiene.pequeño “apuntador” que contiene. Nombre del archivo, tamaño y el hash de cada bloque Nombre del archivo, tamaño y el hash de cada bloque

del archivo.del archivo. La dirección de un servidor “tracker”.La dirección de un servidor “tracker”. Otras informaciones, como instrucciones para el Otras informaciones, como instrucciones para el

cliente.cliente. Dicho archivo es distribuido mediante email o Dicho archivo es distribuido mediante email o

colocado en un website.colocado en un website. El cliente es entonces un “nodo semilla” El cliente es entonces un “nodo semilla”

permitiendo que otros nodos se conecten a él, permitiendo que otros nodos se conecten a él, cuando otro usuario termina de bajar puede cuando otro usuario termina de bajar puede convertirse en una fuente adicional del archivo.convertirse en una fuente adicional del archivo.

Page 34: Peer-to-Peer Computing

Si todas las semillas son quitadas, el archivo no Si todas las semillas son quitadas, el archivo no podrá ser bajado nuevamente, aunque mientras podrá ser bajado nuevamente, aunque mientras haya una copia distribuida del mismo todos haya una copia distribuida del mismo todos podrán tener el archivo eventualmente.podrán tener el archivo eventualmente.

La búsqueda de los archivos es realizada por el La búsqueda de los archivos es realizada por el usuario que consigue el archivo .torrent y lo usuario que consigue el archivo .torrent y lo carga en su programa cliente.carga en su programa cliente.

El tracker indicado por el archivo mantiene un El tracker indicado por el archivo mantiene un log de cuales usuarios están bajando el archivo y log de cuales usuarios están bajando el archivo y donde están el archivo y sus fragmentos.donde están el archivo y sus fragmentos.

La propiedad “leech resistance” de BitTorrent La propiedad “leech resistance” de BitTorrent provee a los que mandan más información el provee a los que mandan más información el mejor desempeño al bajar los archivos.mejor desempeño al bajar los archivos.

Page 35: Peer-to-Peer Computing

Los BitTorrent trackers asisten la comunicación Los BitTorrent trackers asisten la comunicación entre peers. entre peers.

Son el único SPOF del protocolo original, pues los Son el único SPOF del protocolo original, pues los clientes deben comunicarse con estos para clientes deben comunicarse con estos para empezar a bajar los archivos.empezar a bajar los archivos.

Los trackers son servicios que responden a Los trackers son servicios que responden a HTTP/HTTPS request, usando un URL con método HTTP/HTTPS request, usando un URL con método GET, la respuesta es en texto plano e incluye una GET, la respuesta es en texto plano e incluye una lista de peers que ayudan al cliente a participar lista de peers que ayudan al cliente a participar en el torrent.en el torrent.

Se han mejorado la confiabilidad de los trackers Se han mejorado la confiabilidad de los trackers mediante dos innovaciones:mediante dos innovaciones: Multi-trackers torrents.Multi-trackers torrents. ‘‘Trackerless’ torrents (tracking descentralizado).Trackerless’ torrents (tracking descentralizado).

Page 36: Peer-to-Peer Computing

El método de distribución de archivos de El método de distribución de archivos de BitTorrent se asemeja en gran medida al de la red BitTorrent se asemeja en gran medida al de la red eDonkey2000, pero los nodos de esta red eDonkey2000, pero los nodos de esta red usualmente comparten y bajan un número mucho usualmente comparten y bajan un número mucho mayor de archivos reduciendo el ancho de banda mayor de archivos reduciendo el ancho de banda para cada download. Las transferencias de para cada download. Las transferencias de BitTorrent son bastante rápidas pues todos los BitTorrent son bastante rápidas pues todos los nodos en un grupo se concentran en transferir un nodos en un grupo se concentran en transferir un solo archivo o colección de archivos.solo archivo o colección de archivos.

Pese a que es usado para distribuir archivos sin el Pese a que es usado para distribuir archivos sin el permiso de autores, hasta ahora BitTorrent permiso de autores, hasta ahora BitTorrent parece ser el protocolo de P2P más popular parece ser el protocolo de P2P más popular adoptado oficialmente para usos legales.adoptado oficialmente para usos legales.

Page 37: Peer-to-Peer Computing

P2P de CómputoP2P de Cómputo

Page 38: Peer-to-Peer Computing

FREENETFREENET

Page 39: Peer-to-Peer Computing

¿Qué es Freenet?¿Qué es Freenet?

Es un almacén de datos distribuidos basado Es un almacén de datos distribuidos basado en P2P, desarrollado con el motivo de combatir en P2P, desarrollado con el motivo de combatir la censura.la censura. Usa un tipo de enrutamiento basado en claves Usa un tipo de enrutamiento basado en claves similar a una tabla de hash distribuida para similar a una tabla de hash distribuida para localizar e insertar data en los peers.localizar e insertar data en los peers.

Page 40: Peer-to-Peer Computing

ObjetivosObjetivos

Combatir la censura.Combatir la censura. Permitir a las personas comunicarse Permitir a las personas comunicarse libremente con un anonimato casi total.libremente con un anonimato casi total. Guardar documentos y permitir que ellos sean Guardar documentos y permitir que ellos sean recobrados después por medio de una clave recobrados después por medio de una clave asociadada.asociadada.

Page 41: Peer-to-Peer Computing

Diseño TécnicoDiseño Técnico

Utiliza un protocolo de enrutamiento basado Utiliza un protocolo de enrutamiento basado en claves.en claves. El algoritmo de enrutamiento es heurístico, El algoritmo de enrutamiento es heurístico, por lo cual no se garantiza que se encontrará un por lo cual no se garantiza que se encontrará un pieza de datos dada.pieza de datos dada.

Page 42: Peer-to-Peer Computing

Diseño Técnico (Cont.)Diseño Técnico (Cont.)

La red de compartimiento de archivos La red de compartimiento de archivos diseñada es altamente resistente.diseñada es altamente resistente. La informacion guardada en el sistema está La informacion guardada en el sistema está encriptada y es replicada a través de un largo encriptada y es replicada a través de un largo número de computadoras anónimas.número de computadoras anónimas. Los participantes no conocen lo que ellos Los participantes no conocen lo que ellos están guardando.están guardando.

Page 43: Peer-to-Peer Computing

Diseño Técnico (Cont.)Diseño Técnico (Cont.)

Cada nodo conoce sobre algún número de Cada nodo conoce sobre algún número de otros nodos, los cuales el puede alcanzar otros nodos, los cuales el puede alcanzar directamente (sus vecinos).directamente (sus vecinos). Cada nodo mantiene una estructura de datos Cada nodo mantiene una estructura de datos que contiene documentos asociados con sus que contiene documentos asociados con sus claves.claves. Se maneja una tabla de enrutamiento Se maneja una tabla de enrutamiento asociando nodos con registros de eficiencia y asociando nodos con registros de eficiencia y rendimiento.rendimiento.

Page 44: Peer-to-Peer Computing

FuncionamientoFuncionamiento Para encontrar un documento en la red dada Para encontrar un documento en la red dada una clave, un usuario envía un mensaje a un una clave, un usuario envía un mensaje a un nodo, pidiendo el documento, acompañado de la nodo, pidiendo el documento, acompañado de la clave. clave. Si el documento no es encontrado en esa Si el documento no es encontrado en esa máquina, entonces el nodo busca en su tabla de máquina, entonces el nodo busca en su tabla de enrutamiento a algún nodo, a cual envía la enrutamiento a algún nodo, a cual envía la petición, guardando todo lo que fue hecho.petición, guardando todo lo que fue hecho. El proceso se repite hasta que la clave es El proceso se repite hasta que la clave es encontrada o la petición pasa a través de un encontrada o la petición pasa a través de un número máximo de nodos.número máximo de nodos.

Page 45: Peer-to-Peer Computing

BIOINFORMATICA (BLAST)BIOINFORMATICA (BLAST)

Page 46: Peer-to-Peer Computing

ARQUITECTURA GRID BASADA EN P2P ARQUITECTURA GRID BASADA EN P2P PARA BÚSQUEDA DE HOMOLOGÍAPARA BÚSQUEDA DE HOMOLOGÍA

bioinformáticabioinformáticaAplicación de búsqueda de Aplicación de búsqueda de homología para conseguir nuevos homología para conseguir nuevos genes o ADNsgenes o ADNs1. Se compara una muestra con 1. Se compara una muestra con los patrones en la base de datoslos patrones en la base de datos2. Tanto el manejo computacional 2. Tanto el manejo computacional como el de datos son importantescomo el de datos son importantes3. Computación distribuida 3. Computación distribuida incrementa la eficiciencia de las incrementa la eficiciencia de las comparacionescomparaciones

Page 47: Peer-to-Peer Computing
Page 48: Peer-to-Peer Computing
Page 49: Peer-to-Peer Computing