Bagaimana cara klien torrent memasang kembali dan menyimpan barang?

9

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?

Cenoc
sumber
Apakah ada cara untuk mengunduh setengah dari unduhan setelah diperiksa ulang?. Sambungan saya seperti dialup ...... Jadi tolong bantu.

Jawaban:

19

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.

geodave
sumber
Wow, itu jawaban yang sangat lengkap .... tapi saya tidak pernah menyadarinya benar-benar menyisihkan file 1GB? Tampaknya tumbuh secara bertahap?
Cenoc
1
@Cenoc tergantung pada klien torrent, beberapa klien pra-alokasi, beberapa tidak, beberapa memiliki preferensi tambahan untuk pra-alokasi
Sathyajith Bhat
Menarik, jadi pada awalnya apakah itu hanya file yang diisi dengan '0's dan kemudian ketika file yang diunduh sebagian diperiksa pertama kali, dibandingkan dengan hash?
Cenoc
1
Ini adalah wadah kosong untuk file lengkap yang akhirnya, dan karena setiap bagian diunduh oleh klien, itu diperiksa terhadap hash dan kemudian dimasukkan ke tempat yang sesuai dalam wadah sampai file lengkap selesai.
geodave
1
Seperti yang disebutkan Sathya, itu tergantung pada klien. Beberapa akan melakukan pra-alokasi ruang pada hard drive Anda untuk seluruh file; itu akan menyimpan banyak ruang, dan program lain tidak akan dapat menggunakan ruang itu di drive, sampai file Anda diunduh. Klien bittorrent lain akan meletakkan potongan-potongan yang sudah selesai di lokasi penyimpanan sementara untuk menghemat ruang drive, dan kemudian mengumpulkan file lengkap setelah semua potongan telah diunduh. Itu tergantung pada pengaturan apa yang Anda pilih.
geodave