Características del protocolo BitTorrent. Una pequeña introducción
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
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