Ide Penelitian : Implementasi XMPP Berbasis UDP pada Realtime IP-Based Wireless Sensor Network - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

Ide Penelitian : Implementasi XMPP Berbasis UDP pada Realtime IP-Based Wireless Sensor Network

1 komentar
Tulisan ini adalah salah satu artikel ilmiah sebagai tugas akhir dari matakuliah Jaringan dan Arsitektur Telekomunikasi yang diikuti penulis. :)

Abstrak

Sejalan dengan perkembangan teknologi internet, Wireless Sensor Network terintegrasi dalam konsep Internet of Things (IoT) atau disebut dengan istilah IP-based Wireless Sensor Network. Untuk sensor node yang mengirimkan data secara realtime, maka dibutuhkan protokol yang ringan dengan konsumsi daya yang rendah. Dalam hal ini, penulis memilih XMPP berbasis UDP sebagai protokol yang bisa digunakan komunikasi end-to-end dalam jaringan internet dengan daya minimal. Kesimpulan dari tulisan ini yaitu: secara konsep XMPP berbasis UDP dapat digunakan untuk mengirimkan data realtime dari sensor network dengan konsumsi daya minimal karena XMPP memiliki format yang sederhana dan metode kompresi XML pada XMPP menjadikan data yang dikirim kecil. Sedangkan pengiriman dengan UDP memungkinkan data dikirim lebih cepat karena tanpa mekanisme handshaking sehingga konsumsi daya juga bisa dikurangi.

Kata Kunci : XMPP, UDP, Wireless Sensor Network, Internet of Things

1. Pendahuluan

Perkembangan internet sebagai media komunikasi membuat manusia seakan mempunyai dua alam kehidupan: kehidupan di dunia nyata dan kehidupan di dunia maya. Integrasi antara dunia nyata dan dunia maya tersebut mulai terealisasi dengan adanya konsep Internet of Things dan Web of Things [2]. Internet of Things dan Web of Things berusaha agar semua informasi yang ada di dunia nyata bisa dikendalikan melalui internet dengan menghubungkan peralatan yang berfungsi sebagai sensor yang mampu memindai kondisi tertentu dari lingkungan.

Untuk menghubungkan sensor agar terkoneksi dengan jaringan internet, maka dibutuhkan mekanisme (protokol) yang cocok untuk karakteristik dan kebutuhan sensing. REST melalui HTTP [5][8] dan XMPP [5][7] merupakan dua mekanisme yang populer dalam membangun Internet of Things. Penggunaan protokol XMPP lebih ringan daripada REST dalam komunikasi IoT [8]. Selain itu, penggunaan XMPP juga lebih fleksibel apabila infrastruktur dilengkapi dengan XMPP Bot, sehingga setiap sensor network dapat dipakai untuk keperluan lain tanpa perlu memprogram ulang.

Sensor Network yang bersifat realtime dalam mengirimkan data seperti audio dan video streaming, maka salah satu yang harus diperhatikan adalah tipe koneksi yang digunakan untuk pengiriman data. Protokol XMPP memungkinkan untuk dibangun dengan TCP maupun UDP. Dalam masalah streaming data dan efisiensi daya, UDP lebih unggul daripada TCP [3][4]. Oleh sebab itu, penggunaan protokol XMPP akan cocok apabila menggunakan model koneksi UDP untuk mentransfer data secara realtime.

2. IP-Based Wireless Sensor Network

Wireless Sensor Network adalah sebuah jaringan yang tersusun atas berbagai sensor node yang memiliki kemampuan penginderaan, komunikasi secara nirkabel dan juga komputasi. Sebuah sensor node memiliki dua komponen, yaitu mote dan sensor. Sensor selalu melekat pada mote. Mote bertanggung jawab untuk penyimpanan, komputasi dan komunikasi, sedangkan sensor bertanggung jawab untuk penginderaan fenomena fisik seperti suhu, cahaya, suara, getaran, dan lain sebagainya.

Sejalan dengan perkembangan teknologi internet, Wireless Sensor Network kemudian terintegrasi dalam konsep Internet of Things (IoT), biasa juga disebut IP-based Wireless Sensor Network. Dalam konsep ini, setiap sensor memiliki identitas ataua alamat yang unik sehingga mampu secara dinamis bergabung dalam suatu jaringan, berkolaborasi dan bekerjasama secara efisien. Gambar 1 menunjukkan ilustrasi dari Wireless Sensor Network dengan sensor node yang terhubung ke jaringan internet melalui sebuah gateway.

Gambar 1. Wireless Sensor Network yang terkoneksi ke internet
Gambar 1. Wireless Sensor Network yang terkoneksi ke internet
WSN Nodes adalah perangkat sensor dengan biaya rendah, sehingga perangkat tersebut dapat digunakan dalam jumlah yang besar. Node beroperasi pada daya rendah sehingga perangkat dapat dioperasikan dengan baterai, atau bahkan menggunakan energi harvesting. Sebuah node pada WSN adalah embed sistem yang biasanya memiliki fungsi tunggal seperti mengukur suhu, tekanan, atau menyalakan lampu atau motor.

