BT9G LABS / DHT Deep Dive #12

Tracker vs DHT vs PEX: Membandingkan Tiga Mekanisme Peer Discovery BitTorrent

Bandingkan Tracker, DHT, dan Peer Exchange dari sisi arsitektur, freshness, desentralisasi, observability, dan kapan masing-masing berguna.

BT9G Labs / DHT Deep Dive #12. Tracker, DHT, dan PEX memecahkan masalah yang sama—menemukan Peer—tetapi dari sumber informasi dan tahap koneksi yang berbeda.

Tracker vs DHT vs PEX: Membandingkan Tiga Mekanisme Peer Discovery BitTorrent

Ringkasan cepat

  • Topik: Tracker vs DHT vs PEX: Membandingkan Tiga Mekanisme Peer Discovery BitTorrent
  • Kata kunci utama: Tracker, DHT, PEX, Peer discovery, BitTorrent
  • Untuk pembaca: engineer backend, peneliti protokol, search engineer, dan pengembang implementasi BitTorrent
  • Tujuan: Menjelaskan protokol dan desain sistem dengan cukup presisi agar dapat diterapkan pada pipeline discovery, metadata, indexing, dan search di dunia nyata.

Gambaran sistem

Satu tujuan, tiga jalur berbeda

Semua mekanisme ini membantu klien menemukan endpoint Peer untuk sebuah Swarm. Tracker menggunakan layanan yang diketahui sebelumnya, DHT melakukan lookup terdistribusi berdasarkan InfoHash, sedangkan PEX bertukar daftar Peer dengan Peer yang sudah terhubung.

Klien modern sering menggabungkan beberapa mekanisme. Hasil dari satu sumber dapat mempercepat akses ke sumber lain, sehingga desain sebaiknya tidak memandangnya sebagai pilihan eksklusif.

Tracker: langsung dan mudah diukur

Tracker dapat memberikan daftar Peer dan kadang statistik seperti complete/incomplete melalui announce atau scrape. Keuntungannya adalah respons langsung dan semantik statistik yang relatif jelas. Kekurangannya: endpoint tracker harus tersedia dan Torrent harus mengetahui tracker tersebut.

Untuk indexer, data tracker sebaiknya diberi timestamp dan source karena satu tracker tidak selalu mewakili seluruh Swarm, apalagi jika DHT dan tracker lain juga digunakan.

DHT: bootstrap yang terdesentralisasi

DHT memungkinkan discovery tanpa server tracker tertentu. Jangkauannya luas dan berguna ketika tracker hilang, tetapi ia tidak menyediakan jumlah Seeder/Leecher global yang presisi. Hasil adalah observasi kontak yang tersebar dan berubah cepat.

DHT sangat baik sebagai sumber candidate Peer, bukan sebagai database statistik absolut.

PEX: freshness setelah koneksi

PEX bekerja setelah klien memiliki koneksi ke setidaknya satu Peer yang mendukungnya. Peer tersebut dapat membagikan endpoint lain yang baru dilihat, sehingga PEX sering memberi kandidat sangat fresh di dalam Swarm aktif.

Namun PEX tidak menyelesaikan cold start sendirian. Anda tetap membutuhkan Peer awal dari DHT, Tracker, cache, atau sumber lain.

Sketsa implementasi

Cold start:
  Tracker -----------                       +--> Peer Pool --> Swarm
  DHT ---------------/

After connections exist:
  Connected Peer --PEX--> More Peer Candidates

Catatan engineering BT9G Labs

Untuk sistem indeks seperti BT9G, metrik yang paling berguna bukan sekadar jumlah paket atau jumlah InfoHash yang terlihat. Pisahkan identitas konten, observasi jaringan, status akuisisi, metadata terverifikasi, serta dokumen pencarian menjadi lapisan data yang berbeda. Simpan sumber dan waktu observasi untuk data yang datang dari DHT atau Peer. Dengan begitu, bottleneck dapat dilacak dari tahap discovery, koneksi, handshake, negosiasi extension, pengambilan metadata, validasi, penyimpanan, hingga indexing.

Kesalahan umum

  • Menganggap DHT dan Tracker saling menggantikan sepenuhnya.
  • Menggunakan angka dari satu Tracker sebagai jumlah global.
  • Mengira PEX dapat bekerja tanpa koneksi Peer awal.
  • Mencampur sumber Peer tanpa provenance dan timestamp.

Artikel BT9G Labs terkait

Referensi


Artikel berikutnya: Seeder dan Leecher: Arti Angka dan Cara Pengukurannya →

Artikel ini menjelaskan protokol BitTorrent publik dan pola engineering. Observasi terhadap sebuah Swarm tidak berarti kontennya tersedia, valid, atau diizinkan untuk didistribusikan.