Sei sulla pagina 1di 17

Estado del arte de las redes peer to peer (P2P)

Luis J. Tena Programa de Licenciatura en Informtica Universidad de Oriente Cuman, Sucre, Venezuela exterminium01@hotmail.com

Resumen: El trmino "peer-to-peer" (P2P) se refiere a una clase de sistemas y aplicaciones que emplean recursos distribuidos para un funcionamiento de manera descentralizada. Con el despliegue generalizado de computadoras, las redes P2P estn recibiendo cada vez ms atencin en la investigacin, desarrollo de productos, y en algunos crculos de inversin. Algunos de los beneficios de un enfoque P2P: mejoran la escalabilidad, evitando dependencia en puntos centralizados; eliminan la necesidad de costosas infraestructuras, al permitir la comunicacin entre clientes; y permitiendo aadir recursos a la red. Palabras clave: P2P, Sistemas, Red

Motivacin El concepto de P2P se estableci por primera vez en 1969, en la primera Request for Comments (solicitud de comentarios), RFC 1. La RFC implica una conexin "host-to-host", una discriminacin de la categora clienteservidor, que proporciona las respuestas de la forma de los terminales de teletipo (TTY). Sin embargo, la primera verdadera implementacin de una red P2P fue Usenet, desarrollada en 1979. En Usenet, mientras que los clientes todava accedan a recursos a travs de los servidores, los servidores compartan entre ellos de la manera en que lo hace una red P2P, enviando mensajes el uno al otro, sin una autoridad central. Sin embargo esto no atrajo tanta atencin hacia los sistemas P2P, sino hasta el nacimiento de Napster en 1999. Aunque las transferencias de los archivos tenan lugar directamente entre dos equipos, Napster utilizaba servidores centrales para almacenar la lista de equipos y los archivos que proporcionaba cada uno, con lo que no era una aplicacin perfectamente P2P. Aunque ya existan aplicaciones que permitan el intercambio de archivos entre los usuarios, como IRC y Usenet, Napster se present como la primera aplicacin para PC especializada en los archivos de msica mp3.

El resultado fue un sistema que presentaba una gran seleccin de msica para descargar de forma gratuita. En diciembre de 1999, varias discogrficas estadounidenses demandaron a Napster, y tambin msicos reconocidos. La demanda, lejos de asustar a los usuarios, dio publicidad al servicio, de forma que en febrero de 2001 Napster haba llegado a su cima con 13,6 millones de usuarios en todo el mundo. Hoy da Con el despliegue generalizado de ordenadores, las redes P2P est recibiendo cada vez ms atencin por parte de investigadores, en el desarrollo de productos, y en algunos crculos de inversionistas, como por ejemplo Skype que cuenta con una red P2P Hibrida para la comunicacin entre usuarios a travs de su aplicacin; tambin en el campo de investigacin se usa como por ejemplo SETI@home (Search for Extraterrestrial Intelligence - Bsqueda de Inteligencia Extraterrestre), que analiza las emisiones de radio recibidas desde el espacio y recogida por el radiotelescopio gigante de Arecibo, con el poder de procesamiento de millones de ordenadores en Internet sin usar [Anderson 2002] con el fin de descubrir civilizaciones aliengenas. Todo esto est dando paso al continuo mejoramiento de este tipo de redes P2P en cuanto a consumo de ancho de banda, eficiencia en la ubicacin de peers dentro de la red, etc.

Introduccin En una red tradicional de computadoras, uno o ms servidores centrales suelen ofrecer todos los servicios disponibles en la red. Un ejemplo de ello son los numerosos servidores FTP (File Transfer Protocol) y HTTP (HyperText Transfer Protocol) en Internet que ofrecen recursos de archivos para su descarga, desde clientes que buscan estos servicios. En contraste con este modelo cliente-servidor de una red, otro enfoque consiste en distribuir el peso de la prestacin de servicios entre los nodos, o peers, de manera que cada nodo es cliente y servidor. Este tipo de red se llama red peer-to-peer (P2P)

2
Definicin Los sistemas y aplicaciones peer-to-peer (punto a punto) (abreviado como P2P) son sistemas distribuidos sin ningn tipo de control centralizado o una organizacin jerrquica, donde se requiere que el software, ejecutndose en cada nodo, use el mismo o un programa compatible para conectarse a entre s y acceder a archivos y otros recursos que se encuentran en los ordenadores de otros. Las arquitecturas P2P reparten las tareas o cargas de trabajo entre peers, el dueo de cada equipo en una red P2P, donara una parte de sus recursos -tales como potencia de procesamiento, almacenamiento en disco o ancho de banda en la red- los cuales estarn directamente disponibles para otros participantes de la red. En estas redes cada computadora puede actuar como un cliente o servidor de las otras maquinas (todos los peers son igualmente privilegiados), lo que permite el acceso compartido, en contraste con el modelo tradicional cliente-servidor, donde slo los servidores de suministro (envan), y los clientes consumen (reciben). Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de los dems usuarios de la red por medio de la conectividad entre los mismos, y obtienen as ms rendimiento en las conexiones y transferencias que con algunos mtodos centralizados convencionales, donde una cantidad relativamente pequea de servidores proveen el total del ancho de banda y recursos compartidos para un servicio o aplicacin. era una aplicacin perfectamente P2P. Aunque ya existan aplicaciones que permitan el intercambio de archivos entre los usuarios, como IRC y Usenet, Napster se present como la primera aplicacin para PC especializada en los archivos de msica mp3. El resultado fue un sistema que presentaba una gran seleccin de msica para descargar de forma gratuita. El hecho de que Napster fuera un servicio centralizado result su perdicin. En diciembre de 1999, varias discogrficas estadounidenses demandaron a Napster, y tambin msicos reconocidos como Lars Ulrich, baterista del grupo Metallica, reclamaron su cierre. La demanda, lejos de asustar a los usuarios, dio publicidad al servicio, de forma que en febrero de 2001 Napster haba llegado a su cima con 13.6 millones de usuarios en todo el mundo. Muchos argumentaron que el cierre de Napster slo llevara al surgimiento de otras aplicaciones similares de intercambio de archivos. El juez dict el cierre de Napster en julio de 2001. Despus de esa fecha, Napster se transform en un servicio de pago, a costa de ser prcticamente olvidado por la comunidad internauta. Durante un tiempo, el intercambio de archivos fue a la deriva. Existan ya bastantes alternativas. Al principio se segua usando Napster mediante servidores no oficiales (usando OpenNap, por ejemplo) a los que se poda acceder gracias a un programa llamado Napigator. Tambin surgieron programas como Winmx (cerrado en 2005 por amenazas de la RIAA), e iMesh. Despus se estableci como lder P2P Audiogalaxy, otra aplicacin centralizada de intercambio de msica, que acab tambin por orden judicial. Por otra parte, la RIAA (la asociacin estadounidense de discogrficas) tom estas resoluciones judiciales como victorias importantes encaminadas a acabar con la llamada "piratera". Clientes nuevos y la aparicin de la red Gnutella, fueron sustituyendo a Napster y Audiogalaxy, entre otros. Luego, en el ao 2002, se dio un xodo masivo de usuarios hacia las redes descentralizadas, como Kazaa, Grokster, Piolet y Morpheus. Tambin estn Ares y Ares Lite, libres de spyware y que usan la red Ares Galaxy. La RIAA intent, tambin por la va judicial, acabar con los nuevos servicios descentralizados, y que permitan compartir varios tipos de archivos (no slo mp3), pero

Inicios del P2P El concepto de P2P se estableci por primera vez en 1969, en la primera Request for Comments (solicitud de comentarios), RFC 1. La RFC implica una conexin "host-to-host", una discriminacin de la categora clienteservidor, que proporciona las respuestas de la forma de los terminales de teletipo (TTY). Sin embargo, la primera verdadera implementacin de una red P2P fue Usenet, desarrollada en 1979. En Usenet, mientras que los clientes todava accedan a recursos a travs de los servidores, los servidores compartan entre ellos de la manera en que lo hace una red P2P, enviando mensajes el uno al otro, sin una autoridad central. Sin embargo esto no atrajo tanta atencin hacia los sistemas P2P, sino hasta el nacimiento de Napster en 1999. Aunque las transferencias de los archivos tenan lugar directamente entre dos equipos, Napster utilizaba servidores centrales para almacenar la lista de equipos y los archivos que proporcionaba cada uno, con lo que no