Energi harvesting adalah teknologi baru yang memanfaatkan energi dari luar, misalnya tenaga surya, energi panas, energi angin, radiasi elektromagnetik, dan energi kinetik. Energi yang ditangkap dan disimpan untuk konsumsi daya yang kecil yaitu wireless berdaya rendah seperti node pada WSN.

Protokol untuk Wireless Sensor Network

Beberapa protokol yang masih dalam penelitian sebagai baseline dari implementasi Wireless Sensor Network yaitu WiFi, IEEE 802.15.4, dan 6LoWPAN. WiFi memiliki potensi yang bagus sebagai jaringan dasar dari Wireless Sensor Network, hanya saja konsumsi daya untuk perangkan WiFi terlalu rakus terhadap energi sehingga penggunaan WiFi tidak cocok untuk sensor yang hanya bisa diaktifkan dengan bateria atau ketika sensor akan dipasang di tempat yang minim jaringan listriks.

Selain WiFi, IEEE 802.15.4 merupakan alternatif yang bisa digunakan untuk jaringan pada Wireless Sensor Network. IEEE 802.15.4 adalah standar komunikasi radio yang dirilis pada tahun 2003. Hasil koordinasi dari radio komersial menjadikan standar ini sebagai dasar dari perangkat dengan low-power sistem. Standar IEEE ini kemudian dikembangkan lagi pada tahun 2006 dan tahun 2011 menjadi 802.15.4e dan 802.15.4g. Konsumsi daya standar pada versi baru diturunkan 50% dari standar sebelumnya.

Alternatif yang terakhir adalah 6LoWPAN. 6LoWPAN merupakan singkatan dari IPv6 over Low Power Wireless Personal Area Network. Perangkat yang memanfaatkan energi harvesting harus melakukan setiap task secepat mungkin karena daya yang mereka miliki begitu rendah. Ketentuan ini akan berpengaruh pada protokol yang akan digunakan. Konsep 6LoWPAN sudah diadopsi oleh ARM (Sensinonde) dan Cisco (ArchRock). 6LoWPAN menyediakan mekanisme untuk mengenkapsulasi dan kompresi terhadap header sehingga memungkinkan data bisa dikirim dengan cepat. Tabel 1 adalah tabel spesifikasi dari ketiga teknologi yang bisa dipakai dalam Wireless Sensor Network.

Tabel 1. Teknologi standar untuk Wireless Sensor Networks

3. Protokol UDP

UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768. UDP bersifat connectionless dan unreliable, artinya UDP pesan-pesan UDP akan dikirim tanpa melakukan proses handshaking dan data yang dikirimkan tanpa memiliki nomor urut sehingga tidak ada mekanisme untuk mendeteksi kehilangan data pada UDP.

Dalam aplikasinya, UDP sering digunakan dalam protokol komunikasi yang ringan untuk menghemat sumber daya memori dan prosesor. Beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System. Akan tetapi selain untuk protokol yang ringan, UDP umumnya juga digunakan untuk streaming audio dan video. Media streaming seperti Windows Media file audio (.WMA), Real Player (.RM), dan beberapa aplikasi lainnnya menggunakan UDP.

Header Protokol UDP

Header UDP diwujudkan sebagai sebuah header dengan 4 buah field memiliki ukuran yang tetap. Keempat field tersebut adalah source port, destination port, length, dan checksum. Source port terdiri dari 16 bit (2 byte) yang digunakan untuk mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan pesan UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika tidak digunakan, akan diset ke angka 0.

Header yang kedua adalah destination port, terdiri dari 16 bit (2 byte) yang digunakan untuk mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi tujuan pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara alamat IP dengan nilai dari field ini untuk membuat sebuah alamat yang signifikan untuk mengidentifikasikan proses yang berjalan dalam sebuah host tertentu yang dituju oleh pesan UDP yang bersangkutan.

Header yang ketiga adalah length, terdiri dari 16 bit (2 byte) yang d igunakan untuk mengindikasikan panjang pesan UDP (pesan UDP ditambah dengan header UDP) dalam satuan byte. Ukuran paling kecil adalah 8 byte (ukuran header UDP, ketika tidak ada isi pesan UDP), dan ukuran paling besar adalah 65515 bytes (65535 [216] -20 [ukuran header protokol IP]).

Kemudian header yang terakhir adalah Checksum, terdiri dari 16 bit (2 byte) berisi informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan bernilai 0. Keempat header tersebut bisa dilihat pada Gambar 2.

Gambar 2. Header Protokol UDP
Gambar 2. Header Protokol UDP


4. Protokol XMPP

