miércoles, 23 de enero de 2008

Programas para P2P en Linux

Tal como lo indica el título, en el presente artículo se tratará el tema de los programas que he utilizado para compartir datos a través de redes P2P (Peer 2 Peer) en GNU/Linux; pero primero, ¿qué es una red P2P? No es más que un conjunto de personas compartiendo datos a través de programas que se conectan entre si.

Los programas que hasta el momento he probado en Linux para compartición de datos P2P vienen a ser:

1) Amule: Se conecta por Kademlia a las redes Edonkey y Kad;
2) Azureus: es un cliente para descarga de torrents;
3) Ktorrent: es un cliente para descarga de torrents.

Antes de comenzar es importante saber que un torrent es un fichero que contiene un listado de servidores que poseen ciertos archivos a los cuales vincula, por lo tanto, dicho archivo es como un puente que normalmente posee un tamaño bastante modesto y nos permite que los programas manejadores de este (clientes BitTorrent) descarguen su contenido.
Wikipedia indica: "El fichero 'torrent' contiene la dirección de un "servidor de búsqueda", el cual se encarga de localizar posibles fuentes con el fichero o parte de él.". Esos servidores de búsqueda son comúnmente denominados SuperNodos

Bien, ahora es necesario conocer que es un cliente BitTorrent. Es un programa que nos permite hacer la descarga del contenido de un Torrent. En el momento en el cual un usuario comienza a descargar un archivo torrent, comienza también a compartir los datos que ya haya descargado del mismo. La ventaja principal del protocolo BitTorrent es que al hacer uso del protocolo bittorrent se dividen los archivos a descargar en varias partes, permitiendo así descargar las diferentes partes sin importar el orden, y luego re-ensamblar el archivo en el computador permitiendo su visualización total. Todo esto es un proceso transparente para el usuario final. Se destaca el hecho de que es recomendable el uso de estos clientes sólo si los archivos a descargar son mayores de 100mb, caso contrario es posible que no llegue a notar ventaja alguna. Más información de esto puedes conseguir en la página http://es.wikipedia.org/wiki/Bit_torrent.

Para aquellos que estén comenzando en el mundo de Torrents les recomiendo que en el momento de descargar archivos de páginas para buscar torrents (vale acotar que son pocos los clientes BitTorrent que poseen un buscador; por lo tanto recomiendo www.toorgle.com que es un buscador de supernodos) descarguen aquellos que poseen mas "seeds" que "leech" o por lo menos una cantidad igual. Nótese que un seed es una persona que posee el archivo y lo está compartiendo, y un Leech es una persona que lo posee y no lo comparte o lo comparte con una tasa de transferencia muy baja.

A continuación indicaré algunas características de cada uno.

Amule es un intento de crear emule para linux, por lo tanto es liberado bajo licencia GPL (General Public License). Es el resultado del proyecto lmule. Se conecta a la red Edonkey y Kad, hace uso del protocolo Kademlia. Este software permite una gran cantidad de opciones de configuración tales como: 1) la velocidad de descarga, 2) velocidad de subida, 3) límite de archivos que se pueden descargar a la vez, 4) posee un cliente de IRC. También es posible instalarlo para alguna de sus interfaces, tales como amuleCMD (para correr el programa a través de cónsola), amuleGUI, (que permite visualizar el programa con una interfaz gráfica de usuario. GUI es el acrónimo de Interfaz Gráfica de Usuario por sus siglas en inglés para Graphical User Interface), y amuleWEB (que permite administrar las descargas a través de una interface basada en la Web, lo cual nos permite hacer dicha administración desde Internet y por lo tanto, desde cualquier máquina sin importar su ubicación o distancia). También es importante destacar que existen dos versiones diferentes de Amule, las cuales son una versión de desarrollo y una estable.

Azureus es un cliente de descarga de torrents creado en java, por lo tanto una de sus mayores desventajas es que debe instalar y correr la máquina virtual de java para poder hacer uso del mismo. Ahora bien, cada vez que se inicia el mismo se hace un consumo innecesario de recursos; sin embargo también posee muchas ventajas como el hecho de que se cree un "traker" propio, lo que permite compartir datos sin tener que hacer un torrent, tal y como se hace con amule (o ares en Windows), además de unas estadísticas sobre la descarga o subida y sobre archivos específicos, y también la posibilidad de visualizar los archivos que ya se hayan descargado del torrent, sin importar si ya todo el torrent ha sido descargado completamente.

Ktorrent es un cliente bitTorrent liberado bajo licencia GPL, de hecho es uno de los más utilizados. Actualmente se instala por defecto en algunas distribuciones de GNU/Linux con KDE, permite un alto nivel de configuración (tal como definir velocidades máximas de descarga y subida, y hasta configurar las velocidades a horas específicas del día o que se detenga si tiene poco espacio en disco); también genera unas estadísticas bastante completas sobre los torrents que se estén descargando.

También existen programas como FrostWire que son muy recomendados pero que hasta el momento no he utilizado.

FrostWire es un cliente P2P de código abierto que hace uso de la red Gnutella (lo cual permite descargar archivos que estén siendo compartidos por otros usuarios, sin necesidad de que sean torrent); sin embargo también es compatible con el protocolo BitTorrent y permite la descarga de Torrent. Está escrito en java (igual que Azureus, lo cual debe implicar la misma desventaja de consumo de recursos). Es un cliente multiplataforma, lo que indica que está disponible para diferentes sistemas operativos. Una característica muy importante y destacable es el hecho de que este cliente, a diferencia de muchos otros, bloquea la descarga de archivos que contienen copyright.

No hay comentarios: