CONSULTORÍA ESTRATÉGICA EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIONES

CONSULTORIA EN REDES Y SERVICIOS DE TELECOMUNICACIONES




2. Características de las redes P2P

Autor: Ramón Jesús Millán Tejedor

Libro: Distribución de Libros Digitales en Redes P2P

Acceder al capítulo de presentación y objetivos Acceder al capítulo de aplicaciones del P2P



La conjunción de tecnologías de compresión de contenidos digitales, conexiones a Internet de banda ancha y programas P2P hacen factible descargar en muy poco tiempo archivos grandes y de alta calidad. Según datos de CacheLogic, más del 60% del tráfico que viajaba en el año 2005 a través de Internet correspondía a aplicaciones P2P. La mayor parte de los ficheros descargados a través de estas redes son archivos musicales, si bien en cuanto a volumen de datos los ficheros de vídeo suponen un 61,4% frente al 11,3% del audio. El problema es que mucho de estos ficheros intercambiados son canciones, películas, software, videojuegos, libros e imágenes protegidos por derechos de autor.

En los últimos tiempos, los programas de intercambio P2P (eMule, Overnet, eDonkey2000, Kazaa, BearShare, BitTorrent, etc.) se han ido multiplicando por la Red, sin que los estudios de cine y las discográficas encontrasen el modo de frenarlos... y encima teniendo a las espaldas toda la experiencia de la batalla perdida por Napster y decididos a no repetir los mismos errores. El sistema Napster se apoyaba sobre servidores centralizados, lo cual lleva a dos grandes problemas: todo el material que circula se apoya servidores y, por lo tanto, Napster puede considerarse responsable de todo lo que está ahí; y en un sistema tan centralizado basta con imponer el cierre de los servidores para bloquear todo el sistema. En cambio, los nuevos sistemas adoptan por completo el método P2P, lo que permite a dos usuarios conectarse sin la intermediación de un servidor. En consecuencia no hay servidores centrales que se puedan cerrar y no hay una entidad central a la que pueda perseguirse legalmente.

Si bien es cierto que las tecnologías MP3 y P2P han facilitado la piratería en Internet, esto no quiere decir que sean negativas de por sí. De hecho, no todo lo que rodea al mundo del P2P es tan perjudicial, y existen ya programas de todo tipo basados en esta novedosa tecnología. Por ejemplo, Hello es un software P2P de compartición de imágenes de alta resolución, típicamente procedentes de nuestra cámara de fotos digital, entre amigos y familiares. Existen también aplicaciones P2P que permiten la descarga legal y controlada de contenidos protegidos por derechos de autor, como PeerImpact o iMesh. Prodigem permite a cualquier productor de cine o banda de música independiente transferir uno o múltiples archivos de sus creaciones y beneficiarse inmediatamente del envío distribuido empleando de manera completamente automatizada y transparente el protocolo BitTorrent, cobrando una comisión por cada venta realizada a través del sistema. Mediante programas como eDonkey2000 es muy sencillo publicar trabajos profesionales o amplios catálogos y compartirlos fácilmente con una audiencia global; lo único que hay que hacer es poner estos ficheros en un determinado directorio compartido del disco duro de un ordenador cualquiera. Además, existe otra serie de programas P2P destinados a aplicaciones distintas a la compartición de ficheros, como el revolucionario Skype, que ofrece telefonía y videoconferencia gratuita y de alta calidad sobre Internet. Entre las principales aplicaciones de las redes P2P cabe destacar negocios de intercambio de todo tipo de contenidos digitales de forma legal, motores de búsqueda, protección contra virus y actualización de software, ayuda en la investigación, educación colaborativa a distancia, difusión de televisión y radio en tiempo real, mensajería instantánea, juegos en red, etc.

Por otro lado, no podemos cerrar los ojos a una realidad, que es que estos programas han ayudado enormemente a la proliferación de las conexiones a Internet de banda ancha en los hogares. Las operadoras de telecomunicaciones trataban de vender estas novedosas tecnologías de acceso a Internet, con el único beneficio añadido de tener una conexión permanente y navegar a mayor velocidad; no obstante, los contenidos ofrecidos en la Red no exigían realmente una conexión de estas características, sobre todo considerando el enorme precio de estas conexiones con respecto a las tradicionales de banda estrecha. Según declaraciones de Isidoro Padilla, Consejero Delegado de Telefónica I+D, durante la presentación de la cuarta edición del estudio “La Sociedad de la Información en España” en diciembre de 2003: “Los usuarios españoles usan la banda ancha fundamentalmente para el P2P, y aunque su uso trae quebraderos innegables de cabeza, hay que quedarse con sus aportaciones; de hecho, gracias a ellos se consigue uno de los fines fundamentales de la Sociedad de la Información: compartir información y conocimientos”.