3
Grokster y Morpheus ganaron sus juicios en abril de 2003. Luego apareci eDonkey 2000 (ya exista en el 2001 pero no era popular), esta aplicacin que se mantuvo junto a Kazaa como lder del movimiento P2P. Ms tarde, la aparicin de otros clientes basados en el protocolo de eDonkey 2000, como Lphant, Shareaza, eMule y sus Mods, y otros menos conocidos como aMule y MLDonkey para Linux, caus el progresivo declive del programa original eDonkey 2000 el cual se hizo menos popular porque fue remplazado por eMule y sus Mods. Otro paso importante lo marc el protocolo BitTorrent, que pese a tener muchas similitudes con eDonkey 2000 proporciona, segn los desarrolladores, una mayor velocidad de descarga, pero a costa de una menor variedad y longevidad de archivos en la red. Napster ataco el problema de la escalabilidad al poner a los peers a descargar directamente los archivos de msica de los peers que poseen el documento solicitado. Como resultado, Napster fue capaz de escalar hasta ms de 6 millones de usuarios como mximo durante su servicio.

3 Anonimato Uno de los objetivos de P2P es permitir a la gente a utilizar los sistemas sin preocupacin por las ramificaciones legales o de otro tipo. Otro objetivo es garantizar que la censura de los contenidos digitales no sea posible. Los autores de la Free Haven, han identificado los siguientes aspectos de anonimato: Autor: el autor de un documento o el creador no puede ser identificado Editor (Publisher): La persona que public el documento en el sistema no se puede identificar Lector: Las personas que lee o de otra manera consume los datos, no pueden ser identificados Servidor: Los servidores que contienen un documento no puede ser identificado basado en el documento Documento: Los servidores no saben los documentos que estn almacenando Consulta: Un servidor no puede decir que documento est utilizando para responder a la consulta del usuario. Independientemente de la entidad mencionada anteriormente, existen tres diferentes tipo de anonimato entre cada par comunicar: El anonimato del Remitente, que oculta la identidad del remitente; anonimidad del Receptor que oculta la identidad del receptor; y anonimidad Mutua el cual oculta la identidad del remitente y el receptor, ocultos unos de otros y de otros peers. Hay seis tcnicas populares, cada una adecuada para hacer cumplir los diferentes tipos de anonimato y cada una con diferentes tipos de limitaciones: Multidifusin Suplantacin de la direccin del remitente La suplantacin de identidad Las rutas clandestinas Los alias intratables De implantacin No Voluntarias

Caractersticas 1 Descentralizacin Los modelos P2P cuestionan la decisin de almacenar y procesar slo los datos en servidores centralizados y el acceso al contenido a travs de protocolos de peticinrespuesta. Una de las ideas ms poderosas de la descentralizacin es el nfasis en posesin y el control de los datos y recursos por parte del usuario. En un sistema totalmente descentralizado, cada peer (Punto o Igual) es un participante idntico. Esto hace que la implementacin de los modelos P2P difcil en la prctica, porque no hay servidores centralizados, con una visin global de todos los compaeros en la red o de los archivos que proporcionan. Esta es la razn por la que muchos sistemas de archivos P2P se basan en enfoques hbridos como en el caso de Napster, donde hay un directorio centralizado de los archivos, pero los nodos descargan los archivos directamente de sus peers. 2 Escalabilidad Un beneficio inmediato de la descentralizacin es una mejora en la escalabilidad. La escalabilidad se ve limitada por factores tales como la cantidad de operaciones centralizadas (por ejemplo, la sincronizacin y coordinacin) que necesitan ser realizadas, la cantidad de estados que deben mantenerse, el paralelismo inherente que una aplicacin exhibe, y el modelo de programacin que se utiliza para representar el clculo.

4
4 Auto-Organizacin En la ciberntica, la auto-organizacin se define como un proceso donde la organizacin (restriccin, la redundancia) de un sistema espontneamente aumenta, es decir, sin este aumento siendo controlado por el medio ambiente o circundando o de alguna otra manera el sistema externo. En los sistemas P2P, la auto-organizacin es necesaria debido a escalabilidad, la falta de resiliencia, conexin intermitente de los recursos, y el costo de posesin. Es difcil para cualquier configuracin predefinida permanecer intacta durante un largo perodo de tiempo. La adaptacin es necesaria para manejar los cambios causados por los peers conectndose y desconectndose de los sistemas P2P. Por ltimo, porque sera costoso tener equipos y/o personas dedicadas a la gestin de un entorno tan fluctuante, la administracin es distribuida entre los peers. 5 Costo de Propiedad Una de las premisas de la computacin P2P es el intercambio de las pertenencias. La propiedad compartida reduce el costo de ser dueo del sistema y el contenido, y el costo de mantenimiento de ellos. Esto es aplicable a todas las clases de sistemas P2P. Esto es probablemente ms obvio en la computacin distribuida. Por ejemplo, SETI@home es ms rpido que la supercomputadora ms rpida en el mundo, sin embargo, a slo una fraccin de su costo - 1%. Un enfoque similar lo hacen en la comunicacin inalmbrica en los Estados Unidos. Un movimiento inalmbrico llamada "Red Parasito", permite el intercambio del existente ancho de banda 802.11b instalado en casas entre los usuarios. Estas redes compiten con las empresas de instalacin de infraestructura inalmbrica a una fraccin del costo. 6 Conectividad Ad-Hoc La naturaleza ad hoc de la conectividad tiene un fuerte efecto sobre todas las clases de sistemas P2P. En la computacin distribuida, las aplicaciones paralelizadas no se puede ejecutar en todos los sistemas todo el tiempo; algunos de los sistemas estar disponible todo el tiempo, algunas estarn disponible una parte del tiempo, y algunos no estarn disponibles en absoluto. Los sistemas P2P y las aplicaciones en computacin distribuida deben estar conscientes de esta naturaleza ad hoc y ser capaz de manejar la unin de sistemas y remocin, de los sistemas P2P disponibles. Mientras que en los tradicionales sistemas distribuidos, este era un evento excepcional, en los sistemas P2P se considera normal. En los sistemas y aplicaciones P2P para compartir contenidos, los usuarios esperan tener acceso al contenido de forma intermitente, sujetos a la conectividad de los proveedores de contenido. En los sistemas con mayores garantas, como los acuerdos de nivel de servicio, la naturaleza ad hoc es reducida a travs de proveedores servicios redundantes, pero las partes de los proveedores pueden estar an no disponibles. En los sistemas y aplicaciones P2P de colaboracin, la naturaleza ad hoc de la conectividad es an ms evidente. Usuarios colaborativos estn esperando cada vez ms el uso de dispositivos mviles, as pueden estar ms tiempo conectados a Internet y disponibles para colaborar. Para manejar esta situacin, sistemas colaborativos soportan un retraso transparente en la comunicacin con los sistemas desconectados. Esto puede ser posible al tener proxis delegados en las redes para recibir mensajes, o teniendo otros tipos de repetidores en el sistema que enva o en algn otro lugar de la red que temporal mantendr la comunicacin de un sistema que no est disponible. 7 Rendimiento El rendimiento es una preocupacin importante en los sistemas P2P. Los sistemas P2P tienen como objetivo mejorar el rendimiento mediante la agregacin de capacidad de almacenamiento distribuido (por ejemplo, Napster, Gnutella) y ciclos de computo (por ejemplo, SETI@home) de los dispositivos ampliamente extendidos a travs de una red. Debido a la naturaleza descentralizada de estos modelos, el rendimiento se ve influenciada por tres tipos de recursos: procesamiento, almacenamiento y funcionamiento en las redes. Hay tres enfoques principales para optimizar el rendimiento: La replicacin de los objetos y archivos ms cercanos al peer que lo solicito; cachear reduce la longitud del camino requerido para ir a buscar un archivo/objeto y por lo tanto el nmero de mensajes intercambiados entre los peers; y Enrutamiento Inteligente y la organizacin de la red. Para darse cuenta totalmente del potencial de las redes P2P, es importante entender y explorar las interacciones sociales entre los peers.

