Mengenal Torrent dan Istilah Pada Torrent

Berjumpa lagi di artikel mengenai torrent. Pada artikel tentang torrent sebelumnya, kita sudah membahas mengenai permasalahan umum pada penggunaan torrent. Namun kali ini saya akan mencoba mengulas lebih dalam lagi mengenai cara kerja protokol bittorrent dan istilah-istilah mengenai torrent.

Ilustrasi Peer to Peer BitTorrent
Gambar 1. Ilustrasi Peer to Peer BitTorrent

Torrent atau BitTorrent merupakan sebuah metode dan juga merupakan sebuah protokol file sharing peer-to-peer yang ditujukan untuk mendistrbusikan data melalui internet. Tidak seperti metode lainnya, BitTorrent memaksimalkan kecepatan transfer data dengan mengumpulkan potongan-potongan dari file.

Mekanisme Kerja dari Protokol BitTorrent

Torrent bekerja dengan memecah suatu file utuh kedalam bagian kecil yang disebut chunk atau piece untuk dapat didistibusikan melalui internet. Sebuah peer yang pertama kali mendistribusikan data melalui BitTorrent disebut superseed atau initial seeder. Protokol BitTorrent baik melalui tracker ataupun DHT akan memastikan bahwa seeder mengirimkan pecahan data secara acak kepada setiap peer dalam suatu swarm. tiap peer dalam swarm akan mendapatkan pecahan data yang berbeda-beda, sehingga akan terjadi pertukaran data antara peer yang terhubung. Dengan banyaknya peer dalam swarm tadi, semakin cepat suatu data dapat terdistribusi. Peer yang sudah melengkapi bagian-bagiannya menjadi file utuh kemudian akan menjadi seeder.

Proses awal distribusi data melalui torrent dimulai dengan pembuatan sebuah metafile untuk mendeskripsikan data asli yang akan didistribusikan. Ekstensi yang umum adalah menggunakan suffix .torrent. File ini memiliki ukuran yang jauh lebih kecil daripada data aslinya, karena hanya berisi suatu metadata berupa informasi hash dari file target, jumlah piece, tracker, dan informasi penting lainnya.

Ilustrasi HTTP File Sharing Ilustrasi BitTorrent File Sharing
Gambar 1. Ilustrasi HTTP File Sharing (kiri) dan BitTorrent File Sharing (kanan)

Struktur dalam sebuah file .torrent adalah sebagai berikut:

  • Announce
  • Berisi alamat tracker berupa url dengan protokol http, https, atau udp

  • Info keys
  • Berisi deskripsi data yaitu nama file, direktori, dan path dimana file akan disimpan; chunk size atau pieces-length yaitu besar ukuran chunks; hash list dari tiap chunks; length; files list.

  • Flag
  • Digunakan untuk membedakan distribusi torrent, apakah ini merupakan superseeder dan jenis trackernya (public traker atau private tracker)

  • Opsional
  • Berisi informasi tambahan seperti tanggal dibuat, creator, atau komentar mengenai pembuatnya.

Tiap-tiap string dari struktur metafile tersimpan dalam set-karakter UTF-8 dalam format bencode.

Metode Distribusi Data Protokol BitTorrent