2.1. Concepto de P2P

El término anglosajón P2P (Peer-to-Peer) suele traducirse al castellano como “entre pares”. Sin embargo, y según el diccionario, peer significa en inglés "par, igual". La traducción correcta, pues, es entre iguales o de igual a igual. Aunque la alternativa entre pares también sea aceptada, se prefiere la anterior para evitar confusiones, reforzando la idea de que todos los nodos de una red P2P son iguales (es decir, no se distinguen servidores de clientes) y evitando el equívoco que supondría pensar que siempre se realizan comunicaciones entre parejas de nodos. No obstante, en los medios de comunicación españoles se ha venido empleando tradicionalmente el término “entre pares”, y será el que se emplee en este informe.

Básicamente, una red informática P2P se refiere a una red que no tiene clientes y servidores fijos, sino una serie de nodos que se comportan a la vez como clientes y servidores de los demás nodos de la red. Este modelo de red contrasta con el modelo cliente-servidor tradicionalmente empleado en las aplicaciones de Internet. Así, en una red P2P todos los nodos se comportan igual y pueden realizar el mismo tipo de operaciones, pudiendo no obstante diferir en configuración local, velocidad de proceso, ancho de banda de su conexión a la red y capacidad de almacenamiento.

Típicamente, la computadora que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes (clients) es el denominado servidor (host). Algunos servidores habituales son los servidores de archivos, que permiten a los usuarios almacenar y acceder a los archivos de un ordenador, y los servidores de aplicaciones, que realizan tareas en beneficio directo del usuario final. El modelo cliente-servidor era muy apropiado cuando no existían los PC, sólo estaciones de trabajo, cuya potencia distaba mucho de los grandes y costosos ordenadores centrales (mainframes). Hoy en día, los ordenadores se han convertido en el centro de ocio multimedia del hogar, y su capacidad de proceso se ha incrementado enormemente. Por ello, las redes P2P son la mejor alternativa para aprovechar toda la capacidad de proceso y almacenamiento sobrante de los ordenadores interconectados.

Mientras que P2P no es un concepto nuevo, muchos factores han hecho que esta tecnología sea por fin conocida por la inmensa mayoría de los internautas. Entre estos factores cabe destacar la explosión del número de ordenadores conectados a Internet, el rápido incremento de ancho de banda disponible por los usuarios, la mayor potencia de cálculo y capacidad de almacenamiento de los PC, y la proliferación de fuentes de información y contenidos diversos a través de la Red.

2.1.1. Concepto de par

El elemento fundamental de toda red P2P es el "par". Un par (o más exactamente igual de acuerdo a la traducción en castellano de peer) es la unidad de procesamiento básico de cualquier red P2P. Muchos piensan que un par es una aplicación ejecutándose en un ordenador conectado a una red, tal y como Internet; sin embargo, esta definición es muy limitada. Por ejemplo, esta definición no considera la posibilidad de que un par puede ser una aplicación distribuida a lo largo de varias máquinas trabajando en cluster, o que el par puede ser un dispositivo más pequeño que un ordenador, como una PDA, que se conecta a la red de forma intermitente. Una única máquina podría incluso ser responsable de ejecutar múltiples pares simultáneamente.

Por ello, una definición más apropiada de par sería la siguiente: una entidad capaz de desarrollar algún trabajo útil y de comunicar los resultados de ese trabajo a otra entidad de la red, ya sea directa o indirectamente.

Por otro lado, los servicios proporcionan una funcionalidad útil que se consigue mediante la comunicación de los distintos pares. Esta funcionalidad o aplicación para el usuario puede ser transferir un fichero, proporcionarle información de estado, realizar un cálculo o comunicarle con otro usuario. Los servicios son la razón de integrar dispositivos en redes P2P; sin servicios no tendríamos una red P2P, tendríamos un conjunto de dispositivos incapaces de realizar algo útil de forma conjunta.

2.2. Orígenes del P2P