5
8 Seguridad Los sistemas P2P comparten la mayora de sus necesidades en materia de seguridad con los sistemas distribuidos comunes: los lazos de confianza entre peers y los objetos compartidos, los esquemas de las sesiones de intercambio de claves, encriptacin, digests digitales, y las firmas. Nuevos requisitos de seguridad aparecieron con sistemas P2P: Cifrado Multi-clave. Los sistemas de intercambio de archivos, intentan proteger a un objeto compartido, as como el anonimato de su autor, peer que realiza la distribucin y peer en el que se alojara. Sandboxing (Cajas de Arena). Algunos sistemas de computacin distribuida P2P requieren la descarga de cdigo en los equipos de otros peers. Es crucial proteger las mquinas de peers de lo que pudiese ser cdigo malicioso y proteger el cdigo de una posible maquina maliciosa. La proteccin de una mquina de un peer normalmente implica la aplicacin de (1) propiedades de seguridad de manera que el cdigo externo no provocara daos en la caja del host, o slo acceder a los datos del host de una manera segura, y la aplicacin de (2) las propiedades de seguridad para evitar que los datos sensibles se filtren a terceros malintencionados. Tcnicas para hacer cumplir la primero incluye sandboxing (es decir, tcnicas que aslan el cdigo externo a sus propios dominios de proteccin), lenguajes seguros que impiden que sea escrito cdigo inseguro (por ejemplo, Java), mquinas virtuales (por ejemplo, Internet, mquina virtual de C++ POSIX, modo real derivados de Linux, que ejecutan una mquina virtual sobre el SO, VMware), cdigos firmados y compiladores certificados y tcnicas de verificacin de programas aplicadas a la verificacin de las caractersticas de seguridad del cdigo de mquina. Tcnicas para comprobar lo ltimo incluyen teora del flujo de informacin, y el modelo de verificacin. Administracin de derechos digitales. El intercambio de archivos P2P hace de la copia algo fcil. Es necesario ser capaz de proteger a los autores de que le roben su propiedad intelectual. Una manera de lograrlo es agregar una firma en el archivo que lo haga reconocible (la firma permanece unida a los contenidos del archivo), aunque contenido del archivo no son afectados. Esta tcnica, es conocida como marca de agua o la esteganografa Katzenbeisser, se ha experimentado con la RIAA para proteger los archivos de audio tales como MP3, ocultando informacin de Derechos de Autor en el archivo de manera inaudible. Reputacin y Responsabilidad. En los sistemas P2P, esto es a menudo importante para mantener registro de la reputacin de los peers para prevenir comportamientos negativos que puedan daar todo el sistema. La reputacin requiere de formas de medir que tan "bueno" o "til" es un peer. Para evitar un "mal" tipo de comportamiento no cooperativo, algn mecanismo de rendicin de cuentas debe ser concebido. Los sistemas actuales suelen basarse en un rating universal entre los usuarios autenticados de la comunidad. Sin embargo, la autenticacin no ofrece ninguna garanta de la conducta de un peer; por lo tanto, es difcil producir un sistema slido. Cortafuegos. Inherentemente las aplicaciones P2P requieren conexin directa entre pares. Sin embargo, en entornos corporativos las redes internas se aslan de la red externa (Internet), dejando un menor derecho de acceso a las aplicaciones. Por ejemplo, la mayora de los cortafuegos bloquean conexiones TCP entrantes. Esto significa que una mquina con un Cortafuegos no ser accesible desde una mquina externa a la red. Peor an, los usuarios desde casa utilizan con frecuencia enmascarado de IP o tecnologa de Network Address Translation (NAT) para compartir una conexin a Internet entre varias mquinas, lo que conduce al mismo problema de inaccesibilidad. Sin embargo, como el acceso de salida a travs del puerto 80(HTTP) se permite a menudo por los cortafuegos, algunos mecanismos se han ideado que permitan las conexiones entre ocultas (las mquinas detrs de un cortafuegos o NAT, inaccesible desde Internet) y las mquinas de Internet. Esto es bastante limitante sin embargo, ya que requiere que la conexin se inicie desde la mquina oculta. Cuando ambos peers, quienes desean comunicarse, residen detrs de diferentes cortafuegos, el problema se vuelve ms difcil. Se requiere un servidor central reflector (o repetidor) en Internet, que proporciona una conexin entre los peers ocultos.

6
9 Transparencia y usabilidad En los sistemas distribuidos, la transparencia era tradicionalmente asociada con la capacidad de conectar de forma transparente, sistemas distribuidos en un sistema local. La principal forma de transparencia fue la transparencia de localizacin, pero otras formas incluyen la transparencia de acceso, de concurrencia, de replicacin, de fracaso, de movilidad, de escala, etc. Los usuarios por lo general no son expertos y ellos no administran o no pueden administrar su software y dispositivos. El software P2P no debera exigir ningn ajuste o configuracin significativa de sus redes o dispositivos para poder ejecutarse. Adems, la autoactualizacin de software es una caracterstica deseable. Adems, los sistemas P2P deberan ser transparentes para la red y para los dispositivos (independientes). Ellos deben trabajar en Internet, intranets y redes privadas, utilizando enlaces de alta velocidad o de acceso telefnico. Tambin deberan ser transparentes para los dispositivos, lo que significa que deberan funcionar en una variedad de dispositivos porttiles, tales como asistentes digitales personales (PDA), computadoras de escritorio, telfonos celulares y tabletas. Otra forma de transparencia est relacionada con la seguridad y la movilidad. Autenticacin automtica y transparente de los usuarios y la delegacin a los usuarios de proxis puede reducir significativamente las acciones de los usuarios. Dar soporte a los usuarios mviles y a la desconexin en particular, pueden permitir a los usuarios trabajar independientemente de si estn o no conectados a la Internet o intranets. 10 Falla en Resiliencia Uno de los principales objetivos de diseo de un sistema P2P es evitar un punto de falla. Aunque la mayora de los sistemas P2P (P2P puros) ya hacen esto, no obstante tambin se enfrentan con fallos comnmente asociados con los sistemas que abarcan mltiples hosts y redes: desconexiones/inaccesibilidad, las particiones, y fallas en los nodos. 11 Interoperabilidad Aunque muchos sistemas P2P ya existan anteriormente, todava no hay soporte para permitir que estos sistemas P2P puedan tener interoperabilidad. En el pasado, haba diferentes maneras de acercarse a la interoperabilidad, tales como los estndares (por ejemplo, las normas de IEEE para Ethernet, Token Ring, y por cable); especificaciones comunes, (Por ejemplo, Object Management Group); cdigo fuente comn, (por ejemplo, OSF DCE); de cdigo abierto (por ejemplo, Linux); y los estndares de facto (Por ejemplo, Windows o Java). En el mundo del P2P, algunos han hecho esfuerzos hacia la mejora de la interoperabilidad, pero incluso la interoperabilidad todava no se la ha dado soporte. El Grupo de Trabajo P2P es un intento de reunir a la comunidad de desarrolladores P2P juntos y establecer una base comn al escribir informes y documentos tcnicos que permitan el entendimiento comn entre los desarrolladores P2P. JXTA, se enfoca en la interoperabilidad como un esfuerzo de cdigo abierto, tratando de imponer un estndar de facto. Un nmero de desarrolladores estn invitados a contribuir al rbol de cdigo fuente comn, con diferentes piezas de funcionalidad. Slo una arquitectura subyacente mnima es compatible como una base, permitiendo a otros sistemas contribuir con partes que puedan ser compatibles con sus propias implementaciones. Un nmero de los actuales sistemas P2P ya se han portado a JXTA

Ventajas y desventajas En las redes P2P, los clientes proporcionan recursos, que pueden incluir ancho de banda, espacio de almacenamiento y potencia de cmputo. Esta propiedad es una de las principales ventajas de usar las redes P2P, ya que hace los costes de instalacin y ejecucin muy bajos para el distribuidor de contenido original. Mientras los nodos llegan y la demanda en el sistema aumenta, la capacidad total del sistema tambin aumenta, y la probabilidad de fallas disminuye. Si un peer en la red no funciona correctamente, toda la red no se ve comprometida o daada. Por el contrario, en una tpica arquitectura cliente-servidor, los clientes comparten slo sus demandas con el sistema, pero no sus recursos. En este caso, a medida que ms clientes ingresen al sistema, menos recursos estn disponibles para servir a cada cliente, y si el servidor central falla, toda la red se cae. La naturaleza descentralizada de las redes P2P aumenta la robustez, ya que elimina el punto de fallo que puede ser inherente a un sistema basado en la arquitectura clienteservidor.

