BitTorrent

Recomendar esta página Ver en PDF Imprimir esta página
Wiki de astronomía.
Todo el poder de la Wikipedia y toda la esencia de la astronomía

BitTorrent

De Wikipedia, la enciclopedia libre

BitTorrent es un protocolo diseñado para el intercambio de archivos entre iguales (peer to peer o P2P) y un programa cliente creados por el programador estadounidense Bram Cohen y que se estrenó en la Codecon 2002. El programa está escrito en el lenguaje Python y actualmente se distribuye bajo la licencia MIT, aunque se ha anunciado que el nuevo cliente de BitTorrent (BitTorrent 6, basado en ?Torrent) será software no libre[1] .

Tabla de contenidos

[editar] Breve trasfondo

BitTorrent ganó su fama al permitir que mucha gente descargara los mismos ficheros sin que unas descargas ralentizasen a otras. Para lograr esto el protocolo fuerza a todos los descargadores a compartir las partes que tienen de los ficheros con otros descargadores, de modo que cada miembro de un enjambre contribuye a la distribución del contenido.

[editar] Funcionamiento

BitTorrent reduce enormemente la carga en el servidor, ya que los usuarios generalmente descargan los archivos entre ellos, no del servidor. Como muestran las barras coloreadas debajo de cada cliente, el archivo es descargado en un orden aleatorio, en lugar de llevar un orden secuencial.

BitTorrent reduce enormemente la carga en el servidor, ya que los usuarios generalmente descargan los archivos entre ellos, no del servidor. Como muestran las barras coloreadas debajo de cada cliente, el archivo es descargado en un orden aleatorio, en lugar de llevar un orden secuencial.

A diferencia de los sistemas de compartición de ficheros tradicionales, 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.

Este servidor actualmente 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.

[editar] Terminología

Disponibilidad (Availability)
(o también copias distribuidas) El número de copias completas del archivo disponibles para un cliente. Cada semilla añade 1.0 a su valor, ya que tiene una copia completa del archivo. Un cliente conectado que tiene una fracción del archivo disponible añade esa parte a la disponibilidad, si ningún otro cliente tiene esa porción del archivo (por ejemplo, un cliente con un 65.3% de un archivo descargado incrementa la disponibilidad en un 0.653).
Retenido (Choked)
Describe a un cliente de subida al que no se quiere subir. Un cliente ‘retiene’ a otro cliente en varias situaciones:

  • El segundo cliente es una semilla, y no quiere ninguna parte del archivo (es decir, está completamente desinteresado)
  • El cliente de subida ya está subiendo a su máxima capacidad (es decir, se ha alcanzado el valor para max_uploads).
Interesado (Interested)
Es un cliente que quiere bajar partes de un archivo que tiene otro cliente. Por ejemplo, el cliente de subida marcará un cliente como ‘interesado’ si ese cliente no tiene una parte que él sí tiene y desea tenerla.
Sanguijuela (Leech)
Una sanguijuela es un cliente que tiene efectos negativos sobre el enjambre por tener una tasa de compartición muy baja; en otras palabras, baja mucho más de lo que sube. La mayoría de las sanguijuelas son usuarios con conexiones asimétricas que no dejan abierto su cliente BitTorrent para servir el archivo después de que su bajada haya finalizado. También hay algunas sanguijuelas que dañan el enjambre intencionadamente utilizado clientes modificados que no suben o limitando en exceso su tasa de subida.
El término sanguijuela también se utiliza mal para referirse a los que deberían llamarse clientes, un miembro del enjambre que todavía no ha conseguido el archivo completo.
Cliente (Peer)
Un cliente es una ejecución de un programa cliente de BitTorrent sobre un ordenador conectado a Internet que transfiere datos. Normalmente un cliente no tiene el archivo completo, sino partes de él. Puede llamarse ‘cliente’ a cualquier miembro del enjambre.
Raspado (Scrape)
Es la petición que un cliente envía al servidor de rastreo para obtener información estadística del torrent, como quién comparte el archivo con quien y la efectividad con la que los usuarios comparten.
Semilla (Seed)
Una semilla es un cliente que tiene una copia completa del archivo y todavía la ofrece para subir. Cuantas más semillas haya, mayores serán las probabilidades de completar un archivo.
Ignorado (Snubbed)
Un cliente de subida se marca como ignorado si el cliente de bajada no ha recibido nada de él en más de 60 segundos.
Supercompartición (Superseed)
Cuando un archivo es nuevo puede perderse mucho tiempo enviando la misma parte del archivo a varios clientes distintos, mientras que otras partes todavía no han sido bajadas. Algunos clientes como ABC, BitTornado o Azureus tienen un modo “supercompartición”, en el que intentan enviar sólo partes que no han sido enviadas anteriormente, haciendo la propagación inicial del archivo mucho más rápida. Normalmente se utiliza sólo para un archivo nuevo, o uno que debe ser recompartido porque no hay más semillas disponibles.
Enjambre (Swarm)
Juntos, todos los clientes que comparten un torrent se denominan enjambre. Seis clientes normales y dos semillas hacen un enjambre de ocho.
Torrente (Torrent)
Un torrente puede referirse tanto a un archivo .torrent de metadatos o a todos los archivos que se describen en él, dependiendo del contexto. El archivo torrente contiene metadatos sobre todos los archivos que se pueden descargar mediante él, incluyendo sus nombres, tamaños y hashes de todas las partes del torrente. También contiene la dirección del rastreador que coordina la comunicación entre los clientes del enjambre.
rastreador (tracker)
Un rastreador es un servidor que sigue las huellas de qué semillas y clientes hay en el enjambre. Los clientes aportan información al rastreador periódicamente y a cambio reciben información de otros clientes a los que pueden conectarse. El rastreador no está relacionado con ningún movimiento de datos y no tiene ninguna copia del archivo. Más información.

[editar] BitTorrent en comparación con otras redes P2P

El método utilizado por BitTorrent para distribuir archivos es similar en muchos aspectos al utilizado por la red eDonkey 2000, pero generalmente los nodos en esta red comparten y bajan mayores cantidades de ficheros, reduciendo el ancho de banda disponible para cada transferencia. 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 el protocolo eDonkey2000 no 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. Normalmente, estos archivos pueden descargarse desde las páginas web que publican grandes archivos (como las distribuciones GNU/Linux) o desde índices web de búsqueda (como The Pirate Bay o Ktorrents).

BitTorrent fue programado originalmente en Python aunque hoy en día se pueden encontrar clientes escritos en C o en Java por ejemplo.

Según CacheLogic,[2] durante el año 2005 BitTorrent se utilizaba especialmente en Asia, mientras que eDonkey2000 se prefería en Europa y América.

[editar] Programas cliente

Categoría principal: Clientes BitTorrent

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

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

[editar] Véase también

[editar] Referencias

[editar] Enlaces externos

Scroll to Top