Las primeras aplicaciones que pueden considerarse P2P fueron el servicio de noticias de Internet o Usenet (1979) y el servicio de resolución de nombres de Internet o DNS (1983). No obstante, el P2P no llegaría a ser conocido por los usuarios hasta la aparición de Napster, a mediados de 1999. Aunque las transferencias de los archivos tenían lugar directamente entre dos equipos, Napster utilizaba servidores centrales para almacenar la lista de equipos y los archivos que proporcionaba cada uno, por lo cual no era una aplicación P2P pura. Aunque ya existían aplicaciones que permitían el intercambio de archivos, como FTP o IRC, Napster fue el primero en especializarse en los archivos de música MP3.

El resultado fue un sistema que presentaba una gran selección de música para descargar de forma totalmente gratuita, sin realizar ningún tipo de protección de los derechos de autor. El hecho de que Napster fuera un servicio centralizado se convirtió en su perdición, como ya ocurriera con otros sitios Web, por ejemplo Mp3.com o Emusic.com, que ofrecían descargas de ficheros MP3 de forma ilícita. En diciembre de 1999, varias discográficas estadounidenses demandaron a Napster, reclamando su cierre, por fomentar la piratería. La demanda, no sólo no asustó a los usuarios, también dió una enorme publicidad al servicio fomentando así su crecimiento; de forma que en febrero de 2001 Napster alcanzó los 13,6 millones de usuarios en todo el mundo. Muchos auguraban que el cierre de Napster sólo resultaría en el surgimiento de otras aplicaciones similares de intercambio de archivos, pero finalmente el juez dictó el cierre de Napster en julio 2001, y éste se convirtió en un servicio de pago para poder sobrevivir.

Después, como líder del P2P se estableció Audiogalaxy, otra aplicación centralizada de intercambio no autorizado de música que acabó también convirtiéndose en servicio de pago por orden judicial. La asociación estadounidense de discográficas, más conocida por RIAA (Recording Industry Association of America), tomó estas resoluciones judiciales como victorias importantes encaminadas a acabar con la llamada piratería, pero tras el cierre de cada servidor surgían otras aplicaciones, y particularmente las descentralizadas, que no dependen de un servidor central y, por tanto, no tienen constancia de los archivos intercambiados.

En 2002 se produjo un éxodo masivo de usuarios hacia redes totalmente descentralizadas, como Kazaa, Grokster y Morpheus. Acabar con las redes centralizadas era relativamente sencillo, pues bastaba con cerrar el servidor que almacena las listas de usuarios y archivos compartidos. La RIAA intentó, también por la vía judicial, acabar con los nuevos servicios descentralizados que permitían compartir varios tipos de archivos (no sólo MP3); pero Grokster y Morpheus ganaron sus juicios en abril de 2003.

Por ello, la RIAA optó por llevar a juicio ya no a los creadores de los programas de intercambio de archivos, sino a sus usuarios. En septiembre de 2003, demandó a 261 internautas por copiar música de forma no autorizada. Resultó particularmente polémico que, entre esos 261 internautas, se encontrara una niña de 12 años, que acabó condenada a pagar 2.000 dólares por compartir cerca de mil canciones. Durante el año 2005 se llevaron a cabo 20.000 acciones judiciales contra usuarios de sitios no autorizados de descarga de música en 17 países. Sin embargo, estas demandas no han conseguido disuadir a los usuarios, pues los programas P2P siguen siendo las aplicaciones más empleadas de la Red.

2.2.1. MP3

Los programas P2P permiten la distribución de cualquier tipo de contenido digital en todo tipo de formato digital; no obstante, fueron las canciones en MP3 las que dieron lugar al crecimiento explosivo de estos programas.

MP3 es un formato de compresión de audio muy famoso, debido a su alta calidad de sonido y su elevada capacidad de compresión. Su algoritmo se basa en la forma de escuchar que tiene el oído humano (efecto psicoacústico), pues las frecuencias que quedan fuera de la audición no son registradas en el archivo (las mayores de 20 kHz y las menores de 20 Hz). Esto se traduce en archivos mucho más pequeños, sin una perdida apreciable de la calidad sonora. De esta forma, una canción en formato MP3 ocupa en el disco duro de un ordenador alrededor de 10 veces menos que la misma canción si hubiera sido grabada desde un CD audio sin ningún tipo de compresión.

