BitTorrent

De doc.ubuntu-es
Saltar a: navegación, buscar

BitTorrent es un protocolo para el intercambio de archivos de igual a igual (peer to peer o P2P). fue desarrollado originalmente por el programador Bram Cohen y está basado en software libre. Este es un buen método para descargar las iso de las nuevas versiones de Ubuntu, especialmente cuando la web oficial está sobrecargada, ya que, cuando hay muchos usuarios descargando y compartiendo al mismo tiempo este sistema se vuelve muy rápido.

Contenido

Funcionamiento

BitTorrent reduce enormemente la carga en el servidor, ya que los usuarios generalmente descargan los archivos entre ellos, no del servidor. Su principal objetivo es el proporcionar una forma eficiente de distribuir un mismo fichero a un gran grupo de personas, forzando a todos los que descargan un fichero a compartirlo también con otros. Primero se distribuye por medios convencionales un pequeño fichero con extensión .torrent. Este fichero es estático, por lo que a menudo se encuentra en páginas web o incluso se distribuye por correo electrónico. 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.

Como muestran las barras coloreadas debajo de cada cliente, el archivo es descargado en un orden aleatorio, en lugar de llevar un orden secuencial.

Este servidor realmente se encuentra centralizado y provee estadísticas acerca del número de transferencias, el número de nodos con una copia completa del fichero y el número de nodos que poseen sólo una porción del mismo.

El fichero o colección de ficheros deseado es descargado de las fuentes encontradas por el servidor de búsqueda y, al mismo tiempo que se realiza la descarga, se comienza a subir las partes disponibles del fichero a otras fuentes, utilizando el ancho de banda asignado a ello. Ya que la acción de compartir comienza incluso antes de completar la descarga de un fichero, cada nodo inevitablemente contribuye a la distribución de dicho fichero. El sistema se encarga de premiar a quienes compartan más, a mayor ancho de banda mayor el número de conexiones a nodos de descarga que se establecerán.

Cuando un usuario comienza la descarga de un fichero, BitTorrent no necesariamente comienza por el principio del fichero, sino que se baja por partes al azar. Luego los usuarios se conectan entre sí para bajar el fichero. Si entre los usuarios conectados se dispone de cada parte del fichero completo (aún estando desparramado), finalmente todos obtendrán una copia completa de él. Por supuesto, inicialmente alguien debe poseer el fichero completo para comenzar el proceso. Este método produce importantes mejoras en la velocidad de transferencia cuando muchos usuarios se conectan para bajar un mismo fichero.

Cuando no existan ya más nodos con el fichero completo ("semillas" o "seeds") conectados al servidor de búsqueda, existe la posibilidad de que el fichero no pueda ser completado.

BitTorrent en comparación con otras redes P2P

Las transferencias en BitTorrent son normalmente muy rápidas ya que todos los nodos en un grupo se concentran en transferir un solo fichero o una colección de los mismos. Además BitTorrent premia a aquellos usuarios que comparten un mayor ancho de banda.

Al contrario que otras redes de intercambio, BitTorrent no incluye ningún mecanismo de búsqueda de archivos. Los usuarios de BitTorrent deberán localizar por sus propios medios los archivos torrent que necesita el protocolo.

Programas cliente

Los clientes de BitTorrent se pueden encontrar de dos tipos distintos:

  • De múltiples descargas simultáneas como Azureus, KTorrent o Transmission.
  • De descarga única (solo descarga un archivo .torrent, pero se pueden tener varios abiertos simultáneamente), como BitTornado.

Estructura de una red Bittorrent

Una red en Bittorrent está formada por:

  • Peers (Pares): Se denomina así a todos los usuarios que están en la red.
  • Leechers: Se denomina así a todos los usuarios que están en la red descargando el

archivo pero que todavía no tienen el archivo completo.

  • Seeds (Semillas): Son los usuarios de la red que poseen el archivo completo. Sólo

suben partes a los demás peers, pero no bajan nada.

  • Tracker: Un tracker de BitTorrent es un servidor especial que contiene la información

necesaria para que los peers se conecten unos con otros. Inicialmente es la única forma de localizar qué usuarios contienen el archivo que se quiere descargar.

  • Enjambre: El enjambre son los usuarios en general que el tracker se encarga de buscar. El nombre es debido a la similitud con las abejas y su comportamiento; en esta analogía, el Tracker es el panal de abejas, el enjambre de abejas son los usuarios y la miel es el torrent con el contenido.

Mecánica del funcionamiento:

1º Un usuario baja de un servidor web un archivo .torrent que contiene la información del fichero que queremos descargar.

