La sociedad de hoy en día necesita un abundante intercambio de información para el desarrollo de la mayoría de las actividades o trabajos. Por ejemplo, las empresas, sobre todo multinacionales, distribuyen sus proyectos entre las numerosas sedes que tienen por todo el mundo; esto supone que entre las distintas sedes deba de haber una comunicación y un intercambio de información para el buen desarrollo de sus proyectos. Otro ejemplo son las universidades, que necesitan un sistema para intercambiar información con los estudiantes, para proporcionarles apuntes, exámenes etc.
En el día de hoy vamos a ver que son las redes P2P, sus tipos, diferencias y qué usos podríamos darle a nivel particular, ya que tiene muchas ventajas, aunque también veremos las desventajas, peligros y si realmente es legal usar este tipo de redes y programas, o estaríamos cometiendo un delito al hacerlo.
Inicios del P2P
Es por esto que hacia 1996, surge la primera aplicación P2P de las manos de Adam Hinkley, Hotline Connect, que pretendía ser una herramienta destinada a universidades y empresas para la distribución de archivos. Esta aplicación utilizaba una estructura descentralizada y no tardó mucho en quedar obsoleto (por depender de un único servidor); y como fue diseñado para Mac OS, no produjo un gran interés por los usuarios.
Es con Napster, en 1999, cuando el uso de las redes P2P suscitó curiosidad entre los usuarios. Este sistema de intercambio de música, utilizaba un modelo híbrido de red P2P, puesto que aparte de la comunicación entre pares, incluyó un servidor central para organizar dichos pares. Su principal problema era que el servidor introducía puntos de ruptura y una gran posibilidad de que se produjeran cuellos de botella.
Es por esto que van surgiendo nuevas topologías como la descentralizada, cuya principal característica es que no necesita un servidor central para organizar la red; un ejemplo de esta topología es Gnutella. Otro tipo son las redes P2P estructuradas, que se centran en la organización del contenido en lugar de organizar a los usuarios; como ejemplo destacamos JXTA. También tenemos las redes con Tabla de Hashes Distribuida (DHT), como por ejemplo Chord.
A continuación, desarrollaremos los tipos de redes P2P mencionadas anteriormente.
Primeros sistemas P2P: un enfoque híbrido
Los primeros sistemas P2P, como Napster o SETI@home, fueron los primeros en trasladar las tareas más pesadas desde los servidores a los ordenadores de los usuarios. Con la ayuda de Internet, que permite combinar todos los recursos que los usuarios aportan, consiguieron que estos sistemas alcanzaran una mayor capacidad de almacenamiento y un mayor poder de computación que los servidores. Pero el problema residía en que sin una infraestructura que actuara de intermediaria entre las entidades pares, el sistema se convertiría en un caos, ya que cada par acabaría actuando de forma independiente.
La solución para el problema del desorden, es introducir un servidor central, que se encargará de coordinar a los pares (la coordinación entre pares puede variar mucho de unos sistemas a otros). A este tipo de sistemas se les denomina sistemas híbridos, puesto que combinan el modelo cliente-servidor, con el modelo de las redes P2P. Mucha gente opina que este enfoque no debe calificarse como un sistema P2P real, pues introduce un componente centralizado (servidor), pero a pesar de esto, este enfoque ha tenido y sigue teniendo mucho éxito.
En este tipo de sistemas, cuando una entidad se conecta a la red (utilizando una aplicación P2P), ésta se registra en el servidor, de manera que el servidor tiene controlado en todo momento el número de pares que hay registrados en ese servidor, permitiéndoles ofrecer servicios al resto de pares. Normalmente la comunicación entre pares se realiza punto a punto, ya que los pares no forman ninguna red importante.
El principal problema que presenta este diseño es que introduce un punto de ruptura del sistema y una alta probabilidad de que se produzca lo denominado “cuello de botella” (En la transferencia de datos, cuando la capacidad de procesamiento de un dispositivo es mayor que la capacidad al que se encuentra conectado el dispositivo). Si la red crece, la carga del servidor también crecerá y si el sistema no es capaz de escalar la red, ésta se colapsaría. Y si el servidor falla, la red no sería capaz de reorganizarse.
Pero a pesar de todo, todavía hay muchos sistemas que utilizan este modelo. Este enfoque es útil para sistemas que no pueden tolerar inconsistencias y no necesitan gran cantidad de recursos para las tareas de coordinación. A modo de ejemplo, presentamos a continuación el modo de actuar de Napster. Napster surge a finales de 1999, de la mano de Shawn Fanning y Sean Parke, con la idea de compartir archivos de música entre los usuarios.
El funcionamiento de Napster consiste en que los usuarios deben conectarse a un servidor central, que se encarga de mantener una lista de los usuarios conectados y de los archivos disponibles en dichos usuarios. Cuando un usuario quiere obtener un archivo, realiza una búsqueda en el servidor y éste le proporciona una lista con todos los pares que tienen el archivo que busca. Así, el interesado busca al usuario que mejor le puede proporcionar lo que necesita (seleccionando los que mejor tasa de transferencia tengan, por ejemplo) y obtiene directamente de él su archivo, sin intermediarios. Napster pronto se convirtió en un sistema muy popular entre los usuarios, alcanzando los 26 millones de usuarios en el 2001, lo que produjo el malestar de las discográficas y músicos.
Es por ello que la RIAA (Recording Industry Association of America) y varias discográficas, en el intento de acabar con ella, interpusieron una demanda a la empresa, lo que originó el cierre de sus servidores. Esto produjo un colapso en la red, puesto que los usuarios no eran capaces de descargar sus archivos de música. Como consecuencia, en lugar de terminar con la “piratería”, una gran parte de usuarios emigraron a otros sistemas de intercambio como Gnutella, Kazaa, etc.
Más tarde, hacia 2008, Napster se convirtió en una empresa de venta de música MP3, con una gran cantidad de canciones para descargar: free.napster.com.
Redes P2P no estructuradas
Otro modo de compartir archivos es utilizando una red no centralizada, es decir, una red donde se elimina cualquier tipo de intermediario entre los usuarios de forma que es la propia red la encargada de organizar la comunicación entre pares.
En este enfoque, si se conoce a un usuario, se establece una “unión” entre ellos, de manera que forman una “red”, que se puede unir a más usuarios. Para encontrar un archivo, un usuario emite una consulta, que va inundando toda la red, con el objetivo de encontrar el máximo de usuarios que posean esa información.
Por ejemplo, para realizar una búsqueda en Gnutella, el usuario interesado emite una petición de búsqueda a sus vecinos, y estos a los suyos. Pero para evitar colapsar la red con una pequeña consulta, el horizonte de difusión está limitado a una determinada distancia desde el host original y también el tiempo de vida de la petición, pues cada vez que el mensaje es reenviado hacia otro usuario, su tiempo de vida disminuye.
El principal problema de este modelo es que si la red crece, el mensaje de consulta solo llegará a unos pocos usuarios. Si lo que buscamos es algo muy conocido, seguramente cualquier host dentro de nuestro horizonte de difusión lo tendrá, pero en cambio, si lo que buscamos es algo muy especial, posiblemente no lo encontremos porque al tener limitado el horizonte de difusión, habremos dejado fuera a hosts que a lo mejor contenían la información que andamos buscando.
A día de hoy, las redes P2P no centralizadas puras has sido sustituidas por nuevas tecnologías, como es el caso de los Supernodos.
SUPERNODOS, una jerarquía en las redes no estructuradas
Los principales problemas de las redes no estructuradas eran el horizonte de difusión y el tamaño de la red. Tenemos dos posibles soluciones: o aumentamos el horizonte de difusión, o disminuimos el tamaño de la red. Si elegimos aumentar el horizonte de difusión, aumentamos el número de hosts a los que debemos enviar el mensaje de consulta exponencialmente. Esto provocaría, como ya hemos visto, problemas en la red, como el colapso de la misma. Por el contrario, si elegimos disminuir el tamaño de la red, los sistemas son capaces de escalar mucho mejor por la red, usando los supernodos.
La idea principal de este sistema es que la red se divide entre numerosos nodos terminales y un pequeño grupo de supernodos bien conectados entre ellos, a los que se conectan los nodos terminales. Para poder ser un supernodo, es necesario ser capaz de ofrecer suficientes recursos al resto de usuarios, especialmente ancho de banda. Esta red de supernodos, a la que solo unos pocos pueden pasar a formar parte, es la encargada de mantener el tamaño de la red lo suficientemente pequeña para no perder eficiencia en las búsquedas.
Su funcionamiento es similar al del modelo híbrido, puesto que los nodos terminales se conectan a los supernodos, que toman el papel de servidores, de manera que los usuarios sólo se conectan con otros usuarios para realizar exclusivamente las descargas. Los supernodos almacenan información sobre lo que cada usuario posee, de manera que puede reducir el tiempo de una búsqueda, enviando la información hacia los nodos terminales que poseen lo que estamos buscando.
Este tipo de estructura todavía se sigue usando mucho hoy en día, sobre todo porque es muy útil para intercambiar información de contenido popular o para realizar búsquedas por palabras claves. Como la red de supernodos está reducida, estos sistemas escalan muy bien por la red y no ofrecen puntos de ruptura como el modelo híbrido. En cambio, disminuyen la robustez frente a ataques y caídas de la red y pierden precisión en la búsqueda de resultados, por la réplica a través de los supernodos. Si un pequeño número de supernodos falla, la red se divide en pequeñas particiones.
Redes P2P estructuradas
Este enfoque se desarrolla en paralelo con el enfoque de supernodos descrito anteriormente. Su principal característica es que en lugar de encargarse de organizar los nodos, se centra en la organización del contenido, agrupando el contenido similar en la red y creando una infraestructura que permite una búsqueda eficiente, entre otras cosas.
Los pares organizan entre ellos una nueva capa virtual de red, “una red superpuesta”, que se sitúa por encima de la red P2P básica. En esta red superpuesta, la proximidad entre host viene dada en función del contenido que compartan: estarán más cerca unos de otros cuantos más recursos en común proporcionen. Así garantizamos que la búsqueda se realice con eficiencia dentro de un horizonte no muy lejano y sin reducir el tamaño de la red. Como ejemplo, JXTA, donde los pares actúan en una red virtual y son libres de formar y dejar grupos de pares. Así, los mensajes de búsqueda, normalmente se quedan dentro de la red virtual y el grupo actúa como un mecanismo de agrupación, combinando pares con los mismos intereses o similares.
Este enfoque ofrece un gran rendimiento y unas búsquedas exactas, si la red virtual refleja con precisión la similitud entre los nodos respecto a las búsquedas. Pero también tiene una serie de inconvenientes: posee un alto coste de establecimiento y mantenimiento de la red virtual en sistemas donde los hosts entran y salen muy rápido; no son muy apropiados para búsquedas que incluyen operadores booleanos, ya que se necesitarían nodos que fueran capaces de realizar búsquedas con más de un término.
Una subclase dentro de este tipo de redes P2P, son las tablas de hashes distribuído.
Tablas Hash distribuido (DHT)
La característica principal de las DHT es que no organizan la red superpuesta por su contenido ni por sus servicios. Estos sistemas dividen todo su espacio de trabajo mediante unos identificadores, que le son asignados a los pares que utilizan esta red, haciéndoles responsable de una pequeña parte del espacio total de trabajo. Estos identificadores pueden ser, por ejemplo, los números enteros comprendidos en el rango [0, 2n-1], siendo n un número fijo.
Cada par que participa en esta red, actúa como una pequeña base de datos (el conjunto de todos los pares formaría una base de datos distribuida). Dicha base de datos, organiza su información en parejas (clave, valor). Pero para saber qué par es el encargado de guardar esa pareja (clave, valor), necesitamos que la clave sea un entero dentro del mismo rango con el que se numera a los pares participantes de la red. Puesto que la clave puede no estar representada en los números enteros, necesitamos una función que convierta las claves en enteros dentro del mismo rango con el que se numera a los pares. Dicha función es la función hash. Esta función tiene la característica de que ante distintas entradas, puede dar el mismo valor de salida, pero con una probabilidad muy baja. Por eso en lugar de hablar de una “base de datos distribuida”, se habla de Tabla de Hashes Distribuida (DHT), porque lo que en realidad guarda cada par de la pareja (clave, valor), no es la clave como tal, sino el hash de la clave.
Ya hemos comentado que cada par es responsable de una porción del espacio de trabajo de la red. Pero, ¿cómo se asigna la pareja (clave, valor) al par adecuado? Para ello se sigue una regla: una vez calculado el hash de la clave, la pareja (clave, valor) se le asigna al par cuyo identificador sea el más cercano (el inmediato sucesor) al hash calculado. En el caso de que el hash calculado sea mayor que los identificadores de los pares, se utiliza el convenio módulo 2n.
Una vez que hemos hablado un poco del funcionamiento básico de las DHT, vamos a ver un ejemplo de su implementación, a través del protocolo CHORD.
Protocolo de búsqueda distribuida en redes P2P: CHORD
Chord es uno de los protocolos más populares de búsqueda distribuida en redes P2P. Esté protocolo utiliza la función hash SHA-1 para asignar, tanto a los pares como a la información almacenada, su identificador. Estos identificadores están dispuestos en círculo (tomando todos los valores módulo 2m), de forma que cada nodo conoce quién es su antecesor y su sucesor más inmediato.
Para poder mantener la escalabilidad de la red, cuando un nodo abandona la red, todas sus claves pasan a su inmediato sucesor, de forma que siempre se mantiene al día la red, evitando así que las búsquedas pudieran ser erróneas.
Para encontrar al responsable que almacena una clave, los nodos se van enviando mensajes entre sí hasta que lo encuentran. Pero, debido a la disposición en círculo de la red, en el peor de los casos, una consulta puede llegar a recorrer la mitad de los nodos, provocando que sea muy caro mantenerlo. Para evitar esto, y así reducir coste, cada nodo tiene guardada una tabla de enrutamiento, en la cual se almacena la dirección de nodos que distan una cierta distancia del mismo. De esta forma, cuando queramos saber el encargado de la clave k, el nodo busca en su tabla de enrutamiento si tiene la dirección del responsable de k; si la tiene, le envía la petición directamente; si no lo tiene, le envía la pregunta al nodo más cercano de k, cuyo identificador sea menor que k.
Con esta mejora hemos conseguido rebajar el coste de las búsquedas de N/2 a log N, siendo N el número de nodo de la red.
Qué son las descargas P2P
Este tipo de descargas se realiza a través de una conexión P2P. Esto significa que vamos a necesitar, como mínimo, dos partes. El nombre P2P viene de “peer to peer”. Es lo que permite conectarse entre dos o más partes. Permite, por ejemplo, compartir información entre un ordenador y otro. Un método para enviar y recibir archivos.
Esta red de intercambio de archivos lleva con nosotros muchos años. Ha sido muy utilizada para llevar a cabo descargas en Internet. Básicamente una persona o un equipo comparte datos con otra persona o equipo. Se produce así un intercambio P2P.
En este tipo de descargas no se necesita intermediarios. Los archivos pasan directamente de un punto a otro. Ambas partes actúan simultáneamente como clientes y servidores. Los usos que se pueden dar a este tipo de red no es exclusivo para descargar. También podemos usarlo para realizar llamadas de VoIP, por ejemplo.
Qué son las descargas Torrent
Una alternativa la tenemos con las descargas Torrent. En cierto modo podemos decir que es una variante de las descargas P2P. Torrent es un formato de archivo que almacena la información del contenido que se comparte en la red. Básicamente lo que hacemos es descargar un archivo para posteriormente abrirlo con otra aplicación que es capaz de leer esa información y obtener el contenido.
Principalmente se utiliza para compartir archivos de gran tamaño. Eso sí, también se puede utilizar para las comunicaciones de voz, por ejemplo. Una de las diferencias principales es que no descargamos de un único servidor, sino que accedemos a una especie de enjambre donde muchos usuarios pueden descargar y subir contenido de forma simultánea.
Este tipo de descargas puede liberar de espacio y recursos a los servidores. Por ejemplo una distribución de Linux puede tener un servidor propio donde los usuarios se descargan el archivo para instalar en su equipo. Se necesita una serie de recursos que son limitados. Ahora bien, si esa distribución ofrece únicamente el archivo Torrent, ese usuario puede descargarlo desde una aplicación que pueda leerlo y no depender de un único servidor.
Podemos decir que P2P es el tipo de red y Torrent el tipo de archivo. Son términos que, en definitiva, están relacionados.
¿Son seguras las redes P2P?
Hay muchos mitos relacionados con las descargas de Internet. Podemos leer información de que bajar archivos pueden infectar nuestros equipos, que pueden utilizar plataformas de este tipo para robar contraseñas o acceder a los sistemas de la víctima. Hay que indicar que todo esto podría ocurrir, pero lo que más importa es el uso que demos. Es decir, de qué manera utilicemos las plataformas P2P para descargar.
Una red P2P aprovecha los recursos de una red para poder compartir contenido con otros usuarios. Distribuye el ancho de banda para ese fin. Por ello la velocidad y calidad de una descarga dependerá de factores como la tarifa de Internet que tengamos contratad (la velocidad máxima en este caso) y el uso que estemos dando en ese momento (por ejemplo si hay muchos equipos conectados y que puedan limitarlo).
Ahora bien, ¿es seguro utilizar las redes P2P para descargar? Lo cierto es que si no hacemos un buen uso de estos servicios sí podría ser un riesgo. Podríamos tener problemas, como vamos a ver a continuación. Por ejemplo descargar un archivo que en realidad es un malware y ha sido colocado como cebo.
Las redes P2P pueden contener archivos de todo tipo. Con esto nos referimos también a que pueden ser pequeños documentos, pero también grandes carpetas. Los ciberdelincuentes pueden aprovechar esta flexibilidad para poder colar ahí virus y cualquier software malicioso para lograr sus objetivos.
Filtración de datos
Nuestra información personal, los datos del equipo o archivos que tengamos en el dispositivos podrían verse comprometidos. Podría haber una filtración de datos que ponga en riesgo nuestra privacidad. Es uno de los aspectos negativos de hacer uso de las redes P2P y cometer errores.
Hay que tener siempre presente qué estamos compartiendo y con quién. Además de evitar dar más permisos de los necesarios a las aplicaciones que utilicemos y que podría acceder a contenido personal y sensible que no quisiéramos que se filtre en la red. Si bajamos por error un virus a través de este tipo de redes, podríamos estar exponiendo nuestra información personal.
Descarga de malware
Las redes P2P sirven para descargar contenido. No todo lo que hay es legal, como sabemos. Podemos encontrarnos con archivos que tienen copyright. A veces una película, juego o cualquier otro archivo que encontramos ha sido modificado de forma maliciosa y realmente no es lo que debería.
Es aquí donde los piratas informáticos introducen malware. Crean un archivo con el nombre de esa película, música o libro que queremos descargar y en realidad lo que estamos bajando a nuestro equipo es un malware que podría robar información. Hay muchos tipos de virus y pueden ocultarse en archivos de texto, de audio, de vídeo… Las opciones realmente son muy amplias para los piratas informáticos.
Consumo de recursos
Aunque no es un problema directamente relacionado con la seguridad, sí es otro de los inconvenientes que podemos tener por utilizar redes P2P. Esto dependerá especialmente de los recursos de nuestro sistema. Mientras menos tengamos, peor. Es un problema que también afecta a nuestra conexión de Internet, ya que puede consumir el ancho de banda y tener problemas para navegar.
Siempre que descarguemos datos o estemos compartiendo archivos con terceros nuestro equipo está poniendo sus recursos para que esto sea posible. Podríamos tener problemas para navegar desde otros dispositivos.
Cómo usar las redes P2P con seguridad
Hemos visto que, si no tomamos medidas adecuadas, las redes P2P pueden ser un problema que afecte a nuestra seguridad. Ahora vamos a dar algunos consejos básicos para intentar reducir al máximo el riesgo y que todo vaya correctamente.
Elegir bien el programa a usar
Lo primero es elegir correctamente qué programa vamos a utilizar. Es muy importante que nos informemos previamente por Internet. Hay muchas opciones y no todas ellas son seguras. Podríamos estar instalando algún software peligroso, que ha sido creado para atacar. Debemos informarnos, leer comentarios de otros usuarios, etc.
Por tanto, el primer paso que debemos dar es el de elegir bien de dónde vamos a descargar el programa y cuál. Siempre hay que bajarlo de fuentes oficiales, evitando así los sitios de terceros que puedan ser un problema, y es que están pensados para engañarnos. Por tanto, no solo depende del que elijamos, sino de dónde lo descarguemos.
Descargar solo archivos fiables
A la hora de descargar archivos hay que asegurarse de que son fiables. No debemos bajar software que no sabemos realmente si es legítimo o quién lo ha subido a la red para su posterior descarga. Podríamos estar bajando malware sin que nos demos cuenta. Nuevamente es importante leer comentarios de otros usuarios que han podido dejar.
Además, una buena idea es analizar primero esos archivos que hemos descargado o incluso abrirlos en otro equipo seguro. De esta forma evitaremos comprometer nuestro equipo principal y poner en riesgo la privacidad. Es una opción sencilla que podemos poner en práctica, por ejemplo usando un sistema Linux para estas pruebas.
Tener herramientas de seguridad
Por supuesto siempre hay que contar con un buen antivirus. Tenemos a nuestra disposición muchos programas que sirven para protegernos en la red. Especialmente cuando vayamos a utilizar plataformas de este tipo hay que estar bien protegidos. Algunos ejemplos que podemos nombrar son Windows Defender, Avast o Bitdefender.
Tenemos muchos programas a nuestra disposición. Los hay tanto gratuitos como de pago y están disponibles para todo tipo de plataformas y dispositivos. No importa el sistema operativo que usemos, siempre hay que contar con herramientas de seguridad.
Tener los equipos actualizados
Otra cuestión a tener en cuenta es la de contar siempre con las últimas versiones y parches. A veces nos encontramos con ciertas vulnerabilidades que pueden ser explotadas por parte de los piratas informáticos. Esto es un problema si no lo hemos corregido previamente. Esto incluye el propio programa P2P, pero también el sistema, el antivirus, etc. El objetivo aquí es poder corregir posibles vulnerabilidades que aparezcan.
Nuestro consejo es siempre tener los equipos actualizados, pero también los programas P2P que vayamos a utilizar. Así reducimos al máximo el riesgo al descargar o compartir archivos por la red a través de este tipo de servicios.
En definitiva, por sí misma la red P2P no es un peligro. No obstante, sí que podríamos llegar a tener problemas si por error descargamos un archivo peligroso e infectamos el sistema con malware. Es por ello que debemos tener siempre cuidado, contar con programas de seguridad y tener todo actualizado. Una opción sería usar una máquina virtual, donde podríamos comprobar si el archivo es lo que buscamos, para posteriormente pasarlo al equipo original. Aunque sea más tedioso, es una forma de doble protección.
¿Es legal el uso de P2P?
Ya hemos visto que este tipo de redes puede tener peligros, ya que los archivos que nos podemos descargar podrían infectar nuestro equipo o no ser realmente los que deseamos, sin embargo, dejando esto a un lado, todos sabemos que estas herramientas no solo se usan para descargar archivos legales, sino también películas, juegos y todo tipo de servicios de pago, sin necesidad de gastar dinero para ello.
Pues bien, el uso de estos servicios es totalmente legal, sin embargo, la finalidad con la que lo usemos no tanto, pues puede que, sin saberlo, estemos intentando descargar un documental gratuito, y de repente sea una película recién estrenada en el cine. En este caso no ha sido intencionado, sin embargo, si usamos webs que nos proporcionan directamente contenido pirata, aunque la propia página tenga más responsabilidad que nosotros, también estaríamos cometiendo un fraude, y actualmente es más sencillo de localizar que hace años, por lo que recomendamos ser precavidos, y aunque la policía no va a ir a tu casa por un par de series, sí que podrías levantar sospechas si usas las redes P2P de forma poco lícita.
Todo esto también dependerá del país donde estés realizando la práctica, pues no todos tendrán las mismas leyes, y de ahí viene que la mayoría de sitios webs que permiten esto no estén alojados en lugares muy populares, sino en países pequeños y con leyes muy flexibles.
Conclusiones
Como hemos visto, hay muchos tipos de redes P2P, cada una con sus virtudes y sus defectos. Ninguna destaca por encima de otra, lo que permite que, a la hora de programar, por ejemplo, una aplicación P2P, tener varias opciones, cada una de ellas con sus propias características.
Una cosa a tener en cuenta es como está evolucionando la forma de compartir la información. A finales del milenio pasado, el uso de redes P2P era abundante y, para la mayoría de la gente era la única forma conocida para compartir la información. Hoy en día la tendencia ha cambiado. La gente ahora prefiere intercambiar los archivos a través de grandes servidores donde en algunos casos, pagan a los usuarios por hospedarse en ellos.
Algunas preguntas que se nos pueden venir a la cabeza son: ¿Cuál es el futuro de las redes P2P? ¿Hacia qué formas de organizar la información evolucionamos?
Una de las posibles evoluciones es el salto del P2P al p4p. ¿Qué es el P4P? A modo de resumen diremos que el P4P, también conocido como P2P híbrido, es una pequeña evolución del P2P cuya principal característica es que los proveedores de servicio, los ISP, forman un papel esencial dentro de la red, ya que a la hora de hacer una búsqueda, primero se buscará entre los nodos participantes que pertenezcan al mismo ISP.