El formato de compresión de audio MP3 (Motion Picture Experts Group – layer 3) fue desarrollado en 1987 por el laboratorio alemán Fraunhoffer IIS, pero su “boom” no se produjo hasta 1997, cuando nació el primer programa de reproducción de ficheros MP3 para Windows, el conocidísimo WinAmp de Justin Frankel. Al principio, este programa era utilizado sobre todo por las emisoras FM de radio, que almacenaban la música que iban a emitir en servidores de ficheros, evitando así la manipulación de los discos. El problema surgió cuando el gran público tuvo acceso a ese sistema, ya que MP3 se convirtió en una herramienta de piratería a gran escala. Debido al pequeño tamaño de los ficheros y a su alta calidad sonora, los internautas comenzaron a intercambiar ficheros sobre los que no tenían derechos. En un principio los usuarios participantes eran pocos, pero con el tiempo los intercambios de música en la Red aumentaron hasta convertirse en un quebradero de cabeza para las compañías discográficas.

Antes de la existencia de MP3, los usuarios de computadoras ya acostumbraban a bajar música de Internet, pero el formato que utilizaban, WAV (Waveform Audio File), ocupaba mucho espacio, a diferencia de MP3. Así, el problema del formato WAV era que consumía una gran cantidad de espacio en disco y tardaba demasiado tiempo en descargarse. Por ejemplo, el archivo WAV de una canción de 4 minutos ocupa aproximadamente 40 MB, y al convertir ese archivo a formato MP3, sólo 3,33 MB. MP3 ha llegado así a reemplazar casi totalmente al WAV, ofreciendo una excelente calidad de audio con menor tamaño en comparación con otros archivos.

La mayor parte del uso que se ha hecho del MP3 no ha seguido las imposiciones legales, pero el problema para las discográficas es que resulta imposible emprender medidas contra una persona por transformar sus CD audio en ficheros MP3. No obstante, hay que matizar que sería legal transformar los CD de audio comprados legalmente en un distribuidor autorizado (evidentemente, esto no lo cumplen los CD del “top manta”) en ficheros MP3, a condición siempre de emplear los ficheros de forma estrictamente personal. En cambio, no está permitido dejar en un sitio Web ficheros MP3 de los que no se tienen los derechos, enviar por correo electrónico ficheros de los que no se poseen los derechos, bajarse los ficheros MP3 de un sitio Web que no es dueño de los derechos, convertir las canciones en ficheros MP3 de un CD prestado para su uso personal, etc.

En cualquier caso, MP3 es un formato de música digital totalmente legal que ha favorecido indirectamente sectores como el de los fabricantes de infraestructura para el acceso de banda ancha a Internet (Alcatel, Ericsson, Lucent, Nortel, etc.) y el de los fabricantes de dispositivos electrónicos de consumo (LG, Philips, Samsung, Sony, etc.), sobre todo en unos momentos difíciles para ambas industrias. Las ventajas que ofrecen los archivos MP3 son que, al ocupar poco espacio en disco, se hace posible almacenar grandes cantidades de estos archivos en disco duro (del PC, jukebox, etc.) o en CD-ROM y, asimismo, son fáciles de identificar, ya que su extensión es “.mp3”. En suma, mayor calidad en menos espacio. Además es un formato que facilita a los usuarios crear sus propias recopilaciones. Como inconvenientes cabe recordar que no pueden escucharse en cualquier equipo de sonido y que se pierde algo de calidad con respecto al CD.

Durante los últimos años han aparecido otros formatos con mayor capacidad de compresión, como WMA (Windows Media Audio) y AAC (Advanced Audio Code). Además de ofrecer una compresión mayor al MP3 (alrededor del 30% para la misma calidad sonora), estos formatos emplean técnicas avanzadas para la protección digital de los derechos de autor.

Reproductor de MP3 para PC WinAmp

Figura 2: Reproductor de MP3 para PC WinAmp.

2.2.2. Napster

Napster es un servicio de distribución de archivos de música en formato MP3 creado por Shawn Fanning en junio de 1999. Su novedosa tecnología permitía a los aficionados a la música compartir sus colecciones de MP3 fácilmente con otros usuarios, lo que originó las protestas de las entidades de gestión de la propiedad intelectual.

