Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 4, April 2018, hlm. 1733-1737
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Otomatisasi Publikasi Resource File Sharing Menggunakan UPNP Based System Anggi Atmajaya Siagian1, Eko Sakti Pramukantoro2, Mahendra Data3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Banyak teknologi yang menawarkan untuk melakukan proses transfer data. Akan tetapi teknologiteknologi tersebut memiliki kelemahan tersendiri. UPnP merupakan salah satu teknologi file sharing yang mampu menutupi kelemahan-kelemahan teknologi lainnya. Dengan memanfaatkan protokol ssdp dan soap, UPnP memungkinkan untuk zero configuration, multicast dan bisa digunakan di berbagai platform. Penelitian dilakukan dengan menggunakan metode implementatif untuk bisa mencaritahu bagaimana UPnP bisa melakukan proses transfer data dan kinerjanya dalam suatu jaringan. Penulis melakukan eksperimen terhadap model program dan melakukan modifikasi sehingga program tersebut sesuai dengan yang diinginkan. Model program berhasil dibuat dan terbagi menjadi program server dan client. Dan dari model program tersebut UPnP bisa melakukan proses transfer data dengan menggunakan bantuan dari protokol http. Untuk kinerja UPnP, dengan besar data 500Mb kecepatan transfer mencapai 15.69Mbps dan besar data 1Gb kecepatan transfer mencapai 4.65Mbps dan dari pengujian, server bisa menampung 3 client. Kata kunci: UPnP, zero configuration, multicast, server, client.
Abstract Many technology offer to do the transfer data process. But those technology have its weakneses. UPnP is one of file sharing technology who able to cover the other weakneses. With using ssdp and soap protocol, UPnP able to zero configuration, multicast and can be used with various platform. Research using implementative method to able find out how UPnP can do the transfer data process and its performance in a network. The author do experiment to program model dan modify it so the program accordingly as desired. Program model successfully created and devided into server program and client program. From the program model UPnP able to do data transfer process with help from http protocol. For UPnP performance, with 500Mb data transfer speed can reach 15.69Mbps and with 1Gb data transfer speed can reach 4.65Mbps and from testing, server can accommodate 3 clients. Keywords: UPnP, zero configuration, multicast, server, client.
Universal Plug and Play (UPnP) merupakan teknologi yang menggabungkan beberapa protokol untuk melakukan proses pertukaran data. Adapun fitur-fitur yang diberikan yaitu zero configuration, multi platform dan multicast system. Zero configuration memungkinkan UPnP untuk otomatisasi konfigurasi pada jaringan. Multi platform memungkinkan sistem UPnP bekerja di berbagai platform baik di sistem operasi maupun bahasa pemrograman. Muticast system dimana UPnP bekerja melakukan broadcasting ke seluruh ip address dalam suatu jaringan. Implementasi pertama UPnP dilakukan pertengahan tahun 2000 dengan Windows ME
1. PENDAHULUAN Saat ini banyak teknologi yang menawarkan aplikasi file sharing secara lokal untuk membantu dalam melakukan pertukaran data. Teknologi –teknologi tersebut tanpa disadari memiliki permasalahan tersendiri. Pada file transfer protocol (ftp) user harus tahu alamat url atau dns dari ftp server. Windows File Share memiliki kelemahan pada kesamaan platform. Artinya program tersebut hanya bisa digunakan oleh sesama pengguna Windows. Dropbox dan Google Drive memerlukan koneksi internet untuk prosesnya. Fakultas Ilmu Komputer Universitas Brawijaya
1733
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dan UPnP SDK Intel open source untuk Linux. Tahun 2001 program UPnP yang terkenal adalah Microsoft MSN, port yang perlu dibuka untuk suara dan trafik video serta direct transfer dialokasikan secara dinamik oleh UPnP. Yang menjadi masalah dalam paper ini adalah bagaimana UPnP bisa bekerja melakukan proses transfer data serta kinerjanya dalam suatu jaringan. Untuk menjawabnya digunakan metode implementatif dimana penulis melakukan modifikasi terhadap program Pymeds (server) dan Miranda (client). Uji coba dilakukan dilingkungan FILKOM dengan menggunakan 1 pc server dan 3 pc client. 2. PENELITIAN TERKAIT Penelitian dibidang UPnP dilakukan oleh Hu, C.(2012) pada paper ”A P2P-to-UPnP Proxy Gateway Architecture for Home Multimedia Content Distribution”. Paper ini menjelaskan UPnP bisa diaplikasikan sebagai media content sharing pada home-network. Mencoba menggabungkan antara P2P dengna UPnP dimana P2P diaplikasikan pada media content dan UPnP diaplikasikan untuk home network dengan gateway sebagai penghubungnya. Penelitian dibidang UPnP lainnya ditulis oleh Häber, Reichert dan Fasbender (2006) yang berjudul “UPnP Control Point for Mobile Phones in Residental Network”. Paper ini menjelaskan bahwa mobile phone bisa dipakai sebagai control point untuk share data untuk server media lokal maupun untuk server media eksternal. Jurnal ini menjadi solusi bagi pengguna mobile phone untuk mengakses layanan Audio Video (AV) dari dalam maupun luar rumah dengan menggunakan UPnP yang telah menjadi standar konfigurasi mandiri oleh pengguna. Satoshi Konno, programmer jepang, telah melakukan penerapan UPnP dalam beberapa perangkat yang dijelaskan dalam websitenya (cybergarage.org). Dia mencoba membuat model program java yang menghubungkan jam, AC, lampu, mesin cuci, TV dalam satu control point yaitu remote. Untuk pengujiannya dia berhasil menghubungkan dua buah perangkat TV yang dikoneksikan menggunakan wifi dan dikontrol menggunakan UPnP dari perangkat mobile iphone.
Fakultas Ilmu Komputer, Universitas Brawijaya
1734
3. KOMPONEN DAN TAHAPAN UPNP Seperti pada protokol-protokol internet lainnya, UPnP mempunyai standarisasi dalam membangun koneksi. Hal yang dibahas pertama kali adalah komponen UPnP. Komponen tersebut adalah Device, Service, dan Control Point. Device – semua perangkat yang bisa terhubung melalui koneksi UPnP. Service – layanan yang bisa diberikan oleh pengguna UPnP. Control Point – penghubung antara device dan service dimana device diatur oleh pengguna dengan service yang diberikan. Untuk tahapan dalam UPnP terdiri dari addressing, discovery, description, control, eventing dan presentation. Addressing: Pengalamatan jaringan UPnP menggunakan protokol DHCP (Dynamic Host Configuration Protocol) atau AutoIP ketika dia terkoneksi ke jaringan. Hal ini memungkinkan untuk mengijinkan zero configuration, otomatisasi alamat IP dimana user tidak perlu melakukan set up untuk alamat IP dari UPnP. Discovery: Control point bisa mencari device yang yang menggunakan jaringan UPnP. Control point juga bisa mendeteksi device lainnya yang berada dalam jaringan tersebut. Protokol yang digunakan pada tahapan ini adalah SSDP (Simple Service Discovery Protocol). Description: Control point berusaha mencari informasi lebih lanjut mengenai device yang menggunakan jaringan UPnP. Control point harus bisa mendeskripsikan device dan kemampuan dari device tersebut dari URL yang disediakan oleh device pada discovery message. Control: Control point bisa memberikan perintah sesuai service yang ada pada device tersebut. Perintah dikirimkan melalui SOAP (Simple Object Access Protocol). Eventing: UPnP melakukan notifikasi terhadap perubahan variabel yang dilakukan oleh control point terhadap service yang dilakukan. Notifikasi ini dalam UPnP dikenal dengan sebutan GENA (General Event Notification Architecture). Perubahan variabel terserbut dikirim dalam bentuk event message. Dan event message ini bisa berupa file XML. Presentation: Jika device mempunyai URL, maka control point bisa menampilkan halaman URL tersebut untuk mengetahui informasi mengenai device dan kemampuan
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
yang dimiliki device tersebut serta perubahan variabel yang ada pada device. Presentation bisa ditampilkan pada web browser karena file menggunakan sistem HTML.
1735
URL file yang bisa digunakan untuk mengambil file yang dikirimkan oleh server. Untuk proses pengambilan file dilakukan dengan menggunakan browser yang dimiliki oleh client.
4. PERANCANGAN SISTEM Sistem dibangun dari 4 PC dimana 1 PC menjadi server dan 3 PC lainnya menjadi client.
start
Search server
4.1 Server Pada sisi server penulis memodifikasi program PyMedS yang merupakan singkatan dari Python Media Server. Gambar 1 menjelaskan alur untuk program server pada sistem. Pada awal program dijalankan, program akan meminta user untuk memilih file yang akan ditransfer. Setelah menginput file, program akan menjalankan server dimana bagian ini program akan mencari ip address dan melakukan proses broadcasting terhadap file yang sudah dipilih. Ketika file sudah berhasil dikirim, user diharapkan menghentikan server.
start
Isi file
Jalankan server
List server
end
Pilih server
Gambar 2. Alur jalannya client
5. PENGUJIAN Pengujian dilakukan dilingkungan FILKOM UB dengan koneksi menggunakan WIFI yang tersedia. Pengujian dilakukan dengan melakukan pengiriman data file xml dan gambar dari sisi server ke client. Ketika pengujian dilakukan, program wireshark dijalankan dari keempat pc untuk mengetahui paket-paket yang ada dalam jaringan tersebut.
Client 1 (Windows) (10.34.247.221)
end
Hentikan server
Gambar 1. Alur jalannya server
PC server (Linux) (10.34.246.9)
Wifi SSID FILKOM (10.34.246.1)
Client 3 (Linux) (10.34.246.36)
4.2 Client Pada sisi client, penulis memodifikasi program Miranda. Miranda merupakan program yang dibuat oleh Craig Heffner sebagai interaktif UPnP client. Search server ditujukan agar program bisa mencari server-server UPnP yang sedang broadcasting sampai perintah berhenti mencari diaktifkan. List server bertujuan untuk menampilkan server-server yang tertangkap client. Pilih server ditunjukkan untuk memilih server yang ingin dicari informasinya. Dalam informasi server ini berisi Fakultas Ilmu Komputer, Universitas Brawijaya
Client 2 (Windows) (10.34.247.219)
Gambar 3. Topologi sistem
Gambar 3 merupakan hasil topologi dari sistem dimana sistem berhasil mendapatkan ip address dan terkoneksi ke jaringan wifi dengan ssid FILKOM. Untuk hasil dari pengujian, server berhasil mengirimkan link url untuk file xml dan gambar sedangkan client berhasil mendapatkan link url tersebut dan bisa
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
menampilkan hasilnya pada browser yang ada pada pc client. Pengujian untuk banyak client yang bisa terhubung, penulis mengkoneksikan beberapa PC ke jaringan WIFI dan dihubungkan ke program server. Untuk kecepatan transfer, penulis mengirimkan data dari server ke client dengan banyak data 500Mb dalam waktu 31,884s dan 1Gb dalam waktu 215,062s. 6. ANALISA Analisa dilakukan dengan melakukan filter pada program wireshark untuk mengetahui paket-paket yang ada pada pc server dan client. Tabel 1. Filter ssdp pada server Address
Packets
Bytes
1736
unicast/multicast dari program. Analisa ini bersesuaian dengan teori dalam UPnP device architecture dimana ip address 239.255.255.250 digunakan sebagai media broadcast untuk jaringan lokal yang digunakan. Untuk proses transfer data UPnP dalam sistem dibantu oleh browser dari setiap pc. Oleh karena itu proses transfer data baik dari xml maupun file menggunakan protokol http. Dari data yang didapat bisa dihitung kecepatan transfer berdasarkan file yang telah dikirim. Untuk file dengan 500Mb, perhitungan kecepatan transfernya adalah 500,426kb / 31,884s = 15,695.2076kbps. Untuk file dengan 1Gb perhitungan kecepatan transfernya adalah 1,000,852 kb / 215,062s = 4,653.78356kbps. Dari analisis tersebut bisa disimpulkan bahwa untuk mengirim file yang lebih besar, kecepatan transfer lebih lama.
10.34.246.9
62
20350
10.34.246.110
4
1044
10.34.247.136
6
1878
7. KESIMPULAN
239.255.255.250
52
17428
UPnP merupakan kumpulan dari protokolprotokol untuk bisa membangun sebuah koneksi yang zero configuration, mutli platform yang menggunakan protokol ssdp dan soap dalam prosesnya. Namun untuk melakukan transfer data UPnP membutuhkan protokol http dalam prosesnya. Protokol soap digunakan untuk multiplatform, ssdp digunakan untuk zero configuration dan http untuk mendownload file menggunakan url file yang dibuat oleh server UPnP. Dalam hal kinerja, data dengan besar 500Mb UPnP bisa melakukan transfer data dengan kecepatan 15.69Mbps dan untuk 1GB UPnP bisa melakukan transfer data dengan kecepatan 4.65Mbps. Besar dugaan penulis jika besar file yang akan dikirim lebih banyak maka kecepatan transfer dalam UPnP bisa lebih rendah. Untuk banyaknya pc yang bisa terkoneksi dalam server UPnP, penulis bisa memaparkan 3 pc dikarenakan dalam pengujian penulis menggunakan 4 pc, 1 pc server dan 3 pc client. Namun penulis memiliki dugaan bahwa banyak pc yang bisa terkoneksi dengan server UPnP lebih dari 3, tergantung dari router atau WIFI access point pada jaringan tersebut bisa menampung banyaknya device. UPnP bisa mengotomatisasi masalah dalam transfer data dalam hal multiplatform, auto configuration alamat ip, tanpa menggunakan koneksi internet dan pencarian server UPnP. Semua otomatisasi tersebut sudah
Ip address 10.34.246.9 merupakan ip address server. Ip address 239.255.255.250 merupakan ip addres multicast yang dikirimkan oleh server untuk melakukan broadcasting. Sedangkan 2 ip address lainnya adalah ip address random yang mencoba untuk koneksi ke ip address server. Hal ini dapat dibuktikan dari port sumber dan port tujuan. Port tujuan dari kedua ip address tersebut tidak 1900 dimana port 1900 dikhususkan UPnP. Tabel 2 merupakan hasi dari sintax yang dilakukan dan menunjukkan bahwa ip address 239.255.255.250 menjadi ip address destination dari setiap ip client. Info yang diberikan dari smua paket adalah M-SEARCH dan port tujuan adalah 1900. Tabel 2. Filter ssdp pada client Address
Packets
Bytes
10.34.246.36
1
139
10.34.247.219
41
8277
10.34.247.221
56
12096
239.255.255.250
98
20512
Dalam proses pengujian program menggunakan ip address 239.255.255.250 sebagai penghubung dan tercatat sebanyak 622 paket yang dikirimkan ke ip address tersebut. Hal ini menandakan bahwa ip address 239.255.255.250 adalah ip address Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
terdapat dalam protokol-protokol disediakan oleh UPnP.
yang
DAFTAR PUSTAKA HEMEL, A. 2006. Universal Plug and Play: Dead simple or simply deadly? HU, C., LIN, H., HSU, Y., HSIEH, B. 2012. A P2P-to-UPnP Proxy Gateway Architecture for Home Multimedia Content Distribution. Taiwan. HÄBER, A., REICHERT, F., FASBENDER, A. 2006. UPnP Control Point for Mobile Phones in Residential Networks. KONNO, S. www.cybergarage.org diakses pada tanggal 11 April 2017. ANON. 2015. UPnP Device Architecture 2.0. SQUIRE, J. 2008. Universal Plug and Play IGD "A Fox in the Hen House". GURNEY, J., POTTER, T. PyMedS - Python UPnP Media Server. www.funkthat.com diakses pada tanggal 11 April 2017.
Fakultas Ilmu Komputer, Universitas Brawijaya
1737