domingo, 16 de agosto de 2015

Aprendiendo informatica: Torrents con archivos repetidos

Hace un par de dias, un amigo me comentaba que no estaba siguiendo la serie que estoy traduciendo por miedo a que se descarguen los archivos de los torrents por duplicado, con el consiguiente gasto de espacio y de ancho de banda. Esto en realidad no es asi.

Cuando se descarga un torrent, como ya sabemos de otras ocasiones en que he explicado lo que es el reseeding, lo primero que hace es revisar si estan los archivos para seguir descargando o directamente seedear. ¿Y que pasa si no encuentra un archivo? Pues asume que el torrent se ha descargado de forma incompleta y sigue descargando.

Esto permite hacer un pequeño truco muy efectivo para los trackers privados: descargar un video desde un tracker publico y luego empezar a seedearlo desde su torrent equivalente en el tracker privado, limitandose a descargar los archivos que pueda haber de diferencia (como pueden ser archivos de subtitulos). Pero bueno, me estoy saliendo del tema.

Ahora bien, al intentar descargarlo encontraremos un fenomeno extraño: aunque tengamos un batch descargado con los capitulos 1 a 5, en el momento en que ponemos a descargar un batch con los capitulos 1 a 6 ¡nos aparece que uno de los archivos esta incompleto!

Os preguntareis que por que ocurre esto. La respuesta esta en como funcionan los torrents. Cuando se crea un archivo torrent, se ponen todos los datos de los archivos juntos y se subdividen en pequeños bloques del mismo tamaño. Por lo general no tenemos que preocuparnos de esto, ya que el propio programa lo decide solo si no hacemos nada. Sin embargo ¿que ocurre cuando al dividirlo en bloques no termina de encajar? Es decir, si el paquete pesa 10.5 MB y se subdivide en bloques de 1 MB, por poner un ejemplo. Pues la solucion es simple: se rellena el bloque con datos en blanco. Se crearia un torrent con un peso de 11 MB, que contiene 0.5 MB de datos en blanco.

¿Entonces que pasa? Al ir a descargar el nuevo torrent, que contiene mas datos, examina que cada bloque contenga lo que tiene que contener y resulta que detecta que donde deberia haber un bloque lleno de datos solo hay la mitad. La solucion: considera que ese bloque esta dañado y que es necesario descargarlo de nuevo. Es un bloque de un tamaño minimo, con lo que rapidamente es reparado, pero se descarga de nuevo.

Ahora os preguntareis, ¿que pasa con los otros torrents que contengan esos archivos? Sencillo: absolutamente nada. El programa no reescribira el archivo hasta que el bloque este completo.

Dicho de otro modo, podeis descargar los batches de la serie sin problemas e incluso podeis mantener todos los torrents de los batches al mismo tiempo porque todo funcionara perfectamente.

Un saludo, y a esperar que salgan los nuevos subs. La RAW de esta semana ya esta disponible.

No hay comentarios:

Publicar un comentario