Napster fue el primero de los sistemas de distribución de archivos P2P de popularidad masiva. No era exactamente un sistema “entre iguales”, ya que utilizaba un servidor central para mantener listas de usuarios conectados y archivos compartidos por cada uno de ellos. Este servidor era el encargado de implementar un potente motor de búsqueda para que los usuarios pudieran localizar los ficheros sobre catálogos mantenidos dinámicamente, con información de nombre y ubicación del fichero, dirección IP (Internet Protocol) y puerto. Las transferencias de archivos, sin embargo, se realizaban entre los usuarios sin intermediarios, mediante TCP (Transport Control Protocol).

En diciembre de 1999, varias empresas discográficas presentaron una demanda contra Napster, acusándola de fomentar la piratería y de violar las leyes sobre el derecho de autor. Paradójicamente, Napster consiguió así enorme popularidad y varios millones de nuevos usuarios. Para los seguidores de Napster, el proceso judicial que siguió fue algo confuso, pues entendían que una de las razones de ser de Internet era la compartición de archivos y que Napster únicamente actuaba como motor de búsqueda. Argumentaban además que, al cerrar Napster, sólo se conseguiría que sus usuarios emigraran hacia otros sistemas de intercambio de archivos. Así sucedió, de hecho, con programas como: Audiogalaxy, Morpheus, Gnutella o Kazaa. Sin embargo, en julio de 2001 un juez ordenó el cierre de los servidores Napster para prevenir más infracciones de la legislación de propiedad intelectual. El 24 de septiembre de 2001, el proceso había prácticamente llegado a su fin. Napster aceptó indemnizar a las empresas discográficas con 26 millones de dólares por daños y abonó otros 10 millones de dólares por futuras licencias.

Durante 2002, la empresa entró en fase de quiebra y disolución. En noviembre, el fabricante de software Roxio adquirió la marca por 5,1 millones de dólares y anunció la creación de un nuevo servicio de pago para el año 2003. Desde entonces, Napster es la segunda tienda de distribución de música por Internet por volumen de negocio, tras la exitosa iTunes de Apple.

Funcionamiento de Napster

Figura 3: Funcionamiento de Napster.

¿Se trató realmente una victoria de las discográficas contra la piratería? Para los integrantes de la RIAA, la asociación de las 5 grandes multinacionales de la música, y de algunos artistas, la sentencia contra Napster fue un rotundo triunfo. Pero el proceso generó gran expectación y ocupó durante varios días los titulares de los medios de comunicación de todo el mundo. La consecuencia fue que si antes sólo unos millones de internautas sabían que era posible conseguir música gratis, tras el contencioso lo sabían prácticamente todos. Los usuarios se dieron cuenta de que no necesitaban Napster, pues había disponibles muchas otras alternativas (por aquel entonces, más de 190 programas) para compartir contenidos en la Red. Las discográficas pronto descubrirían que los servidores de Napster fueron sustituidos, por ejemplo, por los de OpenNap, que permite a cada ordenador, en cualquier lugar, ser un servidor. Y en estas circunstancias: ¿a quién pueden perseguir?... ¿a todos los usuarios de Internet?. El problema era verdaderamente complejo.

2.3. Funcionamiento del P2P

La arquitectura tradicional para el desarrollo de aplicaciones distribuidas está basada en el modelo cliente-servidor. Este modelo, empleado en Internet para la práctica totalidad de los servicios convencionales (Web, FTP, Telnet, etc.), consta de una serie de clientes que acceden simultáneamente a un conjunto de servidores que ofrecen ciertos recursos o aplicaciones. Cuando se pretenden descargar grandes volúmenes de información a muchos clientes, la arquitectura cliente-servidor es lenta, costosa y no escalable. No aprovecha, por ejemplo, que un mismo servidor muy remoto pueda estar siendo objeto de acceso por dos clientes muy cercanos entre sí.

En cambio, la arquitectura para la distribución de contenidos empleada por los primeros programas P2P es una arquitectura cliente-servidor, pero en la que también colaboran los clientes o pares. En este caso, los ordenadores clientes se ayudan entre sí, convirtiéndose en servidores de otros clientes. Estas redes pueden crecer indefinidamente sin incrementar el tiempo de las búsquedas y sin necesidad de costosos recursos centralizados; como utilizan el ancho de banda, capacidad de almacenamiento y capacidad de procesamiento de las máquinas que interconectan, el número de dichos recursos siempre aumenta en proporción directa con el propio crecimiento de la red.