7
Otra propiedad importante de los sistemas peer-to-peer es la falta de un administrador del sistema. Esto conduce a una red que sea ms rpida y fcil de instalar y mantener, porque un personal completo no est obligado a garantizar la eficiencia y la estabilidad. Las redes descentralizadas introducen nuevos temas de seguridad ya que estn diseadas para que cada usuario sea responsable de controlar sus datos y recursos. Las redes peer-to-peer, junto con casi todos los sistemas de red, son vulnerables a los cdigos no seguros y sin firmas, que pueden permitir el acceso remoto a los archivos en el ordenador de la vctima, o incluso poner en peligro toda la red. Un usuario puede encontrar datos perjudiciales, al descargar un archivo que fue subido originalmente como un virus disfrazado en un .exe, .mp3, .avi, o cualquier otro tipo de archivo. Este tipo de problema de seguridad es debido a la falta de un administrador que mantiene la lista de ficheros que se distribuye. Se pueden distribuir datos dainos tambin, en las redes P2P mediante la modificacin de los archivos que ya estn siendo distribuidos en la red. Este tipo de violacin de la seguridad es creado por el hecho de que los usuarios se conectan a fuentes no fiables, en oposicin a un servidor que tenga mantenimiento. En el pasado esto ha ocurrido a la red FastTrack, cuando la RIAA logr introducir trozos falsos en las descargas y los archivos descargados (archivos MP3 en su mayora). Los archivos infectados con el virus de la RIAA eran inutilizables despus, o incluso contener cdigo malicioso. Tambin se sabe que la RIAA ha subido msica y pelculas falsas a las redes P2P con el fin de impedir el intercambio ilegal de archivos. En consecuencia, las redes P2P de hoy han visto un enorme aumento de su seguridad y mecanismos de verificacin de archivos. Hash modernos, la verificacin de segmentos del archivo y diferentes mtodos de cifrado han hecho la mayora de las redes resistentes a casi cualquier tipo de ataque, incluso cuando las partes principales de la red respectiva han sido sustituidos por host falsos o no funcionales. Hay ventajas y desventajas en las redes P2P relacionados con el tema de la copia de seguridad de los datos, recuperacin y disponibilidad. En una red centralizada, los administradores de sistemas son las nicas fuerzas que controlan la disponibilidad de los archivos que se comparten. Si los administradores deciden no distribuir un archivo, simplemente tiene que quitarlo de sus servidores, y ya no estar disponible para los usuarios. Adems de dejar a los usuarios sin poder para decidir lo que se distribuye en toda la comunidad, esto hace todo el sistema vulnerable a amenazas y a exigencias del gobierno y otras fuerzas mayores. Por ejemplo, YouTube ha sido presionado por la RIAA, MPAA y la industria del entretenimiento para filtrar contenido con derechos de autor. Sin embargo las redes servidor-cliente son capaces de supervisar y gestionar la disponibilidad de contenidos, que pueden tener ms estabilidad en la disponibilidad de los contenidos que opten por alojar. Un cliente no debe tener problemas para acceder a los contenidos oscuros que se comparte en una red centralizada estable. Las redes P2P, sin embargo, son menos fiables en el intercambio de archivos impopulares porque compartir archivos en una red P2P requiere que al menos un nodo en la red tenga los datos solicitados, y que el nodo debe ser capaz de conectar con el nodo que solicita los datos. Estos requisitos son a veces difciles de cumplir porque los usuarios pueden eliminar o dejar de compartir datos en cualquier momento. En este sentido, la comunidad de usuarios en una red P2P es completamente responsable de decidir qu contenido se encuentra disponible. Archivos impopulares con el tiempo van a desaparecer y dejan de estar disponibles a medida que ms personas dejen de compartirlas. Archivos populares, sin embargo, ser fcilmente y altamente distribuidos. Los archivos ms populares en una red P2P en realidad tienen ms estabilidad y disponibilidad que los archivos en las redes centralizadas. En una red centralizada, slo la prdida de conexin entre los clientes y el servidor es suficientemente como para provocar un fallo, pero en las redes P2P, las conexiones entre cada nodo debe perderse para dejar de compartir datos. En un sistema centralizado, los administradores son responsables de toda la recuperacin de datos y copias de seguridad, mientras que en los sistemas P2P, cada nodo requiere su sistema de copia de seguridad propia. Debido a la falta de autoridad centralizada en las redes P2P -tales como las fuerzas de la industria discogrfica, RIAA, MPAA, y el gobierno- no puede eliminar o detener el uso de intercambio de contenidos en los sistemas P2P. La seleccin de un mtodo P2P es a menudo impulsado por uno o ms de los siguientes objetivos. Distribucin/Reduccin de los costos. Los sistemas centralizados que sirven a muchos clientes, tpicamente son los que generan la mayor cantidad de los costos en el sistema. Cuando ese costo principal es

8
demasiado grande, una arquitectura P2P puede ayudar a repartir los gastos entre todos los peers. Por ejemplo, en el mbito de intercambio de archivos, el sistema de Napster permiti el reparto del coste de almacenamiento de archivos entre los peers, y fue capaz de mantener el ndice requerido para el intercambio. Gran parte de la distribucin de costos viene por la utilizacin y la agregacin de los recursos no utilizados (Por ejemplo, SETI@home), que se traduce en la reduccin de costos en un margen neto y en un menor costo para los componentes de sistema mas caros. Debido a que los peers tienden a ser autnomos, es importante que los costos se distribuyan de manera razonablemente equitativa. Aadir Recursos (mejor rendimiento) e interoperabilidad. Un enfoque descentralizado se presta naturalmente para la agregacin de recursos. Cada nodo en el sistema P2P trae consigo algunos recursos como poder de cmputo o espacio de almacenamiento. Aplicaciones que se benefician de grandes cantidades de estos recursos, tales como simulaciones de computo intensivo o los sistemas de archivos distribuidos, que naturalmente se inclinan hacia una estructura P2P para agregar recursos, para resolver el problema ms grande. Sistemas de computacin distribuida, tales como SETI@home, distributed.net, y Endeavours son ejemplos obvios de este enfoque. Al aadir recursos de cmputo a miles de nodos, estos son capaces de realizar funciones de computacin intensiva. Los sistemas de intercambio de archivos, tales como Napster, Gnutella, y otros, tambin aaden recursos. En estos casos, es tanto espacio de disco para almacenar las colecciones de datos de la comunidad, como ancho de banda para mover los datos que son aadidos. La interoperabilidad es tambin un requerimiento importante para poder aadir diversos tipos de recursos. Escalabilidad mejorada / fiabilidad Con la falta de una autoridad central fuerte, para los peers autnomos, la mejora de escalabilidad y fiabilidad del sistema es un objetivo importante. Como resultado, la innovacin algortmica en el rea de descubrimiento y bsqueda de recursos ha sido un amplio campo libre para la investigacin, dando lugar a nuevos algoritmos para los sistemas existentes, y el desarrollo de nuevas plataformas P2P (por ejemplo, CAN, Chord, y PAST). La escalabilidad y la fiabilidad se definen en trminos de los sistemas distribuidos tradicionales, como el uso de banda ancha a cuantos sistemas se puede llegar desde un nodo, cuantos sistemas son compatibles, cuantos usuarios puede soportar, y cuanto almacenamiento se puede utilizar. La fiabilidad est relacionada con fallas del sistema y en la red, desconexin, la disponibilidad de recursos, etc. Aumento de la autonoma En muchos casos, los usuarios de un sistema distribuido no estn dispuestos a confiar en cualquier proveedor de servicios centralizado. En su lugar, prefieren que todos los datos y trabajo en su nombre, se realice localmente. Los sistemas P2P soportan este nivel de autonoma, simplemente porque requieren que el nodo local haga el trabajo en lugar de su usuario. El principal ejemplo de esto, son los diversos sistemas de intercambio de archivos tales como Napster, Gnutella, y Freenet. En cada caso, los usuarios tienen permitido descargar archivos que no estaran disponibles en un servidor central debido a las restricciones por licencias. Sin embargo, las personas que corren sus propios servidores de forma independiente han sido capaces de compartir los archivos porque ellos son ms difciles de encontrar que lo que seria encontrar un operador del servidor. Anonimato/privacidad Relacionado con la autonoma es la nocin de guardar el anonimato y la privacidad. Un usuario puede no querer que un proveedor de servicios o que alguna persona sepa acerca de su acciones en el sistema. Con un servidor central, es difcil asegurar el anonimato porque el servidor suele ser capaz de identificar al cliente, por lo menos a travs de la direccin de Internet. Mediante el empleo de una estructura P2P en las que las actividades se llevan a cabo localmente, los usuarios pueden evitar facilitar informacin sobre s mismos a cualquier persona. Freenet es un excelente ejemplo de cmo el anonimato se puede construir en una aplicacin P2P. Se utiliza un esquema de transmisin para los mensajes para asegurar que el solicitante original de un servicio no pueda ser rastreado. Esto aumenta el anonimato mediante el uso de algoritmos probabilsticos de modo que los orgenes no pueden ser fcilmente seguidos, analizando el trfico de la red. Dinamismo Los sistemas P2P asumen que el ambiente de computacin es altamente dinmico. Esto es, recursos, tales como nodos de computo, que entraran y saldrn del

