Comparativa de clientes BitTorrent
Publicado por gnumax en Mayo 1, 2006
Introducción
La globalización hace tiempo que llegó al planeta Linux, y TUX se hizo fuerte y rápidamente difundió sus capacidades a lo largo y ancho de este. La mejor forma que encontró fue servirse de un protocolo denominado File Transfer Protocol (protocolo de transferencia de ficheros) ó FTP. Pronto se buscaron nuevas y mejores formas, más seguras, pero sobre todo más rápidas, que permitiesen el envío de distribuciones Linux, ficheros de audio y video y documentos a lo largo y ancho de la geografía digital que traza Internet, y así surgieron las redes de pares (P2P) allá por 1999 y con ellas la necesidad de que existiese un protocolo evolucionado llamado “bittorrent” que permitiese la descarga “casi” directa de ficheros para romper el “maleficio” de las descargas eternas de otros protocolos P2P.
Qué es bittorrent
Hablar de BitTorrent es hablar de P2P por mucho que determinados sectores se empeñen en hacernos creer que no es así, aunque determinadas funciones avanzadas lo distinguen del resto de los protocolos para clientes de “redes de pares”, a destacar su comportamiento como gestor de descargas directas al estilo FTP basado en su propio protocolo BitTorrent de que toma su nombre ya que es el cliente oficial. En la actualidad este protocolo ocupa el 35% de las transferencias que se realizan en Internet según CacheLogic (www.cachelogic.com).
A la capacidad de descargar ficheros mucho más rapido que otros protocolos P2P (eDonkey, iMesh, Kazaa…) le debemos añadir la de ser software libre y la de no contener spyware o adware que fiscalice el uso que hacemos de él. La existencia de tantos clientes bittorrent viene dada por que al distribuirse bajo licencia GPL permite a los desarrolladores crear variantes del mismo, aunque algunos de estos clientes están escritos desde cero.HistoriaBitTorrent (cliente) está escrito por Bram Cohen en Python por su portabilidad a cualquier plataforma y distribuido bajo licencia X11 por el MIT. Fue presentado en el Codecom 2002 en el mes de febrero, un hacklab o taller donde los haya para las comunidades P2P, cyberpunk y la seguridad informática, organizado por Bram Cohen.
La fisolofía de compartir se hereda de otros clientes P2P, cuando tienes una pequeña porción del fichero en tu ordenador lo empiezas a compartir de forma obligatoria para contribuir a donar fuentes al resto de usuarios que descarguen este fichero.Funcionamiento del protocolo bittorrent
La misión principal del tracker es mantener constantemente un registro de las maquinas que estan descargando o subiendo archivos para de ese modo ofrecer el mayor número de fuentes posibles. Las máquinas que disponen del 100% del archivo a descargar actúan como Seeds y solo ofrecen el archivo, mientras que las máqinas Peers descargan y suben archivos a otros peers y en el momento en que disponemos de ese archivo completo en nuestra máquina pasamos a connvertirnos en seeds, es importante saber que si compartes mucho ancho de banda más ancho de banda recibes.
Los trackers terminan descartando aquellos archivos que en las últimas 24/48 horas ha dejado de ser requeridos por los seeds y son borrados del tracker.
Una forma de saber cuandos seeds o peers hay conectados a un .torrent concreto es utilizar TorrentSpy (www.torrentspy.com) que nos dara mucha información acerca de la creación del .torrent, a que tracker pertenece, etc.
Al contrario que en otros modelos de clientes de descargas P2P que utilizan otros protocolos y que necesitan que el usuario comparta aquellas carpetas donde aloja los ficheros que desea compartir, en bittorrent no es necesario compartir ninguna carpeta, ya que cada archivo que descargamos, casi al momento, se convierte en un archivo compartido en internet para el resto de peers.
Clientes para GNU/Linux
En la actualidad la mayoría de las distribuciones Linux ya incluyen algunos clientes bittorrent (Suse: KTorrent, Kubuntu: Azureus) por lo que el acceso a estas aplicaciones es más sencillo. Aunque estos son de los más utilizados, los trackers, cada vez más, apuntan que clientes como Bitcomet copan el 80% de ellos. En caso de no disponer de ninguno lo podemos instalar de varias formas, y por supuesto, salvando front-end,s de APT como Synaptic u otros, lo más estable es abrir una consola y hacer uso de la “navaja suiza” apt-get install.
Descripción de las aplicaciones
- Azureus
Descripción
Que decir de unos de los clientes del protocolo bittorrent más decargado de sourceforge.net, sencillamente ¡genial!. Opera a las mil maravillas bajo cualquier distribución de Linux y esta disponible en “casi” cualquier idioma y su popularidad va en aumento. Está escrito en java y requiere la instalación de Java 2 Platform, Standard Edition (J2SE). Dispone de una interface muy amigable y configurable por el usuario, no dispone de plug-in para navegador y permite resumir las descargas.
Instalación
Podemos utilizar un cliente front-end, aunque no siempre resolverá correctamente las dependencias, por ello lo recomendable es hacer la instalación desde consola, editando previamente sources.list y añadiendo los repositorios siguientes, basándos en Ubuntu Breezy, por ejemplo:
deb ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf breezy free non-free
deb scr ftp://ftp.free.fr/pub/Distributions_Linux/plf/ubuntu/plf breezy free non-free
$ sudo apt-get updateTeniendo muy presente que es una aplicación que funciona con Java, y siendo bastante probable que no dispongamos de los ficheros necesarios, procedemos a instalar los paquetes relacionados con Java.
$ sudo apt-get install sun-j2re1.5 libcommons-cli-java liblog4j1.2-java libseda-java libswt-gtk-3.1-java
A continuación localizamos el paquete último disponible de Azureus, que a fecha actual es azureus_2.4.0.2-1_all.deb y lo descargamos con:
$ sudo wget http://ftp.us.debian.org/debian/pool/contrib/a/azureus/ azureus_2.4.0.2-1_all.deb
proceso que tomará el tiempo pertinente en función de la velocidad de nustra conexión a internet. Una vez descargado podemos instalarlo con el comando dpkg:
$ sudo dpkg -i azureus_2.4.0.2-1_all.deb
y por último nos queda poner al día Java para evitar errores de última hora:
$ sudo update-alternatives –set java /usr/lib/j2re1.5-sun/bin/java
Hecho esto ya podemos ir al menú K y en Internet buscar el acceso a la aplicación de Azureus. La primera vez que lo ejecutamos realiza una rápida instalación-configuración de algunos aspectos del cliente, como tipo de conexión de que disponemos y lugar en el que se guardarán los torrents, teniendo muy presente que por medio de nuestra ruta se encuentra ./azureus (con un punto inicial) lo que significa que a ojos de un neófito el directorio estrá oculto y muy probablemente nos volvamos locos buscando la ubicación de los ficheros descargados, algo sencillo de resolver si al navegador de ficheros que utilicemos en Linux le decimos previamente que muestre los archivos ocultos.
- Bittorrent
Descripción
Sin lugar a dudas en cliente por antonomasia, el más conocido y el segundo más utilizado como cliente de descargas después de Azureus.
Instalación
La instalación de BitTorrent bajo windows es tremendamente sencilla y se concluye en apenas un minuto, ya que en 4 pantallas disponemos de un cliente operativo para poder descargar cualquier .torrent que deseemos.
Instalación de BitTorrent en Windows
Desde Linux, decir que podemos descargar la última versión de la página oficial (www.bittorrent.com), donde encontraremos el fichero BiTorrent-Stable.rpm para instalar en distros Open Suse o Fedora Core, aunque también está disponible el paquete .deb para otras distribuciones.
Una vez descargado el paquete podemos instalarlo desde consola, o mediante Yast (instalador de SuSE ó Fedora), lo que se hará en apenas un par de minutos, siendo probable que nos pida el CD o DVD de instalación de la distribución para satisfacer despendencias, finalizado este proceso podemos disponer inmediatamente de la aplicación para su uso
Funcionamiento
Bajar archivos con este cliente es tarea sencilla ya que incorpora un buscador que permite practicamente, en cuestión de segundos, localizar aquellos ficheros que queramos en versión .torrent. Una vez seleccionado el fichero a descargar BitTorrent lo incorpora automáticamente a las descargas.
BitTorren en proceso de descarga
Versión
Disponible en 20 idiomas aunque se trabaja constantemente en su traducción para llegar a alcanzar los 54 idiomas, en la instalación detecta automáticamente nuestro idioma, disponible bajo Linux, Mac OS X y Windows, última versión 4.4.1 para Windows y Mac y 4.0.0 para Linux.
- Ktorrent
Descripción
Un cliente orientado al escritorio KDE, que va por la versión 1.2 y que opera bajo licencia OSS y está disponible para las distros más populares (Kubuntu, ArchLinux,Slack, Fedora, SuSE, Debian…) y que permite trackers por UDP y también soporta UPnP.
Búsqueda de la ISO de Aurox con KTorrent en SuSE
Descargando ficheros con KTorrent en Linux
- Bittornado
Descripción
Sus inicios los fueron basandose en BiTorrent Experimental aunque su evolución ha sido a mejor y la popularidad con la que goza así lo demuestran, marcando la diferencia con su predecesor en una mejor configuración y un menor uso de los recursos de hardware, principalmente de CPU.
Funcionamiento
Descargando un fichero con aterm en Linux
Tabla comparativa
Resulta cada vez más dificil establecer una comparativa de clientes bittorrent, sobre todo de aquellos que operan bajo Linux con licencia GPL ya que su contante evolución y añadidos por parte de los desarrolladores obligan a establecer criterios más refinados para establecer las diferencias que los separan.
Las más básicas son saber bajo que plataforma podemos encontrar los que exponemos en este artículo, saber cual es la última versión disponible a fecha de confección del mismo, el nivel de usabilidad al que se enfrenta un usuario nuevo, sin muchos conocimientos de este tipo de aplicaciones, la disponibilidad de trackers en Internet, ya que este punto marca una diferencia importante en su uso y como última novedad sabeer si permiten la implementación de encriptación del trafico download/upload a ojos de los ISP,s.
Tabla comparativa
1.- L= Linux, W= Windows, M= Mac OS X, S= Solaris, B= BSD
2.- FLOSS: Free/Libre Open Source Software
3.- Incluido en los binarios de Linux, no disponible en Windows.
∞ = Infinitos, OSS= software de código abierto
Resumen
Descargar distribuciones GNU/Linux con clientes bittorrent
Para la descarga de torrents podemos utilizar Google directamente, ya que es el buscador de “todo” por excelencia, o podemos optar por el uso de buscadores específicos de torrent como Bitoogle (www.bitoogle.biz), Torrentz(www.torrentz.com), Iso Hunt (isohunt.com), por destacar algunos de los más conocidos. Las búsquedas son de lo más sencillas y permiten ir a la página del tracker, donde se encuentra el .torrent o seleccionar directamente el fichero y que nuestro cliente bittorrent habitual lo reconozca y lo abra para proceder a su descarga.
Búsquedas con Bitoogle
Crear torrents
La mayoría de los clientes de bittorrent disponen de una utilidad empotrada en la aplicación para la creación de .torrents que posteriormente podemos poner a disposición de los trackers y peers.
En Azureus, por ejemplo, abrimos el menu Archivo y seleccionamos Crear .torrent, escribimos en announce la url del tracker donde subirlo:
http://torrent.loquesea.com:7777/announce y seleccionamos el archivo o la carpeta que vamos a compartir. Este proceso genera un fichero .torrent que debemos dejar en la carpeta donde tenemos el resto de torrents que actúan como seeds.
Se recomienda no comprimir en ficheros ZIP o RAR los archivos, si son muchos, ya que se ralentizan las descargas.
Existen varios métodos para la creación de ficheros .torrent, pero básicamente se basan en la selección de un fichero para que a través del .torrent, el tracker sepa donde localizarlo para poder ponerlo a disposición del resto de usuarios.
Futuro
Hablar de futuro de estos clientes es hablar del presente que ya está aplicandose a algunos de los más populares clientes como μTorrent o Azureus, la encriptación de los datos -denominado traffic shapers- que se transportan con el fin de evitar su identificación por parte de proveedores de internet que utilizan software de filtrado de paquetes con “olor” a kad, gnutella ó bittorrent, aunque no con ello se llegará a una solución frente a este problema, que por otra parte, va en aumento, y los usuarios ven capado su trafico bittorrent por sometimiento de sus ISP,s.
Por otro lado se discute la incompatibilidad que este proceso de encriptación -bien sea por ofuscación o utilizando Route Coloniale 4 (RC4)- podría generar en otros clientes de descarga de ficheros similares que no implementen este código de encriptación y su poca utilidad, con la consiguiente carga de CPU , ya que los desarrolladores de clientes bittorrent no sacrificarán la calidad de sus aplicaciones por una cuestión que afecta a muy pocos operadores de servicios de internet.
Probablemente lo que termine sucediendo sea la descentralización de los clientes bittorrent de los trackers como lugares web que recojan los .torrents que permiten las descargas y cada usuario se termine conviertiendo a través de su cliente bittorrent en un tracker, algo que por el momento solo contempla eXeem y al día de hoy solo estará disponible para Windows y como software propietario, denominados ya de “cuarta generación”.
Otros alicientes lejos de la ilegalidad que representan las descargas de música o peliculas sujetas a copyrigth están el de poder descargar cualquier distribución Linux con licencia GPL en formato ISO de CD,s o DVD,s así como videos domésticos, apuntes, videos de conferencias o audio de uso educativo, películas de los años 50, entre otros.
Conclusiones
Routers y Cortafuegos (Firewalls)
Con BitTorrent (protocolo) trabajamos por el puerto 6881 hasta el 6999, ya que a medida que se abren descargas bittorrent va asignando un puerto de forma incremental, y si el cortafuegos lo permite (filtrado adecuado) accedemos hasta el modem o router de que dispongamos y posterioremente al tracker (puerto 6969) donde interroga clientes de donde poder descargar o enviar ficheros. Podemos saber si nuestro puerto es accesible utilizando un escaner online de puertos especial para bittorrent en http://btfaq.com/natcheck.pl.
De poco sirve configurar nuestro cliente de torrents sino somos capaces de hacer que nuestro puerto sea alcanzable desde internet, teniendo los puertos cerrados en el router o por una pésima configuración del cortafuegos (caso Windows) o unas IPTables muy estrictas.
Pre-allocating
Un problema común que a muchos usuarios suele asustar al principio cuando comienzan nuevas descargas con bittorrent, es que observan un exceso de consumo de uso de disco duro, algo que no es real y que obedece al comportamiento lógico del cliente, el llamado “pre-allocating” que es la reserva de espacio por anticipado en nuestro disco duro del necesitado por el fichero que vamos a descargar, y que suele ser ocupado con espacios inicialmente. Algo lógico por otra parte si el cliente quiere garantizarse una descarga correcta y no sabemos de que espacio disponemos, de lo contrario devolverá un error y sencillamente no descargará el fichero solicitado.