Debido a que la mayoría de los ordenadores domésticos no tienen una IP fija, sino que el proveedor de acceso a Internet la asigna dinámicamente al conectarse a la Red, no pueden comunicarse entre sí porque de antemano no saben las direcciones que deben usar. La solución empleada tradicionalmente consistía en realizar una conexión a un servidor (o servidores) con dirección conocida (normalmente IP fija), que se encargaba de mantener la relación de direcciones IP de los clientes y servidores de la red, así como información adicional, como un índice de los contenidos o recursos disponibles en los distintos clientes. Con ello, los clientes disponen ya de información sobre el resto de la red y pueden intercambiar información o recursos entre sí, sin intervención de los servidores.

Arquitectura cliente-servidor tradicional y asistida por pares

Figura 4: Arquitectura cliente-servidor tradicional y asistida por pares.

Para descargar un fichero a través de redes P2P, en primer lugar, los ficheros objeto de la descarga se segmentan en pequeñas partes para su distribución. Acto seguido, los clientes solicitan diferentes trozos al servidor o a otros clientes y comienzan su descarga de forma concurrente para conseguir una mayor velocidad. Entonces, esos mismos clientes se convierten en servidores para los trozos que están descargando o que acaban de descargar. Como el mismo fichero se descarga desde múltiples fuentes al mismo tiempo, la velocidad es mucho mayor cuando crece el número de usuarios que lo comparten. Dado que el ancho de banda y el número de conexiones establecidas es limitado en cada servidor, es necesario establecer un sistema de colas que permita que todos los clientes descarguen distintos segmentos de forma equitativa. Una vez que el cliente disponga de todos los trozos descargados, reconstruirá el fichero total. En ese momento, el usuario podrá reproducir el vídeo o la canción descargada.

El procedimiento empleado cuando, por ejemplo, se comparten recursos computacionales a través de redes P2P es básicamente el mismo, con la salvedad de que ahora serán las tareas las que se segmentan teniendo en cuenta sus posibilidades de paralelización. Una vez divididas en partes independientes, estas tareas se envían a distintos pares para su solución.

Descarga de ficheros en P2P

Figura 5: Descarga de ficheros en P2P.

2.4. Arquitecturas del P2P

Todos los sistemas de computación pueden clasificarse en centralizados o distribuidos. Los sistemas distribuidos pueden, a su vez, desarrollarse según en el modelo cliente-servidor o según el modelo P2P.

El modelo cliente-servidor puede ser plano, cuando varios clientes dispersos se comunican con un único servidor, que podría estar replicado para mejorar la robustez y fiabilidad; o jerárquico, para mejorar la escalabilidad y el rendimiento. En un modelo jerárquico, los servidores de un nivel actúan como clientes de los servidores de un nivel superior. Como ejemplo de modelos planos pueden citarse las soluciones middleware tradicionales, como CORBA (Common Object Request Broker Architecture). Entre los modelos jerárquicos cabe destacar DNS (Domain Name Service) y Usenet.

El modelo P2P puede ser puro o híbrido. En un modelo puro no existe ningún servidor centralizado. Como ejemplos están FreeNet o Gnutella en sus orígenes. En un modelo híbrido, antes de que un cliente contacte con otros clientes de la red se accede a un servidor para obtener cierta información, como puede ser la identidad de otro par en el que se encuentra cierta información, o para verificar las credenciales de seguridad. Este modelo es, por ejemplo, el de Napster, Groove o iMesh. Existe finalmente un modelo mixto, como el empleado por Kazaa o BitTorrent, donde se manejan superpares que pueden contener información de la que carecen otros pares normales. De esta forma, cuando los pares no encuentran cierto tipo de información a partir de otros, contactan con los superpares.

Tipos de arquitecturas P2P

Figura 6: Resumen de los distintos tipos de arquitecturas P2P.

2.4.1. Tipos de arquitecturas

Los distintos tipos de arquitecturas P2P pueden resumirse en: modelo P2P híbrido, modelo P2P puro y modelo P2P mixto.

Modelo P2P híbrido

La primera generación de P2P (por ejemplo, Napster) empleaba una estructura de red cliente-servidor. El servidor central mantiene una base de datos con información de los ficheros almacenados por cada par. Cada vez que un cliente se conecta o desconecta de la red, se actualiza la base de datos. En este modelo, todos los mensajes de búsqueda y control son enviados al servidor centralizado. El servidor centralizado compara la solicitud de sus clientes con el contenido de su base de datos y envía las correspondencias al cliente en cuestión. Una vez informado de las correspondencias, el cliente contacta con el par directamente y accede al recurso solicitado. Los contenidos nunca se almacenan en el servidor central.