2º Este archivo .torrent se abre con algún programa cliente, que sabe interpretar dicha información. Existen multitud de clientes libres que se pueden utilizar.

3º El tracker y el peer se comunican a través de una conexión HTTP. El tracker informa de la lista de todos los peers y seeds que contienen partes del archivo que queremos descargar. El tracker se actualiza con la información del nuevo peer que acaba de ingresar.

4º Una vez que el peer sabe dónde tiene que buscar las partes necesarias, este peer se comunica con otros mediante sockets TCP o UDP y el archivo empieza a descargarse en el ordenador del usuario. Cada parte descargada se comparte automáticamente con otros peers.

Limitaciones

Se considera que lo justo es subir la misma cantidad de datos que se ha bajado, es decir que el ratio Upload/Download=1, pero este comportamiento no es común ni está garantizado en Bittorrent. Normalmente los usuarios se desconectan rápidamente una vez que han obtenido la copia completa de su archivo. Esto de denomina “leeching”.

Esta forma de actuar provoca que aunque todo el contenido nuevo se comparta al principio muy rápidamente, con el paso de los días el torrent caduque porque no quedan semillas, ya que Bittorrent sólo ofrece incentivos a los leechers pero no a los seeds que no obtienen ninguna ventaja por permanecer subiendo a la red. Para evitar esto han aparecido los denominados trackers privados.

Una debilidad más de Bittorrent es que es poco eficiente en transferencias de archivos pequeños (unos cuantos kb) ya que el ancho de banda usado en mensajes del protocolo es comparativamente alto.

Los clientes Bittorrent carecen de alguna utilidad de búsqueda de contenidos. Los archivos .torrent se suelen bajar de páginas web donde se suelen indexar las novedades o bien existen buscadores de torrents como mininova.org o The Pirate Bay.

Mejoras al protocolo

El protocolo Bittorrent es susceptible de ser mejorado, por lo que algunos clientes han incorporado diversas modificaciones como DHT, Web Seeding y Super Seeding que vamos a ver con cierto detalle a continuación.

  • DHT

Si el tracker cae, dependemos de los pares a los que estemos conectados para poder finalizar una descarga. No siempre se consigue puesto que es necesario que no se desconecten y que entre todos tengan el archivo completo.

El DHT (Distritbued Hash Table) es una extensión oficial al protocolo de Bittorrent. Consiste en que cada nodo de la red conserva información de los nodos vecinos. De esta forma se evita el cuello de botella del tracker del que hemos hablado antes, ya que si el tracker cae la totalidad de la información de los peers está todavía disponible en los propios peers.

  • Web Seeding

En muchas ocasiones en una misma página web aparecen enlaces HTTP o FTP además del archivo .torrent como posibles alternativas para bajar un archivo. La idea de Web seeding es combinar la potencia de la descarga directa del servidor con la del P2P. De esta manera siempre habría como mínimo una semilla completa de la que descargar inicialmente. El primer cliente en incluir esta mejora fue BitTornado.

  • Super Seeding

La supercompartición — en inglés superseeding (Vuze) — sirve para que el primer seed que sube un nuevo archivo pueda reducir el número de piezas que tiene que subir para crear las primeras semillas y para que los peers que lo están bajando lo puedan hacer más rápidamente.

Cuando un seed “A” entra a un enjambre en modo super seeding, no aparece en el enjambre como una semilla normal con el 100% del archivo sino que se oculta como un leecher normal que no tiene ningún dato. A medida que otros peers entran en el enjambre, el superseeder (el peer disfrazado) les manda un mensaje de que tiene una nueva pieza — una pieza que en realidad nunca ha sido enviada. Esto hará que el peer “B” del enjambre pida solamente ese trozo. Cuando el peer “B” termina de descargar aquella pieza, el seed "A" no le comunicará que tiene otras piezas para enviar hasta que vea que la primera pieza que le envió a "B" haya sido compartida con al menos otro peer “C”. Hasta que eso no pase, el peer “B” no tendrá acceso a ninguna de las demás piezas de la semilla “A”, y así “A” no desperdiciará su ancho de banda de subida teniendo que volver a enviar piezas que ya ha enviado.

Buscadores de archivos torrent

Debido a la gran proliferación de este tipo de descargas P2P, han aparecido en la red motores de búsqueda personalizados y especializados en encontrar archivos torrent alojados en servidores como "The Pirate Bay", BTJunkie. Los más importantes debido a su eficacia en la búsqueda son The Torrent Bay y Torrentz.com También puedes Buscar Torrents usando Google.

Fuente

Herramientas personales