9
sistema continuamente. Cuando una aplicacin est destinada a dar soporte a un ambiente altamente dinmico, los sistemas P2P son un enfoque adecuado. En las aplicaciones de comunicacin, tales como mensajera instantnea, las llamadas "buddy-lists" son usadas para informar a los usuarios cuando las personas con quien deseen comunicarse estn disponibles. Sin esta caracterstica, los usuarios estaran obligados a "encuestar" a los otros usuarios del chat mediante el envo de mensajes peridicos. Del mismo modo, aplicaciones de computacin distribuida como distributed.net y SETI@home tienen que adaptarse al cambio de participantes. Por lo tanto, deben volver a emitir el trabajo de cmputo a otros participantes para garantizar que el trabajo no se pierda si los participantes anteriores abandonan la red mientras se realiza uno de los pasos en el clculo. Habilitacin de comunicacin y colaboracin ad hoc Relacionada al dinamismo, esta la nocin de soporte de ambientes ad hoc. Con ad hoc, nos referimos a entornos donde los miembros van y vienen, basado quizs en su ubicacin fsica actual o sus intereses actuales. Una vez ms, el P2P se ajusta a este tipo de aplicaciones, ya que, naturalmente, toma en cuenta cambios en el grupo de participantes. Los sistemas P2P por lo general no se basan en establecer infraestructura - por ejemplo, construyen su propio, recubrimiento lgico en CAN y PAST Los sistemas P2P estn diseados con las metas de la descentralizacin, conectividad ad hoc, un costo de propiedad reducido, y anonimato. P2P tiene un control y datos ms descentralizados comparado a sus alternativas, adems soporta sistemas cuyas partes pueden entrar y salir y se puede comunicar de una manera ad hoc, el costo de propiedad se distribuye entre los peers, y los peers pueden ser annimos. En comparacin con los sistemas P2P, los centralizados son inherentemente centralizados y los sistemas cliente-servidor tienen puntos de control y datos centralizados en los servidores. tecnologas peer-to-peer. A partir de 2004, estas redes constituyen el mayor trfico de red en Internet. Peer-to-peer (P2P de distribucin de contenidoCDN). Ejemplos Giraffic, Kontiki, Ignite, RedSwoosh. Peer-to-peer servicios de contenidos, por ejemplo, almacena en cach para mejorar el rendimiento, tales como Correli Caches Software de edicin y distribucin (Linux, varios juegos), a travs de redes de intercambio de archivos. Streaming media. P2PTV y PDTP. Las aplicaciones incluyen TVUPlayer, Joost, CoolStreaming, CyberskyTV, PPLive, Livestation, y Giraffic Didiom. -- Spotify utiliza una red peer-to-peer, junto con servidores de streaming para transmitir msica a su reproductor de msica de escritorio. -- Peercasting para flujos de multidifusin. Ejemplos PeerCast, IceShare, FreeCast, Rawflow Pennsylvania State University, MIT y Simon Fraser University estn llevando a cabo un proyecto denominado LionShare diseado para facilitar el intercambio de archivos entre las instituciones educativas a nivel mundial. Osiris (sistema de portal sin servidor) permite a sus usuarios crear portales annimos y autnomos distribuidos a travs de la red P2P. Intercambio de bienes fsicos, servicios, o espacios Plataformas web peer-to-peer para alquilar que la gente pueda encontrar y reservar los bienes, servicios, o el espacio en la plataforma virtual, pero llevar a cabo la transaccin P2P real en el mundo fsico (por ejemplo: enviar un correo electrnico a un vendedor de calzado locales para reservar para usted ese cmodo par de zapatillas que siempre has tenido en tus ojos, o ponerse en contacto con un vecino que ha enumerado su cortacsped en alquiler). -- Redes Dalesa, una cach web peer-to-peer para redes de rea local (basada en multidifusin IP).

Aplicaciones Hay numerosas aplicaciones de las redes peer-to-peer. El uso ms comn es para la distribucin de contenido Entrega de contenido Muchas de las redes de intercambio de archivos, como Gnutella, G2 y la red eDonkey popularizaron las

10
VoIP Peering Fabric es un sistema de interconexin peer-to-peer para el enrutamiento de trfico de VoIP entre las organizaciones mediante la utilizacin de tecnologa BGP y ENUM. -- Ciencia En la bioinformtica, la identificacin del frmaco candidato. El primero de este tipo de programa se inici en el ao 2001 en el Centro para el Descubrimiento de Frmacos Computacionalmente CCDD en la Universidad de Oxford, en colaboracin con la Fundacin Nacional para la Investigacin del Cncer. En la actualidad hay varios programas similares que se ejecutan en el proyecto de United Devices Cancer Research. El motor de bsqueda ScienceNET P2P. -- Comunidad de la red inalmbrica, Netsukuku -- Buscar Motor de bsqueda distribuido, un motor de bsqueda donde no hay servidor central YaCy, un motor de bsqueda distribuido, basado en los principios de las redes peer-to-peer. Faroo, un motor de bsqueda web peer-to-peer -- Redes de comunicaciones Skype, una de las aplicaciones del telfono ms utilizados de Internet usa la tecnologa P2P. VoIP (a travs de protocolos de capa de aplicacin, tales como SIP) -- La mensajera instantnea y chat en lnea Redes completamente descentralizadas de peers: Usenet (1979) y WWIVnet (1987). -- General Investigaciones como el proyecto Chord, la utilidad de almacenaje PAST, la Grid-P, y el sistema de distribucin de contenido CoopNet. JXTA, para aplicaciones con peers. Ejemplo Collanos Workplace (software para el trabajo en equipo) Tambin se ha implementado el uso de servidores falsificados. Un servidor falso se caracteriza porque en realidad no est dedicado verdaderamente a actuar como servidor de la red eDonkey 2000, sino que intenta obtener informacin de los clientes que a l se conectan (para posibles pleitos posteriores) o contaminar la red con elinks falsos, corruptos, o simplemente llenos de basura. Como ejemplo cabe destacar los servidores Razorback Una generacin previa de sistemas peer-to-peer fueron llamados "metacomputing" o fueron clasificados como "middleware". Estos incluyen: Legin, Globus Bitcoin es una moneda digital basado en peer-to-peer. Sixearch -- Miscelneos El Departamento de Defensa de EE.UU. ha iniciado una investigacin en las redes P2P, como parte de su estrategia de guerra ms moderna de la red. En mayo de 2003 el Dr. Tether Director de la Agencia de Defensa para Proyectos de Investigacin Avanzada testific que los militares de EE.UU. estn utilizando las redes P2P. Estudios de Kato et al. indican que ms de 200 empresas con aproximadamente 400 millones de dlares son invertidos en las redes P2P. Adems de compartir archivos, las empresas tambin estn interesadasen la computacin distribuida, distribucin de contenido.

Leyes, Condenas y Acciones contra las descargas ilegales va P2P La RIAA, SGAE, MPA y otros no slo han optado por llevar a juicio a los creadores de los programas de intercambio de archivos, sino que tambin han realizado algunas acciones en contra de sus usuarios. En septiembre de 2003, la RIAA demand a 261 internautas por copiar msica de manera ilegal. Result particularmente polmico que, entre esos 261 internautas, se encontrara una nia de 12 aos, que acab condenada a pagar 2000 dlares por compartir cerca de mil canciones. Tambin ha habido acciones legales en contra de sitios web que almacenan y permiten buscar elinks, Torrents, archivos NZB (para grupos de noticias) y otros links de P2P.