La arquitectura P2P centralizada proporciona un rendimiento muy elevado cuando se trata de localizar recursos. Todos los pares de la red deben registrarse, lo cual asegura que todas las búsquedas van a ser cursadas y ejecutadas rápida y eficientemente siempre y cuando el servidor esté bien dimensionado. Sin embargo, es un sistema muy costoso.

Modelo P2P puro

La segunda generación de P2P (por ejemplo, FreeNet o la primera versión del protocolo Gnutella) usa un modelo distribuido donde no existe ningún servidor central y todos los nodos tienen el mismo "status". Cada nodo actúa como servidor y como cliente en la red. Como es evidente, cada par dentro de esta arquitectura trata de mantener un cierto número de conexiones con otros pares durante todo el tiempo. Este conjunto de pares conectados transporta el tráfico de red, que está conformado esencialmente por peticiones y respuestas a esas peticiones y varios mensajes de control que facilitan el descubrimiento de otros nodos.

El modelo P2P puro no reside en un servidor centralizado y, por consiguiente, es mucho más robusto y económico que el P2P híbrido. La principal desventaja reside en el elevado tiempo y la sobrecarga de ancho de banda que suponen las búsquedas de información en la red. Una solicitud puede tener que viajar a través de varios centenares de usuarios antes de que se consiga el resultado.

Modelo P2P mixto

En la tercera generación de P2P (por ejemplo, FastTrack, Kazaa, Grokster, o Groove; y los clientes Gnutella y Gnutella2 actuales, empleado por aplicaciones como: BearShare, LimeWire, Gnucleus, Shareaza o Morpheus) se emplea una arquitectura P2P mixta. Dentro de este modelo, ciertos pares de la red se seleccionan como superpares y ayudan a gestionar el tráfico dirigido hacia otros pares. Los superpares cambian dinámicamente a medida que lo hacen el ancho de banda de la red y la topología. Cada nodo cliente mantiene sólo un pequeño número de conexiones abiertas y cada una de esas conexiones es un superpar.

Esta nueva topología virtual tiene el efecto de hacer la red escalable, mediante la reducción del número de nodos involucrados en el encaminamiento y manejo de los mensajes de búsqueda y control, así como la disminución del volumen de tráfico entre ellos. Debido a los superpares, que también actúan como concentradores de búsquedas, la velocidad de respuesta a las solicitudes dentro de este entorno P2P descentralizado es comparable a la de un entorno P2P centralizado, aunque más escalable y tolerante a fallos.

Red P2P descentralizada asistida por superpares

Figura 7: Red P2P descentralizada asistida por superpares.

2.5. Propiedades y beneficios del P2P

Los programas P2P tienen una serie de características distintivas muy interesantes propias de su naturaleza descentralizada, que pueden resumirse en: descentralización, escalabilidad, anonimato, propiedad compartida, conectividad ad hoc, rendimiento, seguridad, tolerancia a fallos e interoperabilidad.

Descentralización

En el modelo cliente-servidor tradicional, la información se concentra en servidores y a ella acceden los usuarios mediante programas clientes, que básicamente se comportan como meras interfaces de usuario. Estos sistemas centralizados son ideales para ciertas aplicaciones y tareas. Por ejemplo, el control de los derechos de acceso y las búsquedas de recursos se gestionan mucho más fácilmente en sistemas centralizados. Sin embargo, la topología de los sistemas centralizados lleva inevitablemente a ineficiencias, cuellos de botella y recursos desperdiciados. Es más, resulta muy caro establecer los registros centralizados y mantenerlos con información relevante y actualizada.

Escalabilidad

Un beneficio inmediato de la descentralización es la mejora de la escalabilidad. La escalabilidad está limitada por factores tales como la cantidad de operaciones centralizadas (por ejemplo, sincronización y coordinación) que deben ejecutarse, la cantidad de estados que han de mantenerse, el paralelismo inherente que exhibe una aplicación y el modelo de programación que se emplea en el desarrollo de la aplicación concreta. En cualquier caso, la escalabilidad nunca debe conseguirse a costa de degradar otras características deseables, tales como el determinismo y el rendimiento.

Anonimato

