jueves, 19 de marzo de 2009

Seeds y Leechers

Si alguna vez has utilizado un cliente de intercambio de ficheros basado en torrents, tipo Bittorrent o Azureus, es posible que a la hora de descargarte un .torrent te hayas preguntado que significa la información asociada al mismo, en especial que es eso de los leechers y seeds. O quizás te hayas preguntado porque se bajan más rápido torrents de contenido más reciente.

Pues bien, como seguramente ya sabéis, en una red de intercambio de ficheros p2p basada en Bittorent los ficheros se dividen en partes con el objetivo de aliviar la carga en la descarga.

Los agentes de usuario o pares, que son las aplicaciones cliente que nosotros ejecutamos en nuestro ordenador, se encargan de descubrir que otros nodos disponen de las partes del archivo que nos faltan y de conectarse a ellos para realizar la descarga. Al mismo tiempo, atienden peticiones de otros clientes con el mismo propósito.

Evidentemente, para poder llevar a cabo la descarga de un fichero con éxito, es necesario que inicialmente por lo menos exista en la red un nodo con todas las partes. A estos nodos se les llama seeds (semillas) ya que únicamente comparten y no descargan. Al resto de nodos se les llama leechers (sanguijuelas).

Por lo tanto, contra más seeds haya presentes en la red, más seguridad tengo de que mi agente de usuario podrá descargarse las partes que me faltan para completar el archivo.

Los seeds tratan de maximizar su velocidad de subida (upload), con el objetivo de que los leechers completen sus partes y pasen a ser seeds. Por eso como en los primeros días de un torrent hay muchos usuarios pidiendo un fichero, se crean nuevas semillas rápidamente. Esta es la razón por la que contra más nuevo es el torrent, más rápida es la descarga. Y conforme más antiguo se va haciendo la probabilidad de que un seed "aguante" en la red es menor, ya que progresivamente van abandonando la misma.

Si una red se queda sin semillas, se dan dos situaciones posibles:
  1. Que juntando las partes de los leechers se tengan todas las partes
  2. Que juntando las partes de los leechers no se tengan todas las partes
En el primer caso es posible que alguno consiga descargarse el archivo. En el segundo caso se llegará a un estado de "estancamiento" en el que todos los leechers llegarán a tener las mismas partes y claro está, a faltarles las mismas y no llegarán a completar la descarga del archivo.

1 comentario: