Características del protocolo BitTorrent. Una pequeña introducción

Características del protocolo BitTorrent

Lo bueno del código abierto es que hay opciones para todos los gustos. Es inevitable que si escribes un artículo enumerando los motivos que te llevan a preferir una opción sobre otra, de manera inevitable recibirás comentarios de los que optan por la segunda explicándote las causas de su elección. El sábado comenté que prefería usar clientes BitTorrent antes que aMule. Los partidarios de este programa respondieron con su punto de vista. Si no conoces aMule te recomiendo que los leas. Sin dudas te resultarán instructivos.

Desde ya que su posición no invalida la mía. Dejé en claro en todo momento que se trataba de mi opinión personal. No soy persona de mucha paciencia, no suelo buscar joyas cinematográficas y, salvo en cosas críticas prefiero soluciones llave en mano antes de tener que andar configurando. De ahí que no me guste aMule. Más allá de eso, el compartir archivos mediante el protocolo BitTorrent tiene ventajas de las que quiero hablar.

Pero, para hacerlo, antes debemos ponernos de acuerdo en algunos conceptos.

¿Qué es una red Peer-to-Peer (P2P)?

ED2K y Kademlia, los dos protocolos que mencionamos en el ya citado artículo anterior, y BitTorrent son protocolos de comunicación para las redes Peer-to-Peer o P2P. Una traducción aproximada sería par a par y alude a dos o más ordenadores interconectados para compartir recursos sin necesidad de la intervención de un servidor central. Si quieren que las defina de manera más académica, pongámoslo de esta manera:

Un modelo de comunicaciones en el que cada elemento de la red tiene las mismas capacidades y cualquiera de ellos puede iniciar la comunicación.

Es decir que se diferencia del modelo cliente servidor utilizado por ejemplo en las descargas directas en el cuál, la comunicación la inicia el cliente y el servidor solo puede enviar una respuesta. A los miembros de una red P2P se los denomina «pares» porque todos tienen las mismas capacidades.

Podemos distinguir dos tipos de redes P2P:

  • P2P híbrida:  Se necesita de un intermediario que ayude a los pares a encontrarse y conectarse. Es el caso del protocolo ED2K y de la primera implementación del protocolo BitTorrent.
  • P2P pura: No interviene para nada un servidor central y cualquier miembro se puede desconectar de la red sin que se vea afectado su funcionamiento. Con esta modalidad trabaja el protocolo Kademlia y los clientes BitTorrent que incorporan la tecnología de tabla hash distribuida (DHT).

Características del protocolo BitTorrent

Linux Tracker es un conocido rastreador que permite a los clientes BitTorrent encontrar, descargar y compartir las distribuciones Linux más populares.

Una red BitTorrent está conformada por un conjunto de ordenadores denominando «enjambre». El proceso comienza cuando uno de los participantes carga un archivo utilizando un cliente BitTorrent. La función del cliente BitTorrent es contactar con un «rastreador» que se especificó en el archivo .torrent al momento de su creación. El rastreador es un servidor especial que realiza un seguimiento de las computadoras conectadas ocupándose de comparte sus direcciones IP con otros clientes de BitTorrent en el enjambre. Gracias a esto pueden conectarse entre sí.

Como comenté en la clasificación de las redes P2P, hay también un sistema torrent descentralizado que permite que los clientes de BitTorrent se comuniquen entre sí sin necesidad de servidores centrales. Los clientes BitTorrent utilizan la tecnología de tabla hash distribuida (DHT) permitiendo que cada cliente BitTorrent funcione como un nodo. Con esta modalidad, cuando se agrega un torrent usando un «enlace magnético», el nodo DHT contacta con los nodos cercanos y esos otros nodos contactan con otros nodos hasta que localizan la información sobre el torrent.

En otras palabras, cada par se convierte en un rastreador. La tecnología DHT puede funcionar junto con los rastreadores tradicionales proporcionando redundancia en caso de que el rastreador falle. De hecho, los sitios web que recopilan enlaces torrents suelen proporcionar ambas opciones.

En el próximo artículo vamos a profundizar en el funcionamiento del protocolo BitTorrent


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

3 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   jony127 dijo

    El problema con el artículo de amule que mencionas no es que tu prefieras usar torrent antes que amule, cada uno usa lo que le da la gana y mejor le va. El tema es que al final del artículo dijistes que no recomendabas su instalación y eso no es ni justo ni serio.

    Que a tí te guste más el torrent no quiere decir que amule no sea un programa válido y por supuesto que lo es para según que casos y ese fue tu gran error, pues das a entender al lector que amule no es una buena opción. No es bueno criticar una alternativa tan a la ligera y con tan poco criterio.

    1.    Diego Germán González dijo

      ¿Cuál seria el problema?
      Soy un simple usuario, no un experto en seguridad informática o un agente de la ley. Tampoco un sacerdote.
      Lo que yo recomiende o deje de recomendar es irrelevante.

      1.    jony127 dijo

        En eso te equivocas, tú estás escribiendo un artículo en un blog que puede leer mucha gente y al hablar mal de una aplicación la puedes estar desprestigiando injustamente, por eso lo decía.

        Si escribes un artículo en un blog público hay que ser responsable con lo que se escribe, no hace falta ser un sacerdote, un agente de la ley y esas cosas que dices.

bool(true)