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 Pramukantoro

  Program 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
meminta file. Selanjutnya pemilik file akan menentukan kebutuhan yang dibutuhkan untuk mengirimkan file yang diminta melalui melakukan pengujian. Selanjutnya dilakukan protokol HTTP. proses implementasi dan pengujian yang menjelaskan bagaimana implementasi dilakukan sesuai dengan perancangan yang dibuat dan dilakukan pengujian setelah implementasi selesai dilakukan. Pada bagian hasil pengujian dan analisis dijelaskan hasil dari pengujian yang dilakukan yaitu pengujian file sharing . Selanjutnya hasil dari pengujian akan dilakukan analisis untuk memperoleh hasil kinerja dari setiap protokol yang digunakan untuk melakukan mekanisme file sharing. Setelah didapatkan hasil dan dilakukan analisis selanjutnya dapat ditarik kesimpulan untuk menjawab rumusan masalah yang dibuat pada awal penelitian dan dapat menghasilkan saran untuk penelitian selanjutnya.

  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.