Dalam dunia torrent, metode penyebaran distribusi datanya dapat dilakukan dalam dua cara yaitu centralized dan decentralized. Metode distribusi torrent secara terpusat (centralized) adalah menggunakan torrent tracker dan distribusi torrent secara tersebar (decentralized) menggunakan DHT atau sering diistilahkan sebagai trackerless torrent.

  • Centralized Torrent (Torrent Tracker)
  • Torrent tracker adalah host server yang mengatur komunikasi antar peer yang menggunakan protokol BitTorrent. Sebelum peer dapat mendownload data melalui BitTorrent, client akan melakukan koneksi ke tracker terlebih dahulu untuk mendapatkan informasi mengenai peer yang terhubung dalam swarm. Setelah informasi didapat maka pertukaran data antar peer dalam suatu swarm dapat berlangsung secara direct (antar peer). Selama proses pertukaran data antar peer berlangsung, secara periodik client juga melakukan komunikasi dengan tracker untuk mendapatkan informasi terupdate mengenai statistik swarm.

  • Decentralized Torrent (Trackerless Torrent)
  • Trackerless torrent memungkinkan distribusi data tanpa bergantung pada host server. Metode ini menggunakan protokol aplikasi DHT melalui UDP. DHT hanya memberikan informasi berupa hashkey, sehingga setiap peer akan berfungsi juga sebagai tracker (node). Peer adalah suatu pengguna torrent yang terhubung dengan protokol BitTorrent melalui port TCP. Dan node adalah suatu client yang terhubung dengan protokol BitTorrent melalui port UDP untuk mengontak node lainnya dalam DHT untuk mendapatkan lokasi dari peer lainnya yang menggunakan protokol BitTorrent. Dengan demikian pertukaran informasi data terjadi melalui DHT. Hampir semua torrent client dapat mendukung protokol DHT.

Aplikasi Torrent Client

Agar dapat melakukan aktivitas torrenting (download dan upload) diperlukan sebuah aplikasi torrent client. Tersedia beragam software torrent client baik untuk Windows, Linux, dan MacOS. Beberapa aplikasi torrent client diantaranya adalah:

  • μTorrent
  • Adalah aplikasi torrent client yang bersifat proprietary (bukan open source) Paling populer di kalangan pengguna sistem operasi Windows. Akhir-akhir ini μTorrent juga disisipi oleh ads dalam softwarenya.

  • Transmission
  • Torrent client ini bersifat open source. Karena ringan dan simpel, torrent client ini populer di kalangan pengguna sistem operasi Mac dan Linux.

  • rTorrent
  • Torrent client ini bersifat open source. Selain sangat ringan, hemat sumber daya dan cara kerjanya yang efisien, torrent client ini sering diinstall pada perangkat embedded seperti router dan multimedia box. rTorrent juga sering digunakan oleh kalangan penyedia SeedBox Hosting.

  • Vuze
  • Vuze dulunya dikenal sebagai Azuerus, merupakan salah satu torrent client dengan antarmuka yang lebih menarik. Agak kurang populer karena kurang efisien dalam hal sumberdaya. Vuze tersedia di sistem operasi Linux dan Windows.

  • Deluge
  • Deluge adalah salah satu torrent client yang popularitasnya cukup baik, selain karena juga open source. Antarmuka dan fitur yang disediakan lebih lengkap ketimbang Transmission. Deluge lebih populer di kalangan pengguna Linux.

  • Tixati
  • Tixati adalah salah satu torrent client yang juga open source, hanya saja agak kurang populer.

  • Thunder dan Xunlei
  • Ini adalah fakta, aplikasi torrent client ini populer di kalangan pengguna tamak, serakah, namun pelit dalam hal berbagi data melalui protokol bittorrent. Oleh karena itu aplikasi torrent client ini banyak dibanned oleh banyak server tracker, terutama di private tracker. Di semua private tracker, software ini masuk dalam kategori banned untuk semua versinya yang tersedia. Sama nasibnya seperti server torrent client seperti zbigz, furk, boxopus, dan web leecher sejenis dibanned karena tidak seeding setelah proses leeching selesai.

Istilah Pada Torrent

Dari tulisan-tulisan diatas, dan mungkin pada artikel lain disini yang membahas torrent, banyak sekali istilah-istilah yang mungkin membuat bingung, namun disini saya mencoba untuk membantu memahami istilah-istilah tersebut:

[expand title=”istilah yang sering dijumpai pada utorrent“]

  • .torrent
  • merupakan sebuah metafile torrent, berisi informasi mengenai data yang akan didownload ataupun didistribusikan melalui BitTorrent.

  • Announce
  • proses penyebaran informasi ke sebuah tracker atau node dengan mengupdate status client untuk mendapatkan informasi mengenai data yang diminta dan daftar peer yang terhubung dalam swarm.

  • BitTorrent
  • adalah salah satu protokol aplikasi file sharing peer-to-peer. Selain itu juga dijadikan nama untuk salah satu software torrent client.

  • Chocked
  • kondisi dimana klien melakukan permintaan data dari peer namun peer tidak mengirimkan data ke klien. Hal ini biasanya disebabkan karena upload slot dari suatu peer tidak tersedia lagi.

  • Chunk
  • disebut juga sebagai pieces, yaitu pecahan dari sebuah data yang didistribusikan melalui protokol BitTorrent.

  • Client
  • dalam dunia torrent, client adalah sebuah aplikasi/software pendukung aktifitas torrenting. Selain itu client juga merujuk kepada pengguna protokol BitTorrent, atau komputer yang terhubung dengan protokol Bittorrent. Istilah Peer juga termasuk dan dapat diartikan sebagai client.

  • DHT
  • kependekan dari Distributed Hash Table adalah tracker terdistribusi yang bekerja serupa dengan tracker biasa. DHT termasuk kedalam ekstensi protokol BitTorrent.

  • Flag
  • dalam duania torrent, flag adalah sebuah rambu atau penanda status dari peer. Terdapat standarisasi kode flag yang digunakan pada torrent tracker. Mengenai status atau flag dibahas di bagian lain dari artikel ini.

  • Initial Seeder
  • juga sering disebut sebagai superseed, yaitu orang atau client pertama yang mendistribusikan data melalui protokol BitTorrent.

  • LPD
  • kependekan dari Local Peer Discovery, adalah salah satu ekstensi dari protokol BitTorrent, yaitu metode untuk mengimprovisasi performa dari penggunaan protokol BitTorrent, dengan cara mencoba mencari peer baru dalam suatu jaringan yang posisinya relatif terhadap jaringan komputer client. Implementasinya kompatibel dengan µTorrent, transmission, libtorrent, dan BitTorrent Mainline.

  • Leecher
  • istilah untuk menamakan status peer yang sedang dalam proses mendownload data melalui torrent, dimana belum memiliki bagian-bagian data secara lengkap. Dalam konotasi negatif, leecher adalah client yang tidak kembali mendisitribusikan data yang diperolehnya melalui BitTorrent.

  • Magnet URL
  • bentuk standar dari URI yang merujuk pada resource yang tersedia dari sebuah jaringan peer-to-peer. Magnet link berbeda dengan URL pada umumnya, dimana magnet link mengidentifikasi konten resource berdasarkan cryptographic hash value bukan berdasarkan lokasi. Format dari magnet link adalah sebagai berikut: magnet:?xt=urn:btih:sha1&dn=namafile&tr=alamattracker

  • Micro Transport Protocol
  • sering disingkat sebagai μTP adalah salah satu ekstensi protokol BitTorrent yang dikembangkan oleh Stanislav Shalunov. Protokol ini digunakan untuk mengatur kontrol bandwidth congestion pada sebuah koneksi atau jaringan internet, sehingga tidak mendisrupsi penggunaan program lain yang menggunakan koneksi internet.

  • Peer
  • merujuk pada pengguna protokol BitTorrent, baik leecher dan seeder juga termasuk dalam anggota peer.

  • Protokol Encryption
  • metode transfer data yang digunakan oleh torrent client guna membypass throttling atau blocking trafik p2p dari ISP.

  • PeX
  • kependekan dari Peer Exchange, yaitu salah satu ekstensi protokol aplikasi Bittorrent untuk mengimprovisasi performa penggunaan protokol BitTorrent, yaitu dengan cara melakukan pertukaran daftar peer yang juga mengimplementasikan fitur yang sama (torrent client yang sejenis atau yang saling kompatibel). Dengan pertukaran daftar peer, maka memungkinkan suatu client menemukan peer baru yang tidak termasuk dalam daftar peer yang disediakan tracker.

  • Poisoning
  • perlakuan dari suatu peer yang memberikan data yang tidak sesuai dengan permintaan client dengan unsur kesengajaan. Hal ini menyebabkan terjadinya hashfail, karena client menerima data yang tidak sesuai, sehingga mengurangi efisiensi distribusi data karena trafik terbuang percuma.

  • Private
  • adalah status flag pada torrent client, kondisi dimana sebuah file .torrent ditandai (flagged) untuk meniadakan DHT, LPD, dan PEX. Tujuannya adalah untuk menciptakan swarm yang terisolasi dari peer yang bukan menjadi bagian dari anggotanya. Hal ini biasanya diimplementasikan untuk .torrent yang bersumber dari private tracker.

  • Private
  • adalah suatu tracker yang mensyaratkan client untuk melakukan proses autentikasi/login sebelum dapat terhubung ke tracker. PID/user-hashkey berfungsi sebagai autentikasi agar client dapat diterima oleh tracker tersebut.

  • Public
  • adalah status flag pada torrent client, kondisinya kebalikan dari flag Private.

  • Public Tracker
  • adalah suatu tracker yang bersifat terbuka yang memperbolehkan semua client terhubung ke tracker. Public tracker dapat digunakan tanpa proses registrasi dan autentikasi.

  • Rasio
  • adalah perbandingan antara jumlah data yang diupload dengan jumlah data yang didownload.

  • Scrape
  • informasi/statistik mengenai jumlah peer (seeder dan leecher) dari suatu tracker pada suatu swarm.

  • Seeder
  • adalah istilah untuk menamakan status peer yang sudah memiliki data lengkap dan melakukan distribusi (upload) kepada peer dalam suatu swarm.

  • Superseed
  • istilah lain dari Initial Seeer

  • Snubbed
  • kondisi atau status flag dimana client tidak menerima data apapun dalam periode tertentu. Seringkali juga diistilahkan stalled

  • Swarm
  • adalah suatu kumpulan atau kelompok peer yang saling terhubung, dengan kata lain swarm merupakan suatu “ekosistem”

  • Tracker
  • sebuah host server yang bertugas mengatur peer yang terhubung, memberikan informasi daftar peer, dan menyediakan statistik kepada tiap-tiap peer.

  • Wasted
  • adalah kondisi dimana client menerima chunk yang sama dari beberapa peer, menerima data dengan hash yang tidak sesuai, atau menerima kembali chunk yang sudah didownload oleh client. Poisoning juga menjadi salah satu penyebab kondisi Wasted.

