Una de las grandes ventajas de Internet es poder conseguir todo tipo de información y, a la vez, hacer accesibles a los demás los datos que cada uno tiene en su ordenador. El problema es cómo llevar a cabo estas operaciones y cuáles son las aplicaciones más adecuadas para ello. Gnutella es un protocolo utilizado por diferentes programas que permite compartir la información en ambas direcciones. En este artículo se expone el modo de funcionamiento de la Red Gnutella y se comentan las principales aplicaciones para Mac que utilizan este protocolo.

Los usuarios de Macintosh pueden compartir información utilizando el disco virtual iDisk, pero esto requiere que las dos partes se conozcan previamente y sepan que en el disco de la otra persona está lo que buscan, además de la limitación de espacio. También existen otros programas como SockeToo–Me, se puede utilizar una aplicación de FTP o programas como Ircle o ICQ y realizar una conexión, pero siempre estará ahí el problema comentado. La solución a esto sería una red en la que se pudiera entrar, preguntar por lo que se quiere, y obtener una respuesta de aquellos usuarios que tengan la información requerida, pudiendo así elegir el sitio o usuario del que sea más interesante descargar la información. Esto es lo que se puede conseguir con Gnutella.

¿Qué es Gnutella?

Es un protocolo que permite al usuario compartir información en Internet. Cuando se utiliza una aplicación basada en Gnutella y se conecta a la Red Gnutella, la búsqueda que se realice se transmite a todos los ordenadores conectados a la Red que estén en el mismo “horizonte” del usuario (parte de la Red a la que se está expuesto) y si alguien tiene la información requerida enviará un mensaje indicándolo.

Existen dos modelos de transmisión de datos Peer-To-Peer (de igual a igual). Uno es el modelo centralizado (como Napster) que se basa en una estructura cliente-servidor, y el otro es el descentralizado (Gnutella).

Napster, ejemplo más evidente del modelo centralizado, utiliza un sistema con servidor central que dirige el tráfico de información entre los individuos registrados. El servidor mantiene un directorio con los archivos compartidos que están almacenados en los ordenadores de los usuarios, y estos directorios se actualizan cada vez que el usuario se conecta (en una nueva sesión). Cuando alguien pide un archivo (de música en formato MP3 en el caso de Napster), el servidor central crea una lista con los resultados obtenidos de las personas conectadas en ese momento. El que ha hecho la petición elige el archivo deseado y, entonces, abre un enlace con el ordenador donde reside la información. El archivo va directamente de un ordenador a otro sin almacenarse nunca en el servidor central ni en ningún punto intermedio de la Red. El problema de este sistema es que la información del servidor sólo se actualiza periódicamente y, además, si el servidor se cae, el sistema se colapsa.

En el caso de Gnutella no hay un servidor central. Cuando un ordenador se conecta es a la vez cliente y servidor, y realiza la conexión con una estructura de árbol (exponencial). El ordenador A se conecta al B y le anuncia que está “vivo”. El ordenador B avisa de ello a los ordenadores conectados a él y así sucesivamente. Esta cadena está limitada por el TTL (time to live) que es el número de “capas” de ordenadores a los que puede llegar una petición. Cuando se realiza una petición, ésta recorre la estructura de árbol y cada vez que un ordenador del camino recorrido tiene la información requerida manda un aviso de vuelta al ordenador origen de manera que éste puede establecer una conexión directa para obtener lo que busca.

Al no haber un servidor central, los riesgos de fallo de la red se reducen. Por otra parte, como no hay que registrarse, el anonimato es casi total. Otra característica interesante es que se puede buscar todo tipo de información (un texto, una aplicación, un archivo MP3, una película, etc.) a diferencia de otros programas para compartir archivos en los que son más específicos los formatos de búsqueda: música, vídeo, etc. El único inconveniente es que cada vez que se realiza una conexión no se accede necesariamente a la misma zona del árbol, por lo que la información que se ve no tiene que ser la misma que en la conexión anterior. Aún así, el “horizonte” es tan amplio que casi siempre se puede encontrar aquello que se está buscando.

LimeWire

LimeWire es una aplicación escrita en Java (funciona bajo Macintosh, Windows, Linux, etc.) que permite buscar y compartir información con cualquier persona que esté conectada a Internet y utilice un software compatible con el protocolo Gnutella. Se diferencia de otras aplicaciones en que, al conectarse a la puerta de acceso de LimeWire, ésta actúa como un router que ayuda al usuario de forma que quede expuesto a la mayor parte posible de la Red para así poder acceder a una mayor cantidad de información. Además, también minimiza la exposición a zonas de la Red que son cuellos de botella.

Utilizar el programa. Una vez que se ha abierto la aplicación, la conexión a la Red es automática y ya se pueden realizar búsquedas. Se puede especificar el tipo de archivo que se busca o no. En unos instantes aparece en la pantalla un listado con los resultados obtenidos, en el que se incluye la siguiente información: la IP y el tipo de conexión del usuario que tiene la información requerida, cuánto se ajusta ésta a la petición realizada y el tamaño del archivo. Elegido el que más interese, sólo hay que seleccionarlo con el cursor para que comience la descarga. Si el otro usuario se desconectara durante la sesión, siempre se puede volver a retomar la descarga en el punto donde se dejó la última vez.

LimeWire también permite seleccionar una “comunidad” de usuarios con intereses similares y con una conexión determinada, para así optimizar la búsqueda. Otras características son la posibilidad de ver toda la información que comparte un usuario determinado y la función Biblioteca, con la que se puede organizar y abrir los archivos descargados y los compartidos.

Por último, comentar que el programa ha funcionado perfectamente en las pruebas realizadas, tanto bajo el sistema 9.1 como bajo el 9.2. El único problema es que suele truncar el nombre de los archivos y añadir una cadena de números, lo que hace que a veces sea difícil su identificación. Existe también una versión para Mac OS X. Es una aplicación gratuita y se puede descargar de www.limewire.com.

Mactella

Mactella es una aplicación muy similar a LimeWire, aunque no está escrita en Java (es una aplicación nativa para Macintosh). Al abrir el programa se muestra la ventana de control (Gnutella Control), que tiene cinco pestañas: Search (buscar), Play (reproducir), Upload (enviar) y Gnutella Net (Red Gnutella). Incluye también tres cuadros para activar las opciones de autoconexión, permitir compartir la información y seleccionar la carpeta que contiene la información enviada y recibida.

La ventana de búsqueda permite indicar el tipo de archivo que se quiere localizar y su nombre. Los resultados de la búsqueda incluyen el nombre del archivo, el tamaño, la velocidad de conexi