11
2.2, 2.3, ... , 2.6, que aparecieron "un buen da" al calor del xito de Razorback 2.0 y 2.1. En el 2006, los servidores verdaderos Razorback 2.0 y 2.1 fueron cerrados por acciones legales de la Motion Picture Association (MPA). Razorback 2 era el servidor ms importante de la red P2P de eDonkey 2000, albergaba 3 millones de usuarios diarios, y manejaba ms de 1.3 millones de conexiones simultneamente, indexando ms de 170 millones de archivos; actualmente los responsables de Razorback 2 se disponen a reabrir el servidor. Sin embargo, a pesar del cierre de estos servidores, slo se logr que los usuarios se cambiaran a otros servidores de la red eDonkey 2000, y que se diera a conocer mucho ms la red Kademlia. El 12 de septiembre de 2006, MetaMachine, la compaa propietaria de eDonkey, se comprometi con la RIAA a pagar una multa de US$ 30 millones en un acuerdo extrajudicial, para evitar posibles demandas de la industria discogrfica; debido a esto, en el sitio web de eDonkey se coloc un aviso que informa sobre la ilegalidad de compartir msica y vdeos que tengan copyright. Asimismo, el programa cliente, eDonkey 2000 dej de funcionar, desplegando este mismo mensaje e iniciando su desinstalacin automticamente. No obstante, la red eDonkey 2000 no pudo ser cerrada, y sigue funcionando hasta la actualidad debido a otros programas como eMule, MLDonkey, etc. Registrar y auditar de forma correcta los datos de las comunicaciones P2P es una tarea difcil y en muchos casos imposible. Malware: Los usuarios pueden descargar virus, troyanos u otros tipos de malware. Prdida de tiempo: El tiempo que se emplea utilizando las aplicaciones P2P es tiempo que no se dedica a trabajar. -- Ataques en las redes P2P Dado que los sistemas P2P se basan esencialmente en la dependencia de los peers entre s, surgen implicaciones en la seguridad por abusar de la confianza entre peers. En el modelo tradicional cliente-servidor, los datos internos no tiene por qu estar expuestos al cliente, pero con P2P, los datos internos deben ser expuestos a los compaeros colegas en nombre de la distribucin de la carga de trabajo. Los atacantes pueden aprovechar esto y poner en peligro las redes P2P. 1 denegacin de servicio distribuido En una red P2P, los atacantes pueden hacer uso de la naturaleza de consulta de las redes P2P para sobrecargar la red. En el caso de consultas que inunden la red P2P, el ataque es directo: Slo tiene que enviar una gran cantidad de solicitudes a los peers, y la trasmisin resultante har porciones de la red inoperable. Ms recientemente, los ataques pueden aprovechar la red P2P como un agente para atacar a otro objetivo, como por ejemplo un sitio web. Esencialmente, los peers en la red se subvierten para solicitar los archivos de un objetivo, aplastando a la vctima con el uso de un exagerado ancho de banda. 2 Envenenando la Red Otro enfoque para atacar a una red P2P es la inyeccin de datos intiles (veneno) en el sistema. Dado que las redes P2P deben implementar un servicio de bsqueda de alguna manera, ya se trate de un directorio centralizado o un DHT, un atacante puede inyectar grandes cantidades de bsqueda intiles de pares clave-valor en el ndice. Artculos falsos en el ndice podra ralentizar los tiempos de consulta o, peor an, dar resultados no vlidos. 3 Privacidad y la identidad Las redes P2P tambin presentan problemas de privacidad y la identidad. En lo que respecta a la

Amenazas Fuga de datos: Publicacin de informacin o archivos de la empresa de forma consciente o inconsciente. Violacin de derechos de propiedad intelectual: Descarga por parte de los usuarios de contenidos ilegales/protegidos por derechos de propiedad intelectual. Consumo de recursos: Consumo excesivo de ancho de banda, incluyendo un consumo de ancho de banda adicional por el servicio prestado a otros peers en lugar de para usos directamente relacionados con la actividad del usuario. Control de acceso La naturaleza descentralizada de las tecnologas P2P hacen que sea difcil prevenir su uso mediante el empleo de mecanismos tradicionales para el control del acceso a la red. Retencin de datos:

12
privacidad, el flujo de datos de un peer puede verse comprometido por peers compaeros que colaboran en la transmisin de los datos. Un ejemplo es el de las aplicaciones de VoIP, como Skype, que enruta el trfico de un modo P2P. Aunque el flujo de datos esta cifrado, un peer que lleve el flujo tiene ahora acceso directo a los paquetes de datos, lo cual no sera posible en el caso del enrutamiento tradicional. Por otra parte, el esquema de cifrado de Skype es propietario, por lo que no puede haber ninguna comprobacin de que el mtodo es completamente seguro. Adems, inherente a la naturaleza de las aplicaciones P2P es el libre intercambio de archivos privados. En un sondeo a los usuarios, una minora muy pequea en realidad eran conscientes de los archivos especficos que el usuario estaba compartiendo. En otro estudio sobre la red Kazaa, se encontr que muchos peers sin saberlo compartan su correo electrnico, financieros y datos de la web de cach. Debido a la facilidad de uso de las aplicaciones tpicas de intercambio de archivos, muchos usuarios no pueden ser lo suficientemente astuto para darse cuenta de las implicaciones de privacidad de la utilizacin de una aplicacin P2P, haciendo el trabajo del atacante muy sencillo. En las redes P2P, que distribuyen los recursos de dudosa legalidad, el problema de la falta de anonimato se hace evidente. Por ejemplo, el sistema de intercambio de archivo de BitTorrent expone directamente la direccin IP de los peers entre s en un enjambre. Esto permitira a los peers en el enjambre, conocer la identidad de otros peers que se descargan ciertos recursos, por ejemplo. Una vez que la identidad de los peers se ve comprometida, ms ataques, ya sean fsicos o judiciales, puede seguir siendo dirigida a ese objetivo especfico. 4 Justicia en el Intercambio Dado que las redes P2P dependen de la cooperacin de sus peers, uno asume que todos los peers a deberan contribuir al proceso de distribucin de recursos. Sin embargo, puesto que no hay autoridad en el sistema, no hay ningn administrador real, los peers son a libres de vivir a costa de otros peers. En la comunidad de intercambio de archivos, esto se suele llamar leeching y est mal visto y considerado, hacer trampa. Aunque es extremadamente frecuente en redes P2P ms antiguas, como el IRC (Internet Relay Chat), hacer leeching se ha mitigado en las nuevas aplicaciones P2P. Por ejemplo, en BitTorrent, se aplica un sistema para reducir el ancho de banda a los peers que no suban una cantidad justa. Por lo tanto, los leechers son permitidos a hacerlo, durante un corto periodo de tiempo antes que otros peers sepan de su presencia y, posteriormente, se nieguen a cooperar con l, compartiendo con l en una tasa cada vez ms lenta. 5 El bloqueo de trfico P2P Una cuestin importante que se cierne sobre las redes P2P es el bloqueo y el embotellamiento del trfico P2P. De acuerdo con un estudio de Internet en 2007, el 69% del trfico de Internet en Alemania es P2P, por HTTP un 10%. Dentro del trfico P2P, BitTorrent acumula un 67%, siendo la ms alta, y la siguiente eDonkey con un 29%. Teniendo en cuenta la proporcin asombrosa del trfico de Internet acumulado por las aplicaciones P2P, especialmente BitTorrent, no es de extraar que los ISPs estn empezando a bloquear los puertos en los cuales las aplicaciones ms populares se ejecutan. Por ejemplo, Comcast ha comenzado recientemente a regular y eliminar los paquetes del trfico de BitTorrent, bloqueando efectivamente que sus clientes ejecute el software. Yendo an ms lejos, la Universidad de Ohio ha comenzado recientemente a bloquear todo el trfico P2P en su campus. Si bien las cuestiones de seguridad con los P2P se estn convirtiendo cada vez ms incontrolables, los esfuerzos recientes han tratado de anular algunos de los de las vulnerabilidades de seguridad de las redes P2P.

Clasificacin Una posible clasificacin de las redes P2P pudiera ser acorde a su grado de centralizacin: Las tres topologas de red segn los famosos grafos de Paul Baran que aplican tambin al diseo P2P. 1 Redes P2P centralizadas Este tipo de red P2P se basa en una arquitectura monoltica en la que todas las transacciones se hacen a travs de un nico servidor que sirve de punto de enlace entre dos nodos y que, a la vez, almacena y distribuye los nodos donde se almacenan los contenidos. Poseen una administracin muy dinmica y una disposicin ms permanente de contenido. Sin embargo, est muy limitada en la privacidad de los usuarios y en la falta de escalabilidad de un slo servidor, adems de ofrecer problemas en puntos nicos de fallo, situaciones legales y enormes costos en el mantenimiento, as como el consumo de ancho de banda.

13
tambin como almacenadores de esa informacin. En otras palabras, todas las comunicaciones son directamente de usuario a usuario con ayuda de un nodo (que es otro usuario) quien permite enlazar esas comunicaciones. Las redes de este tipo tienen las siguientes caractersticas: Los nodos actan como cliente y como servidor. No existe un servidor central que maneje las conexiones de red. No hay un enrutador central que sirva como nodo y administre direcciones. Algunos ejemplos de una red P2P pura son: Kademlia, Ares Galaxy, Gnutella, Freenet y Gnutella2. 3 Redes P2P estructuradas y no estructuradas La red de superposicin del P2P consiste en todos los usuarios que participan como nodos de red. Hay enlaces entre dos nodos cualesquiera que se conozcan: es decir, si un usuario participante conoce la localizacin de otro usuario en la red del P2P, entonces hay un borde dirigido del nodo anterior al ltimo nodo en la red de superposicin. Basndonos en cmo los nodos en la red de superposicin se enlazan el uno al otro, podemos clasificar las redes del P2P como no estructuradas o estructuradas. Se forma una red P2P no estructurada cuando los enlaces de la superposicin se establecen arbitrariamente. Tales redes pueden construirse muy fcilmente cuando un usuario que desea unirse a la red puede copiar enlaces existentes de otro nodo y despus formar sus propios enlaces en un plazo determinado. En una red P2P no estructurada, si un usuario desea encontrar informacin especfica en la red, la peticin tiene que recorrer toda la red para encontrar tantos usuarios como sea posible, para conseguir a alguien que comparta los datos. La desventaja principal con estas redes es que las peticiones no siempre podrn resolverse. Es muy probable que un contenido popular est disponible para varios usuarios, y es muy probable que cualquier usuario que lo busque lo encuentre; sin embargo, si un usuario est buscando datos no muy populares que comparten slo unos cuantos usuarios, ser altamente probable que la bsqueda no d los resultados esperados. Dado que no hay correlacin entre un usuario y el contenido que comparte, entonces no hay garanta de

