Saya bertanya-tanya, bagaimana bagian yang diunduh oleh klien torrent disimpan dan dipasang kembali? Apakah mereka menggunakan metadata? Sepertinya ini tidak terjadi karena seseorang dapat memainkannya jika mereka adalah file setengah terbentuk? Saya tidak tahu bagaimana ini dilakukan? Jadi pada dasarnya saya bertanya bagaimana potongan-potongan dalam file yang diunduh diatur? Apakah hanya dari pertama hingga terakhir, atau ada ruang penyangga di antaranya?
bittorrent
Cenoc
sumber
sumber
Jawaban:
Selamat datang di dunia Torrent yang indah! Ada beberapa bagian yang terdiri dari protokol Bittorrent: Anda memiliki file Anda, legalthing.iso dan Anda ingin membagikannya kepada sebanyak mungkin orang. Jadi Anda membuat file "torrent", yang menjelaskan legalthing.iso, dan Anda mendistribusikan file torrent melalui situs web, atau cara lain yang Anda suka. File torrent dapat menunjuk langsung ke komputer Anda (dan Anda akan bertindak sebagai seed) atau file torrent dapat menunjuk ke "pelacak", yang merupakan server yang menghubungkan "seed" (pengguna dengan seluruh legalthing.iso file sudah) dan "rekan" (pengguna yang secara aktif mengunduh file).
Semakin dekat dengan pertanyaan Anda sekarang. File itu sendiri, legalthing.iso, hash secara kriptografis sehingga setiap orang yang membaca file torrent dan mulai mengunduh legalthing.iso dapat memeriksa setiap bagian dari hash, dan memastikan mereka tidak mengunduh bagian yang telah dimodifikasi dari aslinya. Potongan yang gagal diperiksa hash dibuang.
Sekarang berpura-puralah Anda sedang mengunduh file menggunakan Bittorrent. Protokol dapat bekerja dengan satu dari dua cara, baik Anda akan mengunduh potongan file acak, atau Anda akan mengunduh bagian yang paling langka terlebih dahulu. Pendekatan terakhir ini adalah untuk meningkatkan "kesehatan" (ketersediaan) torrent secara keseluruhan.
Jadi apa yang ada di file torrent yang sebenarnya? Ini bervariasi berdasarkan klien yang digunakan untuk membuatnya, tetapi umumnya berisi bagian "umumkan" yang merupakan alamat pelacak yang Anda gunakan, dan daftar besar semua bagian file yang ingin Anda unduh. Setiap bagian memiliki ukuran yang seragam (32 kb, 512 kb, 4mb, benar-benar ukuran apa pun yang Anda suka) dan masing-masing bagian memiliki hash yang terkait dengannya. Setiap kali rekan mendapat bagian itu membandingkan hash untuk bagian itu (menggunakan kode hash SHA-1) dengan hash yang tercantum dalam file torrent. Begitulah cara mengetahui potongan-potongan yang baik.
Karena file torrent mencantumkan setiap bagian dari file yang Anda unduh, setiap kali klien Anda berhasil mengunduh sepotong dan hash, itu menulis potongan ke posisi yang benar pada hard disk dalam file. Itu sebabnya jika Anda mengunduh file 1gb, klien akan menyisihkan ruang kosong di disk berukuran 1gb, untuk mengakomodasi potongan torrent yang akan Anda unduh.
Sekarang beberapa pemutar video dan pemirsa file lain dapat menangani file "rusak". Tentu saja, torrent yang diunduh setengahnya tidak rusak, tetapi ada bagian yang hilang dan untuk program seperti VLC, itu hanya terlihat rusak. Jadi VLC akan melakukan yang terbaik untuk memutar data apa pun yang dapat ditemukannya dan itulah sebabnya mereka dapat bermain sambil diunduh sebagian.
Ada banyak aspek yang lebih rumit (google DHT, torrent write buffering, semua hal yang menyenangkan) tetapi itulah dasar-dasar bagaimana Bittorrent bekerja.
sumber