BitTorrent

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(creo esbozo)
 
(Programas cliente: menciono algunos programas para ubuntu)
 
(No se muestran 2 ediciones intermedias realizadas por un usuario)
Línea 1: Línea 1:
'''BitTorrent''' es un protocolo basado en el sistema [[w:P2P|P2P]] para la descarga de grandes archivos. Este sistema se encarga de dividir ese gran archivo en pequeñas partes y automáticamente las descarga desde múltiples [[w:nodo|nodo]]s a la vez. Al mismo tiempo también comparte las partes que te has descargado de otros nodos, de esta forma todo el mundo comparte y se beneficia.  
+
'''BitTorrent''' es un protocolo para el intercambio de archivos de igual a igual (''[[P2P|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 [[Qué CD escojo|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.
  
Este es un buen método para [[Qué CD escojo|descargar]] las [[w:iso|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.
+
== Funcionamiento ==
  
== Enlaces externos ==
+
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 descargar un fichero a compartirlo también con otros. Primero se distribuye por medios convencionales un pequeño fichero con extensión <tt>.torrent</tt>.  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.
{{wikipedia}}
+
 
 +
[[Imagen:Torrent-compartir.gif‎ | 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 ==
 +
 
 +
A partir de 8.04, el cliente instalado por defecto en Ubuntu es [[Transmission]]. Un pequeño pero eficiente programa que puede usarse tanto desde la línea de comandos como desde el escritorio gráfico(GTK+).
 +
 
 +
Además en los repositorios podemos encontrar:
 +
 
 +
;Paquetes bittorrent y bittorrent-gui. El cliente BitTorrent Original. Interfaz cli y gui
 +
:Aunque no es recomendable por estar desactualizado.
 +
:En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
 +
 
 +
;Paquete bittornado y bittornado-gui. Interfaz ncurses y gui.
 +
:En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
 +
 
 +
;Paquete rtorrent. Cliente BitTorrent. Interfaz ncurses
 +
:En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
 +
;Paquetes ktorrent. Cliente para KDE
 +
:Se instala por defecto en Kubuntu.
 +
:En las versiones hardy, intrepid, jaunty, karmic, lucid.
 +
 
 +
=== Otros clientes ===
 +
 
 +
Vuze, antes se llamaba Azureus. Cliente muy completo.
 +
 
 +
== 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 [http://thetorrentbay.blogspot.com The Torrent Bay] y [http://torrentz.com Torrentz.com]
 +
También puedes [http://frikipandi.com/public/post/buscador-de-torrents-con-google-160.asp Buscar Torrents usando Google].
  
 
== Fuente ==
 
== Fuente ==
 +
* El articulo sobre [[w:BitTorrent_(protocolo) | BitTorrent_(protocolo) ]] de la Wikipedia
 
* [https://help.ubuntu.com/community/BitTorrent BitTorrent] de help.ubuntu.com {{en}}.
 
* [https://help.ubuntu.com/community/BitTorrent BitTorrent] de help.ubuntu.com {{en}}.
  
{{esbozo}}
+
[[Categoría:P2P]]
 
+
[[Categoría:Internet y redes]]
+

Última revisión de 22:25 15 mar 2010

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

[editar] 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 descargar 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.

[editar] 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.

[editar] Programas

A partir de 8.04, el cliente instalado por defecto en Ubuntu es Transmission. Un pequeño pero eficiente programa que puede usarse tanto desde la línea de comandos como desde el escritorio gráfico(GTK+).

Además en los repositorios podemos encontrar:

Paquetes bittorrent y bittorrent-gui. El cliente BitTorrent Original. Interfaz cli y gui
Aunque no es recomendable por estar desactualizado.
En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
Paquete bittornado y bittornado-gui. Interfaz ncurses y gui.
En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
Paquete rtorrent. Cliente BitTorrent. Interfaz ncurses
En las versiones hardy, intrepid, jaunty, karmic, lucid. Repositorio universe
Paquetes ktorrent. Cliente para KDE
Se instala por defecto en Kubuntu.
En las versiones hardy, intrepid, jaunty, karmic, lucid.

[editar] Otros clientes

Vuze, antes se llamaba Azureus. Cliente muy completo.

[editar] 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.

[editar] 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.

[editar] 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.

[editar] 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.

[editar] Fuente

Herramientas personales