Una red de este tipo rene las siguientes caractersticas: Se rige bajo un nico servidor, que sirve como punto de enlace entre nodos y como servidor de acceso al contenido, el cual distribuye a peticin de los nodos. Todas las comunicaciones (como las peticiones y encaminamientos entre nodos) dependen exclusivamente de la existencia del servidor. Algunos ejemplos de este tipo de redes son Napster y Audiogalaxy. 2 Redes P2P hbridas, semicentralizadas o mixtas En este tipo de red, se puede observar la interaccin entre un servidor central que sirve como hub y administra los recursos de banda ancha, enrutamientos y comunicacin entre nodos pero sin saber la identidad de cada nodo y sin almacenar informacin alguna, por lo que el servidor no comparte archivos de ningn tipo a ningn nodo. Tiene la peculiaridad de funcionar (en algunos casos como en Torrent) de ambas maneras, es decir, puede incorporar ms de un servidor que gestione los recursos compartidos, pero tambin, en caso de que el servidor o los servidores que gestionan todo caigan, el grupo de nodos puede seguir en contacto a travs de una conexin directa entre ellos mismos, con lo que es posible seguir compartiendo y descargando ms informacin en ausencia de los servidores. Este tipo de P2P presenta las siguientes caractersticas: Tiene un servidor central que guarda informacin en espera y responde a peticiones para esa informacin. Los nodos son responsables de hospedar la informacin (pues el servidor central no almacena la informacin) que permite al servidor central reconocer los recursos que se desean compartir, y para poder descargar esos recursos compartidos a los usuarios que lo solicitan. Las terminales de enrutamiento son direcciones usadas por el servidor, que son administradas por un sistema de ndices para obtener una direccin absoluta. Algunos ejemplos de una red P2P hbrida son BitTorrent, eDonkey y Direct Connect. 3 Red P2P pura o totalmente descentralizada Las redes P2P de este tipo son las ms comunes, siendo las ms verstiles al no requerir de una gestin central de ningn tipo, lo que permite una reduccin de la necesidad de usar un servidor central, por lo que se opta por los mismos usuarios como nodos de esas conexiones y

14
que el usuario encuentre al que tiene la informacin deseada. El flooding tambin incrementa el trfico en la red y, por lo tanto, estas redes suelen tener una eficacia muy baja en los resultados de bsqueda. La mayor parte de las redes populares P2P (Napster, Gnutella y Kazaa) son redes P2P sin estructura. Las redes P2P estructuradas superan las limitaciones de las redes no estructuradas, mantienen una tabla de hash distribuida (DHT) y permiten que cada usuario sea responsable de una parte especfica del contenido en la red. Estas redes utilizan funciones de hash distribuido y asignan valores a cada contenido y a cada usuario en la red. Despus siguen un protocolo global en la determinacin de qu usuario es responsable de qu contenido. De esta manera, siempre que un usuario desee buscar ciertos datos, utilizar el protocolo global para determinar al usuario o usuarios que lo tiene(n) y despus dirigir la bsqueda hacia stos. Algunas redes P2P estructuradas son: Chord Pastry P2P Network Tapestry P2P Network Content Addressable Network Tulip Overlay 4 Otras categoras con base en la red P2P Algunos prefieren clasificar las redes P2P segn su estructuracin: Redes P2P estructuradas, como CAN. Redes P2P sin estructura, como Gnutella. Tambin se podra clasificar las redes P2P segn su generacin: Primera generacin de P2P: son literalmente las primeras redes P2P, que eran centralizadas. Segunda generacin de P2P: en esta generacin se implement por primera vez la caracterstica de la descentralizacin, y esta caracterstica es la ms frecuente en los actuales P2P. Tercera generacin de P2P: los ms recientes, que implementan una comunicacin no directa, cifrada y annima. Existe tambin la posibilidad de clasificar las redes P2P segn sus caractersticas de anonimidad o exclusividad: Sin caractersticas de anonimidad Pseudnimo Red P2P Privada Friend-to-friend (de amigo-a-amigo)

Una reciente generacin de sistemas peer-to-peer son los llamados metacomputing o se clasifican como middleware. Por ejemplo, Legin y Globus.

Arquitectura de los sistemas P2P Los sistemas peer-to-peer suelen implementar una red superpuesta abstracta, construido a nivel de la capa de Aplicacin, en la parte superior de la topologa de red nativa o fsica. Tales superposiciones son usadas para la indexacin y el descubrimiento de peers y hacer que el sistema P2P independiente de la topologa de red fsica. El contenido se suele intercambiar directamente sobre el Protocolo Internet subyacente (IP). Sistemas peer-to-peer annimo son una excepcin, y aplican capas adicionales de enrutamiento para ocultar la identidad de la fuente o el destino de las consultas. En sistemas estructurados peer-to-peer, los peers (y, a veces, los recursos) se organizan segn criterios y algoritmos especficos, que conducen a superposiciones con propiedades y topologas especficas. Se suelen utilizar indexacin de hash distribuido basado en tablas (DHT), como en el sistema Chord (MIT). En peer-to-peer no estructurados no se impone ninguna estructura en las redes superpuestas. Los peers en estas redes se conectan en forma ad hoc. Lo ideal sera que los sistemas P2P no estructurados no tuviesen absolutamente ningn sistema centralizado, pero en la prctica existen varios tipos de sistemas no estructurados con diferentes grados de centralizacin. Se pueden ver tres categoras. En peer-to-peer puros toda la red se compone exclusivamente de peers equivalentes. Slo hay una capa de enrutamiento, ya que no existen nodos preferidos con alguna funcin especial para la infraestructura. Los sistemas hbridos peer-to-peer permiten que tales nodos de infraestructura existan, a menudo llamados supernodos. En sistemas centralizados peer-to-peer, un servidor central se utiliza para las funciones de indexacin y para arrancar el sistema. Aunque esto tiene similitudes con

15
una arquitectura estructurada, las conexiones entre peers no estn determinadas por un algoritmo. El primer sistema prominente y popular para el intercambio de archivos, Napster, fue un ejemplo del modelo centralizado. Freenet y las primeras implementaciones del protocolo Gnutella, por el contrario, son ejemplos del modelo descentralizado. Las implementaciones modernas Gnutella, Gnutella2, as como la ahora en desuso de la red Kazaa son ejemplos del modelo hbrido. Una red P2P pura no tiene nocin de los clientes o servidores, sino, slo nodos iguales que ambos simultneamente funcionan como "clientes" y "servidores" a los dems nodos de la red. Este modelo de configuracin de red difiere del modelo cliente-servidor, donde la comunicacin es por lo general desde y hacia un servidor central. Un ejemplo tpico de una transferencia de archivos que no utiliza el modelo P2P es el File Transfer Protocol (FTP) en el que los programas del cliente y el servidor son distintos: los clientes inician la transferencia, y los servidores de satisfacen las peticiones. La red superpuesta en P2P, consiste en todos los peers que participan como nodos de la red. Hay enlaces entre cualquier par de nodos que se conocen entre s: es decir, si un peer participante conoce la ubicacin de otro peer en la red P2P, entonces hay una arista dirigida desde el primer nodo hasta el segundo en la red superpuesta. De acuerdo a como los nodos de la red superpuesta estn vinculados el uno al otro, podemos clasificar las redes P2P como no estructuradas o estructuradas. 1 Los sistemas estructurados Las redes P2P estructuradas utilizan un protocolo consistente global para asegurar que cualquier nodo de manera eficiente puede enrutar la bsqueda a un peer que tiene el archivo deseado, incluso si el archivo es extremadamente raro. Esta garanta requiere un modelo ms estructurado de los enlaces de superposicin. Por mucho, el tipo ms comn de las redes P2P estructuradas es la tabla distribuida de hash (DHT), en el cual se utiliza una variante de hashing consistente para asignar la pertenencia de cada archivo a un peer en particular, de una manera anloga a la asignacin de una tabla tradicional de hash de cada clave a un array en particular de una ranura. Aunque el trmino DHT se usa comnmente para referirse a la estructura superpuesta, en la prctica, la DHT es una estructura de datos implementada en la parte superior de una estructura superpuesta. -- Tablas de hash distribuidas Las tablas de hash distribuidas (DHTs) son una clase de sistemas distribuidos descentralizados que proporcionan un servicio de bsqueda similar a una tabla hash: se almacenan pares (clave, valor) en la DHT, y cualquier nodo participante puede de manera eficiente devolver el valor asociado a una determinada clave. La responsabilidad de mantener el mapeo de las claves a sus valores se distribuye entre los nodos, de tal manera que un cambio en el conjunto de los participantes causa una cantidad mnima de interrupcin. Esto permite a las DHTs escalar a un nmero extremadamente grande de nodos y de manejar la entrada continua de nodos, los despachados, y las fallas. Las DHTs forman una infraestructura que puede ser usado para construir peer-to-peer. Redes distribuidas notables que utilizan DHTs pueden ser seguimiento de distribucin de BitTorrent, la red Kad, el botnet Storm, YaCy, y la Red de Distribucin de Contenido de Coral (Coral Content Distribution Network). Algunos proyectos de investigacin destacados incluyen el proyecto Chord, la utilidad de almacenaje en PAST, la P-Grid, una red superpuesta auto-organizada y emergente y el sistema de distribucin contenido CoopNet). Las DHT a base de redes han sido ampliamente utilizadas para llevar a cabo el descubrimiento eficiente de recursos para los sistemas de cmputo en grid, ya que ayuda en la gestin de recursos y la sincronizacin de aplicaciones. Los avances recientes en el mbito de descubrimiento de recursos descentralizados se han basado en la ampliacin de las existentes DHTs con la capacidad de la organizacin de datos multi-dimensionales y de los enrutamiento de consultas. La mayora de los esfuerzos han analizado los ndices de incorporacin de bases de datos espaciales, tales como las Curvas de Llenado del Espacio (SFC), incluyendo las curvas de Hilbert, curvasZ, rboles k-d, rboles MX-CIF Quad y arboles-R* para la gestin, enrutamiento, y la indexacin de complejos Grids de objetos de consulta de recursos a travs de redes de DHT. Los ndices espaciales son adecuados para el manejo de la complejidad de Grids de objetos de consultas de recursos. Aunque algunos ndices espaciales pueden tener problemas en lo que respecta a la ruta de