[/expand]

Status atau Flag Pada Torrent Peer

Dalam peer list pada aplikasi torrent client biasanya muncul flag atau atribut sebagai penanda status peer, beberapa atribut umum pada peer flag diantaranya:

[expand title=”rambu atau status penanda atribut utorrent“]

  • D
  • menandakan peer sedang dalam keadaan mendownload.

  • d
  • aplikasi torrent client kamu meminta data tetapi peer tidak ingin mengupload data.

  • U
  • menandakan peer sedang dalam keadaan mengupload.

  • u
  • peer meminta aplikasi torrent untuk mengupload data tetapi aplikasi torrent client kamu tidak ingin mengirimkan data.

  • S
  • kondisi ketika aplikasi torrent client tidak menerima apapun dalam suatu koneksi terhadap peer. Diistilahkan sebagai stalled atau snubbed.

  • I
  • kondisi peer dalam keadaan dapat menerima data (Interested)

  • K
  • peer mencari swarm lainnya dan memberikan informasi, tetapi aplikasi torrent client kamu mengabaikannya.

  • ?
  • torrent client kamu menginformasikan swarm lainnya tetapi peer mengabaikan.

  • H
  • koneksi ke peer yang didapatkan melalui DHT.

  • E
  • peer menggunakan Protokol Encryption untuk semua lalulintas data.

  • e
  • peer menggunakan Protokol Encryption untuk proses handshake.

  • P
  • peer menggunakan Protokol Mikro Transport (mTP).

  • L
  • local peer (yang ditemukan dalam koneksi jaringan lokal).

[/expand]

Kira-kira sampai disini pembahasan mengenai cara kerja torrent dan istilah-istilah yang sering dijumpai dalam aplikasi torrent. Di lain waktu kita akan membahas soal aplikasi torrent client hingga cara instalasi dan konfigurasinya.

Artikel Terkait

[related_posts limit=”5″]

 

Leave a Reply