En realidad BitTorrent es Peer to Peer básicamente porque se trata de un tipo de red donde no hay ni clientes ni servidores fijos sino que se basa en una serie de nodos que se comportan simultáneamente como clientes y servidores de los demás nodos en la red. Pero también es FTP porque permite la descarga directa como si fuese un FTP simple.

Este protocolo se conoce como BitTorrent, existen hoy en día muchos programas con los cuales insertarse en la red BitTorrent y la característica común a todos es el uso del protocolo BitTorrent. Es un software de código abierto, puede ser utilizado sin necesidad de pagar licencias de fabricantes, y si uno tiene la experiencia necesaria puede crear su propia compilación de Bittorrent.

La ventaja de BitTorrent

La gran ventaja de BitTorrent sobre otros clientes P2P es su velocidad, si hay algo que desilusiona a los usuarios que desean usar este tipo de transferencia de archivos es que el archivo elegido tarde demasiado tiempo en ser descargado.

Funciona mucho mejor para compartir grandes archivos, a diferencia del FTP donde la descarga del archivo debe ser de un solo tirón, en BitTorrent resulta más eficiente porque si es una archivo grande tarda un poco más en descargar y habrán más fuentes. BitTorrent tiene chequeos de errores por cada pedazo del archivo que baja; por tanto hay más posibilidades de bajar el archivo correctamente (salvo que la fuente ya este corrupta).

Algo interesante es que en general los clientes P2P cuando hay muchos usuarios suele saturarse, en cambio con BitTorrent cuantos más usuarios haya mejor funcionará y más rápida será la descarga del archivo. A la hora de compartir no hay que estar pensando ni buscando en cuánto compartir para que el cliente logre bajar algo, el cliente BitTorrent lo que compartirá será los segmentos que estamos bajando.

Al completar la descarga por una cuestión de solidaridad o agradecimiento lo menos que podemos hacer es seguir compartiendo el archivo bajado para que otro puedan acceder al mismo.
BitTorrent se puede utilizar con cualquier tipo de conexión, soporta resume (es decir apago o me desconecto y cuando vuelvo a conectar sigue desde el punto donde había quedado).

La desventaja posiblemente es su juventud respecto a otros clientes P2P, lo cual hace que haya menos disponibilidad de material cuando realizamos una búsqueda.

Otros aspectos que tomar en cuenta

  • Para los paranoicos, BitTorrent también soporta cifrado de los datos, garantizando la privacidad de la transmisión.
  • Una desventaja es que los ISPs están bloqueando el protocolo BitTorrent porque satura sus portadoras (dado que ellos han hecho overselling también).
  • Se puede distribuir un torrent sin usar un Tracker con ayuda del DHT.

Algunas definiciones

Para explicar un poco cómo funciona el protocolo BitTorrent antes tendremos que conocer algunas definiciones, elementos básicos y su funcionamiento:

  • Availability – disponibilidad o copias distribuidas: lo cuál es el número de copias completas del archivo para un cliente.
  • Choked – Retenido: la retención se da cuando el cliente de subida ya está subiendo a su máxima velocidad.
  • Interested – Interesado: es el cliente que desea bajar partes de un archivo que tiene otro cliente.
  • Leech – Sanguijuela: es un cliente negativo para el enjambre, comparte muy poco, baja mucho más de lo que sube, cierran el cliente BitTorrent y no dejan compartido el archivo después que lo han bajado completo.
  • Peer – Cliente: cualquier miembro del enjambre que generalmente no tiene el archivo completo sino partes del mismo. Se dedican a descargar los archivos de todos los peers y, a la vez, suben el trozo que tienen de archivo a otros peers. Podría ser que un peer no esté conectado a ningún seed, incluso podría ocurrir que no hubiera seeds. Hay que tener en cuenta que cuanto más ancho de banda se comparte, más ancho de banda se recibe. O lo que es lo mismo, si queremos recibir el archivo rápidamente tendremos también que subir muchos datos.
  • Scrape – Raspado: petición de información estadística que envía el cliente al servidor.
  • Seed – Semilla: cliente que tiene una copia completa de un archivo y lo mantiene compartido, cuantas más semillas hay más fácil es bajar un archivo. Son los únicos que tienen el 100% del archivo que deseamos descargar. Estos usuarios envían el archivo al resto de usuarios.
  • Snubbed – Ignorado: el cliente de bajada ignora a aquellos clientes de los cuales no reciba nada en un período de más de 60 segundos.
  • SuperSeed – Super compartido: los clientes BitTorrent que tienen esta modalidad intentan enviar sólo segmentos que no han sido enviados anteriormente, haciendo la propagación inicial del archivo mucho más rápida.
  • Swarm – Enjambre: todos los clientes que comparten un Torrent conforman un enjambre.
  • Torrent – Torrente: es tanto el archivo o todos los archivos que se describen dentro de él. Un archivo Torrent contiene metadatos que indican todos los archivos que pueden bajarse a través de él, nombres, tamaños, hashes de todas sus partes y la dirección del rastreador.
  • Tracker – Rastreador: servidor que lleva un registro de las semillas y clientes del enjambre. Este servidor recibe de los clientes y envía información a los mismos periódicamente. Es un servidor que conoce dónde se encuentran todos los usuarios y dónde todos los usuarios se conectarán para poder encontrar al resto de usuarios y conocer cuando se conectan nuevos usuarios. Solamente el rastreador realiza esta función.