16
equilibrio de carga en el caso de un conjunto de datos sesgados establecidos, todos los ndices espaciales son ms escalables en trminos del nmero de saltos recorridos y los mensajes generados durante la bsqueda y el enrutamiento de consultas de recursos del Grid. Una evaluacin ms reciente de las soluciones P2P para el descubrimiento de recursos en cargas de trabajo reales, han sealado varias cuestiones en las soluciones basadas en tales como los altos costos de la publicidad/descubrimiento de recursos y el desequilibrio de carga esttica y dinmica. 2 Los sistemas no estructurados Una red P2P no estructurada se forma cuando los enlaces de superposicin son establecidos arbitrariamente. Estas redes pueden ser fcilmente construidas como un nuevo peer que quiere unirse a la red, puede copiar enlaces existentes de otro nodo y despus formar sus propios vnculos con el tiempo. En una red P2P no estructurada, si un compaero quiere encontrar un segmento deseado de datos en la red, la consulta tiene que ser suministrada a travs de la red para encontrar a cuantos peers sea posible, que compartan esos datos. La desventaja principal con tales redes es que las consultas no siempre pueden ser resueltas. El contenido popular es probable que est disponible en varios peers y si algn de esos peer lo busca es probable que encuentre el mismo contenido. Pero si un peer est buscando datos poco conocidos compartidos por slo unos pocos peers, entonces es muy poco probable que la bsqueda tenga xito. Dado que no existe correlacin entre un peer y el contenido administrado por ste, no hay garanta de que la consulta encuentre un peer que tenga los datos deseados. La consulta tambin causa una alta cantidad de sealizacin de trfico en la red y por lo tanto tales redes tienen tpicamente una pobre eficiencia de bsqueda. Muchas de las redes P2P populares son no estructuradas En las redes P2P puras: los peers actan como iguales, es decir como la fusin de los roles de cliente y servidor. En este tipo de redes, no hay un servidor central de gestin de la red, ni hay un router central. Algunos ejemplos de redes Aplicaciones de Capas en P2P diseadas para compartir archivos peer-to-peer son Gnutella (antes de la versin 0.4) y Freenet. Tambin existen hbridos de sistemas P2P, que distribuyen a sus clientes en dos grupos: los nodos cliente y nodos de superposicin. Por lo general, cada cliente es capaz de actuar de acuerdo a la necesidad momentnea de la red y puede llegar a ser parte de la respectiva red superpuesta usada para coordinar la estructura P2P. Esta divisin entre lo normal y los nodos "mejores" se realiza con el fin de abordar los problemas de escalabilidad en las primeras redes P2P puras. Como ejemplos de este tipo de redes se pueden nombrar las implementaciones modernas de Gnutella (despus de la versin 0.4) y Gnutella2. Otro tipo de red P2P hbrida son las redes que utilizan de un lado servidor(es) central(es) o mecanismos bootstrapping, y por el otro lado P2P para las transferencias de sus datos. Estas redes son, en general, llamado 'redes centralizadas' debido a su falta de capacidad para trabajar sin su servidor(es) central(es). Un ejemplo de este tipo de red es la red eDonkey (a menudo tambin se llama eD2k). Las redes peer-to-peer mas antiguas duplican los recursos a travs de cada nodo de la red, configurado para llevar ese tipo de informacin. Esto permite la bsqueda local, pero requiere de mucho trfico. Las redes modernas utilizan servidores centrales coordinadores y solicitudes de bsqueda dirigidas. Los servidores centrales se utilizan normalmente para la inclusin de peers potenciales (Tor), coordinar sus actividades (Folding@home), y bsqueda (Napster, Emule). La bsqueda descentralizada se realiz por primera vez al suministrar solicitudes de bsqueda a travs de sus peers. Estrategias de bsqueda dirigidas ms eficientes, incluyendo supernodos y tablas de hash distribuidas, ahora se utilizan.

P2P en el futuro A medida que la tecnologa P2P se vuelve ms madura, sus futuras infraestructuras mejoraran. Habr una mayor interoperabilidad, ms conexiones con el mundo (a travs de Internet), y software y hardware ms robusto. Sin embargo, algunos problemas inherentes permanecern. La P2P seguir siendo un enfoque importante por las siguientes razones: Escalabilidad siempre ser un problema en ciertos niveles (Redes, Sistemas y Aplicaciones), especialmente con conectividad global, inalmbrica gran parte de ella. Ser difcil de predecir y garantizar todos los acuerdos de nivel de servicio. La P2P puede contribuir a cada rea.

17
Ciertas partes del mundo no sern cubiertas para ofrecer (suficiente) conectividad, lo que requiere de ad hoc, que se formen grupos descentralizados. La P2P es una alternativa muy apropiada cuando existe una falta de infraestructura. Ciertas configuraciones de sistemas y aplicaciones s sern inherentemente P2P y se prestarn para soluciones con la P2P. -- Futuros Proyectos Los algoritmos de P2P probablemente tengan la mayor posibilidad de hacer impacto. Mientras el mundo se vuelve cada vez ms descentralizado y conectado, habr una creciente necesidad de algoritmos de P2P para superar los problemas de escalabilidad, anonimato y conectividad. Las aplicaciones P2P son las siguientes ms probable s de tener xito en el futuro. Ejemplos como Napster son una convincente prueba de esta posibilidad. Las plataformas P2P son el tercer escenario posible para P2P. Plataformas como JXTA pueden llegar a ser ampliamente adoptadas, en caso que muchos otros sistemas P2P tambin puedan ganar una amplia adopcin.

Conclusin La P2P es una tecnologa importante que ya encontr su camino en los productos existentes y la investigacin de proyectos. Se mantendr como una solucin importante para ciertos problemas inherentes en los sistemas distribuidos. La P2P no es una solucin a todos los problemas en el futuro de la computacin. Alternativas a la P2P son las tecnologas tradicionales, tales como sistemas centralizados y el modelo cliente-servidor. Los sistemas y las aplicaciones no necesariamente tiene que ser monolticos, ellos puedan entrar en los distinto niveles de paradigmas centralizado/cliente-servidor/P2P. La P2P seguir siendo una alternativa slida para la escalabilidad, el anonimato y los requisitos de fallos. Algoritmos, aplicaciones y las plataformas P2P tienen una oportunidad para ser ampliamente desplegadas en el futuro. Desde la perspectiva del mercado, el costo de adquisicin puede ser el factor determinante para el P2P. La fuerte presencia de productos P2P indica que P2P no es slo una tecnologa de investigacin interesante, pero tambin un producto base prometedor.

Potrebbero piacerti anche