El anonimato permite a los usuarios emplear un sistema sin preocuparse de cuestiones como el ataque a su intimidad. Para ello, es necesario asegurar el anonimato tanto de la identidad del emisor y receptor de los mensajes como del autor, distribuidor y lector de los contenidos y del lugar donde se almacenan. Un objetivo a más largo plazo consiste en garantizar que no es posible la censura de cualquier contenido digital. Existen varias técnicas para alcanzar el anonimato en las redes P2P, como la creación de grupos de multicasting para que el receptor de un mensaje o contenido no pueda ser identificado; ocultación de la dirección IP y la identidad del emisor; comunicación mediante nodos intermedios a pesar de que sea factible contactar directamente con el destinatario, o ubicación involuntaria, encriptada y fragmentada de los contenidos.

Propiedad compartida

La propiedad compartida reduce el coste de la posesión de los sistemas y contenidos, así como el coste de su mantenimiento. El coste del sistema global se ve limitado, además, porque en P2P se reducen las capacidades de cálculo, almacenamiento y ancho de banda ociosas.

Conectividad ad hoc

La naturaleza ad hoc de la conectividad es normal en los entornos P2P, por lo que estas aplicaciones están preparadas para nodos que no están disponibles durante todo el tiempo o que lo hacen de forma intermitente. La naturaleza ad hoc se reduce, por ejemplo, mediante proveedores de contenidos redundantes con técnicas de replicación espontáneas o nodos centralizados que se encargan de mantener la información o mensajes destinados a pares temporalmente desconectados de la red.

Rendimiento

Los sistemas P2P pretenden mejorar el rendimiento agregando anchos de banda, capacidad de almacenamiento y ciclos de computación de los dispositivos diseminados por una red. Los sistemas descentralizados consiguen un mayor rendimiento, salvo para ciertas funciones, típicamente la búsqueda de recursos en la red. Por ello, las aplicaciones P2P actuales suelen tener una arquitectura mixta, incorporando el concepto de superpares, o pares en los que otros pares delegan las búsquedas de recursos.

Seguridad

Los sistemas P2P comparten la mayoría de los requisitos de seguridad con los sistemas distribuidos tradicionales, como el establecimiento de relaciones de confianza entre los nodos y objetos distribuidos y de esquemas de intercambio de claves de sesión. No obstante, en los sistemas P2P aparecen nuevos requisitos: encriptación en las comunicaciones y almacenamiento de datos, sandboxing, gestión de derechos digitales, reputación e interoperabilidad con cortafuegos y NAT.

Tolerancia a fallos

Los sistemas cliente-servidor suponen una pérdida total del sistema cuando el servidor falla, algo que evidentemente no ocurre en P2P. Es decir, un objetivo básico de diseño de una red P2P es que ésta no pierda su funcionalidad debido a fallos asociados a desconexiones de nodos o a nodos no alcanzables, caídas de la red y fallos de nodos. Por ello, es siempre deseable encontrar mecanismos que permitan manejar este tipo de fallos, bastante frecuentes sobre todo en las redes inalámbricas. La forma de conseguir la tolerancia a fallos es que varios nodos sean capaces de ofrecer los mismos recursos y servicios, para lo cual, habitualmente, se replican espontáneamente.

Interoperabilidad

A pesar de que existen ya muchos sistemas P2P, la mayoría de ellos no son interoperables, es decir, aunque comparten un mismo propósito no son capaces de comunicarse y entenderse entre sí. La razón de esta falta de interoperabilidad ha sido la inexistencia de una entidad de estandarización mundial dedicada al mundo del P2P. No obstante, recientemente se han obtenido mejoras significativas a este respecto, con la formación del Grupo de Trabajo P2P y la aparición de JXTA. El Grupo de Trabajo P2P de Internet2 es un intento de reunir los esfuerzos e iniciativas de la comunidad de desarrolladores de aplicaciones P2P y de establecer un grupo común para escribir reportes y especificaciones que hagan posible el entendimiento común entre todas ellas. Por otro lado, el Proyecto JXTA supone un importante esfuerzo para conseguir la interoperabilidad ofreciendo una infraestructura de código abierto para el desarrollo de aplicaciones P2P, con el objetivo de convertir esta arquitectura básica o middleware en un estándar de hecho.

Acceder al capítulo de presentación y objetivos Acceder al capítulo de aplicaciones del P2P

Volver al índice del libro