Me preguntaba, ¿cómo se almacenan y vuelven a montar las piezas descargadas por los clientes de torrent? ¿Usan metadatos? Parece que este no es el caso ya que uno puede reproducirlos si son archivos a medio formar. No tengo idea de cómo se hace esto? Entonces, básicamente, me pregunto cómo están organizadas las piezas del archivo descargado. ¿Es solo del primero al último, o hay espacios intermedios en el medio?
bittorrent
Cenoc
fuente
fuente
Respuestas:
¡Bienvenido al maravilloso mundo de Torrents! Hay algunas piezas que comprenden el protocolo Bittorrent: tiene su archivo, legalthing.iso y desea distribuirlo a la mayor cantidad de personas posible. Entonces crea un archivo "torrent", que describe legalthing.iso, y distribuye el archivo torrent a través de un sitio web, o de cualquier otra forma que desee. El archivo torrent puede apuntar directamente a su computadora (y usted estaría actuando como la semilla) o el archivo torrent puede apuntar a un "rastreador", que es un servidor que conecta las "semillas" (usuarios con todo el legalthing.iso archivo ya) y "pares" (usuarios que están descargando activamente el archivo).
Acercándome a tu pregunta ahora. El archivo en sí, legalthing.iso, se codifica criptográficamente para que cada persona que lea el archivo torrent y comience a descargar legalthing.iso pueda verificar cada pieza con el hash y asegurarse de que no descarguen una pieza que se ha modificado del original. Las piezas que no pasan las comprobaciones hash se descartan.
Ahora imagina que eres una computadora descargando un archivo, usando Bittorrent. El protocolo puede funcionar de dos maneras: descargará partes aleatorias del archivo o primero descargará las partes más raras. Este último enfoque es aumentar la "salud" general (disponibilidad) del torrent.
Entonces, ¿qué hay en el archivo torrent real? Varía según el cliente utilizado para hacerlo, pero generalmente contiene una sección de "anuncio" que es la dirección del rastreador que está utilizando y una gran lista de todas las partes del archivo que desea descargar. Cada pieza es de un tamaño uniforme (32 kb, 512kb, 4mb, realmente cualquier tamaño que desee) y cada pieza tiene un hash asociado. Cada vez que un compañero obtiene una pieza, compara el hash de esa pieza (utilizando el código hash SHA-1) con el hash que figura en el archivo torrent. Así es como se da cuenta de que las piezas son buenas.
Dado que el archivo torrent enumera cada parte del archivo que está descargando, cada vez que su cliente descarga con éxito una pieza y la copia en hash, la escribe en la posición correcta en el disco duro dentro del archivo. Es por eso que si descarga un archivo de 1 gb, el cliente reservará un bloque de espacio vacío en su disco de 1 gb de tamaño, para acomodar las piezas de torrent que descargará.
Ahora, algunos reproductores de video y otros visores de archivos pueden manejar archivos "corruptos". por supuesto, un torrent medio descargado no está dañado, pero le faltan piezas y para un programa como VLC, simplemente parece roto. Por lo tanto, VLC hará lo mejor que pueda para reproducir los datos que pueda encontrar y es por eso que pueden reproducirse mientras se descargan parcialmente.
Hay muchos aspectos más complicados (google DHT, almacenamiento en búfer de escritura de torrent, todas esas cosas divertidas) pero eso es lo básico de cómo funciona Bittorrent.
fuente