Analisis dan Perbandingan Performansi File Sharing Peer-to-Peer Menggunakan Framework JXTA dan Gnutella
Vol. 2, No. 10, Oktober 2018, hlm. 3771-3778 http://j-ptiik.ub.ac.id
Analisis dan Perbandingan Performansi File Sharing Peer-to-Peer
Menggunakan Framework JXTA dan Gnutella
1 2 3 Yoga Faodiansyah , Kasyful Amron , Eko Sakti PramukantoroProgram Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: yogaf.informatika@gmail.com, kasyful@ub.ac.id, ekosakti@ub.ac.id
Abstrak
Teknologi informasi telah menjadi kebutuhan manusia dan salah satu bidang didalamnya yaitu sharing.
Sharing adalah mekanisme yang dilakukan untuk berbagi resource berupa file, atau informasi lainnya
kepada user lain dan bertujuan untuk memaksimalkan resource yang tersedia. Tujuan lainnya yaitu memberikan kemudahan untuk melakukan pencarian atau pembagian informasi pada user. File sharing merupakan kegiatan sharing yang banyak dilakukan dan berdasar pada arsiterktur yang digunakan dibagi menjadi dua yaitu client-server dan peer-to-peer. Muncul beberapa masalah saat arsitektur client- digunakan yaitu salah satunya resource yang digunakan terbatas sehingga menghambat proses
server
file sharing . Arsitektur peer-to-peer dapat menjadi solusi dari permasalahan tersebut karena pada
arsitektur peer-to-peer, resource yang digunakan dapat dibagi pada setiap user yang terhubung. Mekanisme file sharing pada peer-to-peer berbeda-beda pada setiap generasi sehingga hasil kinerjanya pun berbeda. Penelitian ini dilakukan untuk mengetahui kinerja terhadap protocol yang digunakan yaitu JXTA dan Gnutella yang masing-masing pada generasi dua dan tiga untuk melakukan proses file sharing dengan trhoughput dan delay sebagai parameter. Untuk memperoleh nilai parameter dilakukan pengujian dengan melakukan proses file sharing sesuai dengan perancangan terhadap kedua protocol yang ditentukan. Hasil pengujian pada masing-masing protocol yang diperoleh kemudian dianalisis dan dibandingkan.
Kata kunci: file sharing, sharing, peer-to-peer, gnutella, jxta
Abstract
Information technology has become a human need and one of the areas in it is sharing. Sharing is a
mechanism done to share resources in the form of files, or other information to other users and aims to
maximize the available resources. Another goal is to make it easy to search or share information with
the user. File sharing is a sharing activity that many do and based on arsiterktur used is divided into
two namely client-server and peer-to-peer. Some problems arise when the client-server architecture is
used, one of which is limited resources that hinder the process of file sharing. Peer-to-peer architecture
can be the solution of the problem because in the peer-to-peer architecture, the resources used can be
shared on each connected user. The mechanism of file sharing on peer-to-peer varies on each generation
so that the performance results are different. This research is conducted to know the performance of the
protocol used is JXTA and Gnutella which respectively in second and third generation to do file sharing
process with trhoughput and delay as parameter. To obtain the value of the parameters are tested by
doing the file sharing process in accordance with the design of the two protocols specified. The test
results on each obtained protocol were then analyzed and compared .Keywords: file sharing, sharing, peer-to-peer, gnutella, jxta
adalah mekanisme yang dilakukan untuk berbagi 1.
resource berupa file, atau informasi lainnya PENDAHULUAN
kepada user lain dan bertujuan untuk Saat ini teknologi informasi telah memaksimalkan resource yang tersedia. Tujuan berkembang pesat dengan adanya internet dan lainnya yaitu memberikan kemudahan untuk telah menjadi kebutuhan manusia dan salah satu melakukan pencarian atau pembagian informasi bidang didalamnya yaitu sharing. Sharing pada user.
Fakultas Ilmu Komputer Universitas Brawijaya
3771
- Resource dari komputer dibagikan langsung tanpa perlu melalui server terpusat. penggunaan Server dilakukan hanya untuk melakukan penambahan node baru pada jaringan, memperoleh global key untuk enkripsi pada data dan bootstrapping terhadap sistem.
- P2P memiliki kemampuan untuk menangani ketidakstabilan di jaringan, penyesuaian diri secara otomatis saat terjadi kegagalan di jaringan, antar node, dan komputer. P2P juga terbagi jadi beberapa fungsi berdasarkan service-nya, (Camarillo, 2009):
- Data Storage Function merupakan fungsi untuk memproses penyimpanan dan penerimaan data dari sistem.
- Data Indexing Function merupakan fungsi untuk memproses indexing terhadap data yang tersimpan di sistem.
Tujuan dilakukan penelitian ini adalah untuk mengetahui bagaimana kinerja pada protokol- protokol yang digunakan sehingga dapat dibandingkan. Perbedaan kinerja yang dihasilkan dapat diketahui faktornya dengan menggunakan throughput dan rata-rata delay sebagai parameter pengujian.
server sehingga dapat menyediakan konten
komputer. Peer berperan sebagai client ataupun
peer dilakukan oleh peer-peer pada jaringan
Pada client-server data diperoleh dari server sebagai penyedia konten sehingga client bisa mengunduh data didalam server (Department of Communications, Climate Action, & Environment, 2012). File Sharing pada peer-to-
Sharing dibagi menjadi dua, yaitu memanfaatkan peer-to-peer dan client-server.
Berdasarkan metodenya, mekanisme file
jaringan alternatif client-server. Jaringan P2P terbentuk dari peer-peer yang terhubung dan berperan sebagai client dan server sekaligus (The Government of Hong Kong Special Administration Region, 2008).
Berdasar pada karakteristik dari arsitekturnya, model P2P dibagi dua, yaitu (Androutsellis-Theotokis & Spinellis, 2004):
pencarian peer dan resource sehingga traffic berkurang pada jaringan (Jabbar et al., 2012). Hasil kinerja yang dihasilkan dimungkinkan berbeda jika mekanisme dan sistemnya berbeda.
1.2 Peer-to-Peer Peer-to-peer (P2P) merupakan arsitektur
server untuk menyimpan informasi dan
Hingga sekarang, arsitektur Peer-to-peer dibagi berdasarkan mekanismenya menjadi tiga generasi. Generasi pertama menyimpan informasi peer dan file pada suatu server terpusat. Napster, eDonkey2000, dan Pastry adalah contoh yang tergolong pada generasi pertama (Gong, 2014). Informasi-informasi disimpan pada masing-masing peer pada generasi kedua dan lingkungan jaringannya dibentuk sendiri oleh peer. Aplikasi yang termasuk pada generasi kedua yaitu Gnutella dan Kazaa (Watson, 2013). Pada generasi yang ketiga, beberapa peer memiliki fungsi sebagai
setiap user yang terhubung. Peer-to-peer adalah salah satu cara untuk berbagi (sharing) sumberdaya pada komputer secara langsung, sehingga tidak diperlukan server terpusat (Androutsellis-Theotokis & Spinellis, 2004). Setiap komputer yang saling terhubung pada suatu jaringan Peer-to-peer disebutl sebagai node atau peer.
resource yang digunakan dapat dibagi pada
dapat menjadi solusi dari permasalahan tersebut karena pada arsitektur peer-to-peer,
to-peer
untuk melakukan file sharing. Arsitektur peer-
client-server saat melakukan akses pada web
Saat ini volume lalulintas pada internet meningkat drastis. Unduhan konten multimedia dan software package mungkin berisi berkas dengan ukuran yang besar sehingga membutuhkan resource yang sangat besar pada sisi server (Leibnitz et al., 2007). Resource yang digunakan semua berasal dari sisi server pada
sekaligus mendapatkan konten dari peer (Department of Communications, Climate Action, & Environment, 2012).
1.1 File Sharing
berfungsi untuk menjalankan proses distribusi terhadap konten data pada masing-masing perangkat yang terhubung dengan menggunakan protokol-protokol pada jaringan komputer sebagai media transfer. Multimedia, dokumen, program komputer, grafis, e-book, dan gambar adalah data-data yang didistribusikan yang merupakan data digital.
- Message Transport Function merupakan
fungsi untuk memproses perpindahan pesan antara peer-peer yang terhubung.
File Sharing merupakan teknologi yang
- Computation Function merupakan fungsi untuk memproses perhitungan didalam sistem.
peer-peer individu menjadi suatu
fungsionalitas
1.3 JXTA
peer-to-peer untuk melakukan pencarian file dan file sharing pada fungsi utamanya yang bersifat
- Peer mampu beroperasi didalam sebuah lingkungan yang dinamis, dimana peer-peer dapat berulang kali masuk ataupun keluar dari jaringan.
- Performance and Stability. Hasil kinerja dari
- Dapat menjalankan self-organize sehingga terbentuk peer groups sendiri oleh peer.
- Advertise dan discovery dapat dilakukan pada resource yang ada oleh peer.
- Komunikasi antar peer dapat dilakukan.
- Tidak tergantung dengan bahasa komputer dan sistem operasi untuk menggunakan platformnya.
- Tidak tergantung dengan encryption,
- Reliability. Hasil kinerja yang konsisten dihasilkan oleh Gnutella dan dijaminnya data walaupun menerima serangan dari luar.
- Anonimity. Privasi diperlukan untuk menjaga identitas pengguna sebagai pencari maupun penyedia informasi. Pada Gambar 2 ditunjukkan bagaimana peer Gnutella berkomunikasi dengan peer yang lain. Tahapannya adalah sebagai beri
- Pembaruan informasi dilakukan oleh p1 pada web-cache yaitu Gnutella host-Cache Server.
- Setelah p1 bergabung selanjutnya p1 akan menginformasikan pada peer lain bahwa p1 bergabung di jaringan Gnutella yang sama.
- Untuk mengetahui status dari peer lainnya, dilakukan dengan mengirimkan PING oleh
PUSH terhadap peer yang memiliki file untuk
PONG .
mengirimkan QUERY pada semua peer yang tergabung pada jaringan, dan jika ada peer lain yang memiliki file tersebut, maka peer itu akan membalas dengan mengirimkan
file dilakukan dengan
peer p1 dan peer p2 membalas dengan PONG .
time yang konstan.
terhadap kinerja juga harus tetap dijaga sehingga hasil kinerja tetap stabil ketika jumlah pengguna bertambah dengan acuan nilai throughput tetap tinggi dan response
server dalam jaringan yang luas. Stabilitas
Gnutella harus lebih bagus jika dibandingkan dengan arsitektur client-
terpusat dan open-source (Ripeanu, 2002). Tujuan dari desain Gnutella yang dikembangkan yaitu (Ripeanu, 2002):
- Core layer adalah tempat code untuk pengimplementasian protokol. Protokol- protokol ini menyediakan fungsionalitas untuk peers , peer groups , security ,
- Pencarian
jaringan
Gnutella merupakan sebuah protocol pada
1.4 Gnutella
monitoring , message-passing, dan protokol
Dibagi menjadi tiga bagian, yaitu:
Gambar 1 Model arsitektur peer-to-peer JXTA Sumber: (Gradecki, 2002)
Arsitektur JXTA dibutuhkan sehingga protokol-protokolnya dapat dijalankan dan Arsitektur JXTA dimodelkan dengan Gambar 1.1 (Gradecki, 2002) .
security, dan authentication untuk menggunakan platformnya.
dibuat dengan beberapa tujuan, yaitu (Gradecki, 2002): • Peer-peer dapat bertemu satu sama lain.
open-source oleh Sun Microsystem. JXTA
dikembangkan dengan memodelkan Apache
computing (Gong et al., 2002). Platform P2P ini
JXTA merupakan projek penelitian kolaboratif terkait dengan peer-to-peer(P2P)
- Service layer terdapat service-service yang disediakan oleh JXTA
- Application layer adalah tempat untuk pengembangan aplikasi peer-to-peer yang didalamnya terdapat code-code yang menarik
- Peer yang meminta file akan mengirimkan
Penelitian ini dilakukan untuk mendapatkan hasil performansi dari dua protokol yang telah
Gambar 2 Arsitektur peer-to-peer Gnutella
ditentukan untuk melakukan mekanisme file
sharing sehingga diperlukan desain terhadap
Sumber: (Tribhuvan, 2007) lingkungan pengujian yang akan digunakan .
2. METODOLOGI DAN PERANCANGAN
Metodologi dan perancangan berisikan langkah yang dilakukan untuk perancangan, implementasi, dan pengujian. Berikut adalah diagram alirnya.
Gambar 4 Desain Arsitektur Sistem
Pada Gambar 4 ditunjukkan desain arsitektur sistem yang akan digunakan sebagai lingkungan pengujian yang akan dilakukan. Jaringan dibentuk oleh peer yang berperan sebagai RDV/Ultrapeer (10.34.17.244) dan (10.34.9.103) yang saling terhubung yang selanjutnya melakukan advertisement untuk bertukar informasi yang didalamnya terdapat alamat IP setiap peer dan nama file yang dibagikan oleh setiap peer. Selanjutnya peer yang berperan sebagai Edge/Leaf
Gambar 3 Tahapan Penelitian
menghubungkan diri dengan RDV/Ultrapeer terdekat dan melakukan pertukaran informasi. Gambar 3 di atas menunjukkan bahwa
Selanjutnya advertisement dilakukan kembali penelitian dimulai dengan melakukan studi antara RDV/Ultrapeer yang terhubung karena literatur terhadap sumber pustaka protokol yang informasi baru yang didapatkan dari Edge/Leaf digunakan dalam penelitian sehingga dapat sebelumnya. Proses file sharing dapat dilakukan diketahui kebutuhannya. Proses selanjutnya setelah proses pembaruan informasi selesai adalah perancangan pengujian yang akan dilakukan. dilakukan dan analisis kebutuhan untuk
3. IMPLEMENTASI
Implementasi dalam penelitian bertujuan untuk mempersiapkan lingkungan pengujian yang akan digunakan pada pengujian file sharing yang akan dilakukan. Implementasi dimulai dengan mempersiapkan lingkungan pengujian sistem yaitu dengan mempersiapkan komputer- komputer beserta Virtual Machine yang digunakan pada pengujian disesuai dengan perancangan yang dibuat pada bagian 2.
Pengujian dimulai dengan mempersiapkan
pada konfigurasi dapat diisikan. Isi dari kolom tersebut adalah alamat IP peer yang bertindak sebagai rdv/relay sehingga edge dapat terhubung.
checkbox Use a rendezvous sehingga kolom
Konfigurasi sebagai edge ditunjukkan pada Gambar 7, dimulai dengan melakukan klik pada
Konfigurasi dilakukan pada aplikasi myjxta sebelum pengujian dilakukan yang disesuaikan dengan perancangan. Dua macam konfigurasi dilakukan yaitu peer sebagai rdv/relay dan edge.
konfigurasi terhadap masing-masing aplikasi file sharing yaitu mxjta dan Gnucleus.
file yang akan diujikan. Selanjutnya dilakukan
Pada bagian ini akan membahas pengujian pada masing-masing aplikasi file sharing yang telah diimplementasikan pada masing-masing komputer dan VM yang digunakan untuk pengujian. Pengujian dilakukan dengan melakukan mekanisme file sharing sesuai dengan skenario yang dibuat pada bagian 3 yaitu pada perancangan.
Selanjutnya dilakukan implementasi aplikasi file sharing yang digunakan yaitu aplikasi myjxta dan aplikasi Gnucleus. Implementasi aplikasi file sharing dilakukan pada setiap komputer dan VM yang telah dipersiapkan.
4. PENGUJIAN
3.1 Implementasi myjxta
Pada Gambar 6 ditunjukkan perintah- perintah yang perlu dijalankan untuk melakukan instalasi Gnucleus pada sistem operasi Ubuntu LTS 14.04. Dimulai dengan mempersiapkan lingkungan sistem dan memperbarui repository sehingga dapat memperoleh data untuk melakukan persiapan lingkungan sistem yang dijalankan oleh perintah pada baris ke 1 sampai baris ke 4. Selanjutnya dilakukan eksekusi terhadap file instalasi aplikasi yaitu Gnucleus.exe dengan menjalankan perintah pada baris ke 5.
Gambar 6 Perintah instalasi Gnucleus
Berbeda dengan instalasi pada sistem operasi Ubuntu, instalasi dilakukan dengan menjalankan beberapa perintah pada terminal dan perintah untuk melakukan instalasi Gnucleus pada Ubuntu LTS 14.04 ditunjukkan pada Gambar 6.
Implementasi aplikasi Gnucleus dilakukan di setiap komputer-komputer dan VM yang digunakan pada pengujian. Dimulai dengan melakukan eksekusi terhadap file instalasi Gnucleus. Pada sistem operasi Windows instalasi dilakukan dengan mengeksekusi file Gnucleus.exe dan proses instalasi akan berjalan.
Setelah compile pada source code berhasil dilakukan akan ditunjukkan seperti pada Gambar 5 dan aplikasi myjxta.
code pada compiler seperti pada Gambar 5 Gambar 5 Output build project
Implementasi aplikasi file sharing dimulai dengan implementasi aplikasi myjxta yaitu dengan melakukan complie terhadap source
3.2 Implementasi Gnucleus
fungsi untuk menggunakan TCP dan HTTP dengan memilh enable pada checkbox yang tersedia. Agar koneksi TCP dan HTTP dapat digunakan untuk keluar masuk pada jaringan, perlu mengaktifkan pada checkbox Enable
Outgoing connections dan Enable Incoming connections .
Sebelum proses file sharing dapat dijalankan perlu ditentukan file yang akan diuji setelah semua konfigurasi dilakukan. Selanjutnya pengujian dapat dijalankan sesuai dengan perancangan.
Pengujian Gnucleus dilakukan dengan melakukan konfigurasi terlebih dahulu dan sesuai dengan perancangan yang dibuat. Ada dua konfigurasi yang dilakukan yaitu peer sebagai
leafpeer dan ultrapeer seperti pada Gambar 9 dan Gambar 10.
Gambar 7 konfigurasi sebagai edge pada peer Gambar 9 Konfigurasi peer sebagai leaf Gambar 10 Konfigurasi peer sebagai Ultrapeer
Peer akan secara otomatis membentuk dan
bergabung pada jaringan Gnutella setelah
Gambar 8 konfigurasi sebagai RDV/Relay pada peer
konfigurasi selesai dilakukan dan mencari peer lain yang tergabung. Sebelum proses file sharing Selanjutnya konfigurasi pada komputer- dapat dijalankan perlu ditentukan file yang akan komputer dilakukan untuk menentukan peran diuji setelah semua konfigurasi dilakukan.
peer sebagai rdv/relay yang ditunjukkan pada
Selanjutnya pengujian dapat dijalankan sesuai Gambar 8. Dimulai dengan memilih Act as a dengan perancangan.
Relay dan Act as a Rendezvous pada checkbox
yang diberikan dan kemudian mengaktifkan
5. HASIL DAN PEMBAHASAN
Hasil yang diperoleh dari pengujian myxjta berupa throughput dan rata-rata delay didapatkan saat proses file sharing berlansung yang ditunjukkan pada Tabel 1. Skema yang digunakan untuk pengujian aplikasi myjxta adalah skema yang hanya menggunakan satu
seeder karena seeder lain tidak dapat mengirimkan file uji yang sama.
Tabel 1 Hasil pengujian aplikasi myjxta Tabel 2 Hasil pengujian aplikasi Gnucleus Gambar 11 Grafik perbandingan throughput antara JXTA dan Gnutella
Pada Tabel 2 ditunjukkan hasil dari pengujian pada Gnucleus berupa nilai yang sama pada pengujian myjxta yaitu nilai throughput dan rata-rata delay. Kedua hasil yang diperoleh menggunakan file uji yang sama yaitu file berukuran 50MB, 100MB, 200MB, 512MB.
Masing-masing pada hasil pengujian aplikasi myjxta dan Gnucleus dilakukan perbandingan pada grafik yang ditunjukkan pada Gambar 11 dan Gambar 12
Gambar 12 Grafik perbandingan rata-rata delay antara JXTA dan Gnutella
6. KESIMPULAN
Kesimpulan yang dapat diperoleh dari tahapan sebelumnya dalam analisis dan perbandingan performansi pada JXTA dan Gnutella antara lain: 1.
Hasil performansi yang diperoleh JXTA lebih tinggi nilai throughput-nya jika dibandingkan Gnutella. Dan nilai rata-rata
delay yang dihasilkan JXTA lebih rendah
dibandingkan dengan Gnutella sehingga membuat kinerja dari JXTA terlihat lebih
Gong, Y., 2014. Identifying P2P users using
baik dari Gnutella. Tetapi Gnutella lebih
traffic analysis . [Online] Available at:
baik dari JXTA dalam melakukan
pengambilan file, yaitu dapat menerima file
dari beberapa peer sekaligus sebagai seeder
[Accessed 2 Februari
sedangkan JXTA hanya menerima dari satu 2017].
seeder .
Gradecki, J.D., 2002. Mastering JXTA: 2.
Perbedaan performansi yang dihasilkan Building Java Peer-to-peer Application . JXTA dan Gnutella dipengaruhi oleh Indianapolis: Wiley Publishing. perbedaan desain arsitektur yang digunakan
Jabbar, W.A., Ismail, M. & Nordin, R.,
yang merupakan faktor utama sehingga hasil
2012. Framework for Enhancing P2P .
yang diperoleh berbeda Faktor lainnya
Communication Protocol on Mobile
adalah metode pengiriman query pada peer Platform. p.11. yang digunakan berbeda pada JXTA dan
Leibnitz, K., Hoßfeld, T., Wakamiya, N. & Gnutella.
Murata, M., 2007. Peer-to-Peer vs. Client/Server: Reliability and Efficiency of
7. SARAN a Content Distribution Service.
Dari penelitian yang telah dilakukan dapat
Ripeanu, M., 2002. Peer-to-Peer
diberikan saran untuk pengembangan penelitian
Architecture Case Study: Gnutella
selanjutnya, yaitu: Network.
The Government of Hong Kong Special 1.
Penggunaan protokol lain yang digunakan dalam melakukan proses file sharing yang Administration Region, 2008. Peer-to- dijalankan jaringan peer-to-peer pada Peer Network. p.15. penelitian selanjutnya sehingga dapat
Tribhuvan,
G., 2007. A BRIEF dihasilkan nilai yang lebih akurat.
INTRODUCTION AND ANALYSIS OF THE GNUTELLA PROTOCOL.
2. Lingkungan pengujian yang berbeda diperlukan untuk penelitian lebih lanjut Watson, S., 2013. How Kazaa Works. sehingga hasil yang diperoleh lebih akurat.
[Online] Available at: [Accessed 2 Februari 2017].
9. DAFTAR PUSTAKA
Androutsellis-Theotokis, S. & Spinellis, D., 2004. A Survey of Peer-to-Peer Content Distribution Technologies. ACM Computing Surveys, Volume 36.
Camarillo, G., 2009. Peer-to-Peer (P2P) Architecture: Definition, Taxonomies, Examples, and Applicability.
California: Internet Engineering Task Force .
Department of Communications, Climate Action, & Environment, 2012. File Sharing . [Online] Available at: [Accessed 17 Februari 2017] Gong, L., Oaks, S. & Traversat, B., 2002.
JXTA in a Nutshell . Sebastopol, California, United States of America: O'Reilly & Associates, Inc.