Extensible Messaging and Presence Protocol (XMPP) adalah sebuah standard komunikasi real-time berbasis text,  suara maupun video dengan teknologi open XML. Di awal sekali  orang lebih mengenal Jabber,  karena XMPP merupakan produk Jabber pada tahun 1999, kemudian diformulasikan oleh  XMPP Standard Foundation menjadi standard pada tahun 2004 (XMPP 1.0).  XMPP bisa digunakan dalam hal-hal berikut:  instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, dan generalized routing of XML data. Kelebihan yang dimiliki XMPP antara lain:

  • Open standard, sehingga tidak diperlukan royalti kalau ingin mengimplementasikan spesifikasi ini, dan juga tidak ada ketergantungan terhadap salah satu vendor.
  • Decentralization, tidak diperlukan adanya master server pusat untuk menjalankannya. Setiap insititusi bisa menjalankan XMPP servernya dia sendiri.
  • Security, sangat jelas bahwa dalam spesifikasi XMPP sudah disertakan spesifikasi untuk keamanannannya, dimana untuk proses Authentifikasi digunakan SASL (Simple Authentifikasi Secure Layer) dan enkripsinya digunakan TSL (Transport Layer Security). Tambahannya, server XMPP juga bisa memiliki digital certificate.

XMPP server dan client berkomunikasi melalui pengiriman Message Stanza, yaitu XML code yang fleksibel (sesuai spesifikasi) yang diencoded menggunakan Base64 sebelum dikirimkan. Message stanza ini sering disebut dengan packet, yang bisa berupa Message, Presence dan IQ. Berikut adalah stanza implementasi XMPP untuk mengalamatkan node pada Wireless Sensor Network. Kode XML berikut adalah kode data yang dikirim dengan XMPP dari node. Kode yang pertama menunjukkan node bertipe temperature (sensor suhu) dengan informasi “threshold > 40”. Informasi tersebut memberitahukan kepada sistem bahwa alarm akan dihidupkan karena temperaturnya terlalu tinggi.

<sensor type=‘temperature’>
<filter id=‘threshold’ operator=‘>’ value=‘40’/>
<event id=‘alarm’ description=‘temperature is too high.’/>
</sensor>


5. Kesimpulan

Berdasarkan uraian yang telah dibahas, maka protokol XMPP dapat digunakan untuk komunikasi data end-to-end pada Wireless Sensor Network dan bisa dimanfaatkan untuk pengiriman realtime data. Kehandalan dari protokol XMPP akan lebih baik apabila protokol transpot yang digunakan adalah protokol UDP karena protokol UDP dapat mengirim data dengan konsumsi daya yang rendah.

6. Referensi

[1]    Bokyung Wang and Suresh Singh, "Computational energy cost of TCP", 09/16/2000-09/30/2003, 2004, "IEEE INFOCOM, Hong Kong".
[2]    Dominique Guinard, Vlad Trifa, Friedemann Mattern, Erik Wilde, "From the Internet of Things to the Web of Things: Resource-oriented Architecture and Best Practices", Architecting the Internet of Things, 2011, Springer.
[3]    F. Bertocchi, A. Giovanardi, G. Mazzini, M. Zorzi, "UDP and TCP Performance Investigation in Energy Efficient Ad Hoc Networks", "Personal, Indoor and Mobile Radio Communications", PIMRC 2004, 15th IEEE International Symposium on (Volume:3).
[4]    Giannoulis, S., Antonopoulos, C., Topalis, E., Athanasopoulos, A., Prayati, A. and Koubias, S., "TCP vs. UDP Performance Evaluation for CBR Traffic On Wireless Multihop Networks," Simulation, Vol. 14, pp. 43, 2009.
[5]    Kirsche M, Klauck R. "Unify to bridge gaps: bringing XMPP into the Internet of Things", In: Proceedings of 2012 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops). Piscataway: IEEE, 2012. 455-458.
[6]    Luis M. L. Oliveira, Joel J. P. C. Rodrigues, André G. F. Elias, Bruno B. Zarpelão, "Ubiquitous monitoring solution for Wireless Sensor Networks with push notifications and end-to-end connectivity", Mobile Information Systems - Internet of Things archive Volume 10 Issue 1, January 2014.
[7]    Pin Nie, Jukka Nurminen, "Integrate WSN to the Web of Things by Using XMPP", Sensor Systems and Software. Third International ICST Conference, S-Cube 2012, Lisbon, Portugal.
[8]    R. Roman, J. Lopez and C. Alcaraz, "Do Wireless Sensor Networks Need to be Completely Integrated into the Internet?", Future Internet of People, Things and Services (IoPTS) eco-Systems, Brussels. 2nd December 2009.

Untuk yang Versi PDF,  download di SINI.

Written by ElangSakti
Ide Penelitian : Implementasi XMPP Berbasis UDP pada Realtime IP-Based Wireless Sensor Network
Bahasan: Tulisan ini adalah salah satu artikel ilmiah sebagai tugas akhir dari matakuliah Jaringan dan Arsitektur Telekomunikasi yang diikuti penul...
Published at Sabtu, 18 Juli 2015, Updated at Sabtu, 18 Juli 2015
Reviewed by dr. on
Rating: 4.7

1 komentar :

  1. I’m going to mosey on over to your blog and take a look under the hood. I’m sure it will be as good as this post.Absolutely great post here. It has a lot of key elements that truly makes it work.

    BalasHapus