1 / 49

Peer-to-Peer Computing

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

orsin
Download Presentation

Peer-to-Peer Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peer-to-Peer Computing • Integrantes: • Astrid Paravisini • Eduardo Anuel • Iván Aponte • Jorge González • Gian Piero Bandieramonte

  2. 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

  3. Introducción General • Un acercamiento al concepto de P2P … Modelo Cliente-Servidor Modelo P2P 1 2 8 1 2 3 7 8 Servidor Servidor 3 4 6 4 7 5 5 6

  4. Introducción General Un acercamiento al concepto de P2P … Modelo Cliente-Servidor Cliente 1 Cliente 1 Servidor Mail Modelo P2P 1 Hola.c 1 Servidor de Red Servidor de Red Servidor de Red Servidor de Red 3 2 4 3 Hola.c 2 Cliente 2 Cliente 2 Servidor de Archivos

  5. 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.

  6. 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.

  7. 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

  8. Introducción General • Tipos de P2P • - P2P Puro • Todos 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.

  9. 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.

  10. Introducción General Algunas Aplicaciones de P2P - Juegos en línea - Buscadores - Protección contra Virus

  11. Introducción General Arquitectura Aplicaciones P2P P2P Middleware Infraestructura Física

  12. 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 Infraestructura Física

  13. Introducción General Arquitectura Infraestructura Física Computadora win 98 laptop modem Servidor win 2000 internet Banda ancha firewall DSL wireless Pc domestico Servidor linux Servidor linux

  14. 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

  15. 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

  16. P2P de comunicación

  17. Skype -- Historia • Creado por los desarrolladores de KaZaA • Se diferencia de otros clientes VoIP por ser peer-to-peer • Funciona con distintos tipos de firewalls y NATs • Protocolo privado • Comprado por eBay

  18. Skype – Descripción • Entidades • Nodos ordinarios • Supernodos (SN) • Login Server

  19. Skype – Descripción • Lista dinámica y descentralizada de SN • Lista local de contactos • Routing inteligente • Seguridad (AES)

  20. Skype – Funcionamiento • Login

  21. Skype – Funcionamiento • Determinación del firewall o NAT • Modificación de STUN • Creación de tabla de nodos • Búsqueda • Mensaje TCP al SN • Mensaje UDP a otros nodos • Llamadas • Conexión TCP • Envío de datos UDP

  22. P2P de Datos

  23. Gnutella -- Historia • Totalmente P2P • Aparece en Marzo 2000 • La versión oficial solo duró un día en la web • A partir del protocolo se crearon varios clientes, tanto open source y closed source. • Los más populares son Limewire, Bearshare, Shareaza

  24. Protocolo Gnutella • El protocolo no especifica servidores, al ser totalmente P2P se conecta directamente a otro nodo. • Cuando un nodo se trata de conectar a la red este debe conocer los nodo de antemano. No hay una forma especifica de conocerlos. • Entre las formas de hacer el bootstrap están listas de nodos en sesiones anteriores, conocimiento del usuario mediante chats o sistemas como Gwebcache. • Luego de conocer un nodo funcional se inicia el proceso de handshaking. Ambos nodos intercambian sus capacidades. Si el servidor no puede aceptar la conexión, este refiera la cliente a otro nodo.

  25. Protocolo Gnutella • Al hacer una búsqueda se manda un mensaje a todos los nodos a los cuales se esta conectado. Estos a su vez mandan el mensaje a sus nodos conectados pero decrementan un campo de TTL. • Cuando un nodo recibe un mensaje de búsqueda y éste busca en sus archivos y el archivo existe el nodo en cuestión responde con un mensaje query hit al nodo que pasó el mensaje • También se responde un query hit si alguno de los nodos responde conectados responde con query hit.

  26. Protocolo Gnutella

  27. Protocolo Gnutella • Luego de encontrado el archivo y devueltos los Query results al nodo que originó la búsqueda, éste puede proceder a pedir el archivo directamente al que lo posee

  28. Protocolo Gnutella • Los mensajes ping sirven para detectar otros nodos. • Todo ping es respondido con un pong • Mediante los ping y pongs un cliente conoce a otros en la red

  29. Gnutella • La red gnutella tiene problemas de crecimiento debido a la cantidad de tráfico que genera • Existen extensiones al protocolo original que ayudan a reducir el ancho de banda. Ejemplo: Ultrapeers • Otras extensiones ayudan a la busqueda de archivos. Ejemplo: HUGE

  30. BitTorrent es el nombre del protocolo de distribución de archivos mediante peer–to-peer creado por Bram Cohen. • Se refiere también a la aplicación cliente original. • Y al tipo de archivos .torrent.

  31. El archivo es roto en bloques pequeños (256 Kb estándar) los peers bajan los fragmentos entre ellos y mandan los que ya posean a los que lo requieran. • El protocolo escoge la conexión más buena disponible para los fragmentos que requiere. • Para incrementar la eficiencia los clientes piden los fragmentos que están disponibles en el menor número de peers, evitando cuellos de botella. • Es importante notar que los clientes comienzan a mandar los fragmentos antes de terminar de bajar el archivo.

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

  33. Para compartir un archivo usando BitTorrent el usuario debe crear un archivo .torrent, un pequeño “apuntador” que contiene. • Nombre del archivo, tamaño y el hash de cada bloque del archivo. • La dirección de un servidor “tracker”. • Otras informaciones, como instrucciones para el cliente. • Dicho archivo es distribuido mediante email o colocado en un website. • El cliente es entonces un “nodo semilla” permitiendo que otros nodos se conecten a él, cuando otro usuario termina de bajar puede convertirse en una fuente adicional del archivo.

  34. Si todas las semillas son quitadas, el archivo no podrá ser bajado nuevamente, aunque mientras haya una copia distribuida del mismo todos podrán tener el archivo eventualmente. • La búsqueda de los archivos es realizada por el usuario que consigue el archivo .torrent y lo carga en su programa cliente. • El tracker indicado por el archivo mantiene un log de cuales usuarios están bajando el archivo y donde están el archivo y sus fragmentos. • La propiedad “leech resistance” de BitTorrent provee a los que mandan más información el mejor desempeño al bajar los archivos.

  35. Los BitTorrent trackers asisten la comunicación entre peers. • Son el único SPOF del protocolo original, pues los clientes deben comunicarse con estos para empezar a bajar los archivos. • Los trackers son servicios que responden a HTTP/HTTPS request, usando un URL con método GET, la respuesta es en texto plano e incluye una lista de peers que ayudan al cliente a participar en el torrent. • Se han mejorado la confiabilidad de los trackers mediante dos innovaciones: • Multi-trackers torrents. • ‘Trackerless’ torrents (tracking descentralizado).

  36. El método de distribución de archivos de BitTorrent se asemeja en gran medida al de la red eDonkey2000, pero los nodos de esta red usualmente comparten y bajan un número mucho mayor de archivos reduciendo el ancho de banda para cada download. Las transferencias de BitTorrent son bastante rápidas pues todos los nodos en un grupo se concentran en transferir un solo archivo o colección de archivos. • Pese a que es usado para distribuir archivos sin el permiso de autores, hasta ahora BitTorrent parece ser el protocolo de P2P más popular adoptado oficialmente para usos legales.

  37. P2P de Cómputo

  38. FREENET

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

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

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

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

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

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

  45. BIOINFORMATICA (BLAST)

  46. Enfoque: bioinformática • ARQUITECTURA GRID BASADA EN P2P PARA BÚSQUEDA DE HOMOLOGÍA Aplicación de búsqueda de homología para conseguir nuevos genes o ADNs ¿Qué? 1. Se compara una muestra con los patrones en la base de datos ¿Cómo? 2. Tanto el manejo computacional como el de datos son importantes 3. Computación distribuida incrementa la eficiciencia de las comparaciones

  47. Problemas

  48. SOLUCIONES PROPUESTAS

  49. Resultados

More Related