Ahora que hemos visto los inicios del P2P poniendo viendo como Napster fue la pionera de esta tecnología, veremos como es la red actual con comparación a como era hace tan solo unos años. Actualmente, el sistema más popular de compartir archivos es Gnutella, conocida como Gnutella network. Hay dos similitudes principales entre Gnutella y la antigua Napster.
Una es que los usuarios ponen los archivos que quieren compartir en sus discos duros y los dejan disponibles para todos los demás para descargarlos en un modo peer to peer. Otra similitud es que los usuarios funcionan con un software determinado para conectarse a la red de Gnutella.
Por supuesto, también existen dos grandes diferencias entre estas dos redes. Para empezar, no hay una base de datos central que conoce todos los archivos que están disponibles en la Gnutella network. En lugar de eso, todas las máquinas en la red se dicen entre si los archivos que hay disponibles usando una funcionalidad de petición distribuida. La segunda diferencia es que hay muchas aplicaciones de cliente diferentes disponibles para acceder a la red de Gnutella.
Debido a estas funcionalidades, sería difícil para una corte ordenador que se cerrara Gnutella. Tendrían que encontrar una manera de bloquear el tráfico de la red de Gnutella en la propia ISP y la propia Internet para poder hacer que la gente dejara de compartir.
El Napster original tenía solo una pieza de software cliente – que es el software que los usuarios ponen en funcionamiento en sus ordenadores para poder acceder a los servidores de Napster. Seguro que conoces muchos de ellos y los estás utilizando ahora mismo, aun sin saber que funcionaban con la red de Gnutella. Algunos de los más populares son LimeWire, Morpheus, WinMX, BearShare y Shareaza entre otros.
¿Cómo encuentra Gnutella una canción, película u otro tipo de archivo? Poniéndonos en el caso de que no haya un servidor central que almacena los nombres y las localizaciones de todos los archivos disponibles, ¿Cómo puede esta red encontrar los archivos sin confundirse y cometer continuos errores? El proceso es más o menos como sigue:
- Tecleas el nombre de la canción o archivo que quieres encontrar.
- Tu ordenador sabe al menos que existe una máquina en Gnutella en algún punto de la red. Lo sabe porque se lo has dicho tecleando la dirección IP o porque el software tiene una dirección IP ya programada en su interior. Tu máquina envía el nombre de la canción que has tecleado a la máquina o máquinas que conoce.
- Estas máquinas buscan a ver si el archivo que has pedido está en sus discos duros. Si los están, vuelven a enviar el nombre del archivo (y la IP de la máquina) al que ha pedido el archivo.
- Al mismo tiempo, todas estas máquinas envía la misma petición a las máquinas a las que están conectados, y el proceso se repite.
- Una petición tiene un TTL (tiempo de vida) configurada. Una petición puede ir de seis a siete niveles antes de que pare de propagarse. Si cada máquina de la red de Gnutella sabe solo cuatro máquinas más, esto significa que la petición puede llegar a más 8 mil máquinas en la red antes de desaparecer.
Es un método muy simple y eficaz de distribuir una petición a miles de máquinas de una forma muy rápida. Esta funcionalidad tiene una gran ventaja – la red de Gnutella funciona todo el tiempo. Mientras que puedas llega al menos a otra máquina que tenga el software de Gnutella, podrás hacer peticiones de cosas que quieres descargarte.
Ninguna corte o juzgado puede cerrar un sistema como este porque no hay una máquina en concreto que lo controle todo. Sin embargo, Gnutella tiene al menos tres desventajas:
- No hay garantías de que el archivo que quieres está en las múltiples máquinas donde son lanzadas las peticiones.
- Las peticiones pueden llevar tiempo para obtener una respuesta completa. Puede ser un minuto o bastante más hasta que se completan los siente niveles.
- Tu máquina es parte de la red. Está respondiendo a peticiones y pasándolas a otras máquinas, haciendo de pasarela para muchos ordenadores. Se tiene que entregar una buena parte del ancho de banda que tienes para poder hacer todo esto.
Aparentemente, estas desventajas no tienen mayor problema, ya que cientos de millones de usuarios usan clientes Gnutella y no le dan la mayor importancia. De todos modos, ¿Es Gnutella legal? Por si misma, Gnutella si es una tecnología legal. No hay ninguna ley en contra de compartir archivos de dominio público. El problema es cuando se utiliza para distribuir contenido protegido, que suele ser música, películas, juegos y software. Este es el problema que tuvo Napster. La industria musical está bastante enfadada con Gnutella, pero actualmente no puede hacer nada contra ello.
Tienen algunos métodos para poder perjudicar la red, mediante ataques que todos los usuarios ya conocen. Uno de los métodos es sobrecargar la red de Gnutella con paquetes falsos de peticiones. Otro método es llenar la red con archivos falsos o corruptos para echar para atrás a los usuarios. Sin embargo, por el momento no hay nada que se pueda hacer, ya que esta gigantesca red la forman miles de ordenadores sin un punto central el cual cerrar.