Algunos detalles sobre el funcionamiento de la red BitTorrent

Obliga al usuario a compartir:

Esto se traduce en mayor velocidad de descarga para todos. Los segmentos de archivo que se van descargando quedan automáticamente compartidos, no hay opción a cancelar, ni se puede prohibir la subida. Mientras uno descarga un archivo siempre e indefectiblemente lo estará subiendo alguien más desde nuestra carpeta.

Compartir y descargar:

Cuando deseamos compartir un archivo debemos crear el .torrent, el mismo será enviado a un tracker (rastreador) conteniendo la información para que el este pueda interpretarla. Luego se abre el .torrent con un cliente de BitTorrent cualquiera y se le indica como ruta de descarga la ruta donde tenemos el archivo original.

El tracker dividirá el archivo en segmentos de unos 512 Kb aproximadamente cada uno. Al conectarse un nuevo usuario, se añade un peer (cliente) y empieza recibir segmentos del archivo ya sea desde otro peer (cliente) o un seed (semilla). Un peer (cliente) al completar la descarga del 100% del archivo, automáticamente se convierte en Seed (semilla).

Cuantos más seeds y peers (lo que en otros sistemas P2P suele llamarse fuentes) hay para un archivo más rápidamente bajara un archivo. Por eso se sugiere mantener compartido el archivo que hayamos completado la descarga. Los archivos desaparecerán cuando el tracker los descarte, y esto sucede a las 24 o 48 horas seguidas sin la conexión de ningún seed.

No siempre estamos bajando de los mismos usuarios. Si se mantiene constante la conexión a la lista que tenemos de usuarios y sólo se corta la misma cuando uno de los dos usuarios se desconecta. Una ventaja interesante es que las conexiones se mantienen incluso caído el tracker, con la única limitación que no podrán conectarse usuarios nuevos.

Programas con los cuales podemos acceder a BitTorrent

  • BitTorrent: es el programa oficial de la red. Quizás es mejor usar otro si uno no está familiarizado con el mismo.
  • µtorrent: es el más ligero con 170Kb.
  • Azureus: programado en JAVA, es decir, rquiere la máquina virtual de JAVA para funcionar. Por lo demás engeneral los usuarios lo consideran mejor que el programa oficial. Hay versión en español.
  • ABC: basado en BitTornado. Sólo idioma inglés.
  • BitTornado: utiliza la programación oficial de BitTorrent.
  • BitTorrent++: aseguran que mejora la compatibilidad con sistemas operativos como Windows.
  • Shareaza: puede conectarse hasta 4 redes P2P diferentes desde un mismo programa. Soporta redes Donkey2000, Gnutella, BitTorrent y Gnutella2 (G2), muy fácil de usar, ideal para quien se inicia en las redes P2P.

Trackers y sitios famosos

Para conocer un poco más sobre el funcionamiento de BitTorrent pueden visitar el sitio web sobre ayudabittorrent.com y encontrar respuesta a sus inquietudes.

Colaboración técnica: Javier Aroche.