IoT Protocol Review (CoAP, XMPP, REST)

  1. CoAP (Constrained Application Protocol)

        Protokol ini dirancang khusus untuk perangkat keras yang tidak mendukung protokol tertentu seperti HTTP atau TCP-IP. CoAP sendiri dirancang karena terinspirasi dari HTTP, namun dalam rancangannya menggunakan UDP dan IP karena CoAP merupakan protokol komunikasi M2M yang terinspirasi dari HTTP, maka CoAP memiliki beberapa perintah seperti  GET, POST, PUT, dan DELETE untuk diimplementasikan ke perangkat keras. Dan dalam implementasinya lebih ringan karena dalam perangkat keras  tidak perlu didefinisikan secara jelas sehingga konsumsi dayanya kecil, apalagi bila dibandingkan dengan perangkat yang menggunakan baterai dan memakai protokol HTTP.

Dalam CoAP ada fitur yang berbeda dengan HTTP yaitu dalam:
– Observe
dalam HTTP sangan susah untuk mengetahui apakah ada kesalahan variabel atau apapun sehingga harus melakukan observasi setiap waktu dan diseluruh perangkat, sedangkan dalam CoAP menggunakan GET dan OBSERVE flag untuk memberitahu kepada perangkat lain apabila terjadi perubahan pada variabel.
– Discovery
dalam IoT perlu untuk mengetahui apasaja perangkat yang ada disekitar, sehingga dalam CoAP terdapat server list, dimana isi dari server list sendiri adalah resources dan tipe media yang ada.

Dalam CoAP ada 2 Quality of Service, yaitu :
-Confirmable messages
Karena menggunakan UDP maka pengirim perlu mengetahui apakah perintah/pesan yang dikirim sudah diterima/belum dengan menerima konfirmasi dari si penerima
-Non-confirmable(fire and forget)
ada juga perintah/pesan yang dikirimkan secara tertentu dan tidak perlu diketahui apakah sampai atau tidak pada penerima

       Dalam penggunaan CoAP ada masalah pada NAT, misalnya apabila perangkat menggunakan ruter atau firewall maka akan ada masalah untuk mencari IP yang tepat, untuk menyelesaikan masalah ini dapat digunakan berbagai tool.

                Berikut link video yang menjelaskan tentang basis/dasar pada protokol IoT CoAP.

2. XMPP (Extensible Messaging and Presence Protocol)

             Yaitu standard komunikasi real-time berbasis text, suara dan juga video dengan teknologi open XML. Merupakan produk Jabber pada tahun 1999 dan menjadi XMPP pada tahun 2004. Pengaplikasiannnya yaitu seperti pada instant messaging, voice call, video call, multi chat dan lain lain. Merupakan standar dari IETF lebih dari 1 dekade yang lalu sehingga menjadi protocol yg sudah terbukti digunakan secara luas di internet. Google sempat menghentikan standar XMPP ini karena kurangnya dukungan di seluruh dunia , namun akhir-akhir ini XMPP telah kembali mendapat banyak perhatian sebagai protocol komunikasi yang cocok dalam bidang IoT.  XMPP memungkinkan spesifikasi XEP atau XMPP ekstensi protocol yang meningkatkan fungsionalitas.

              XMPP memiliki beberapa keunggulan yang diantaranya  didesain untuk komunikasi yang bersifat real-time hingga mendukung pertukaran message berlatensi rendah, dengan arsitektur publish/subscribe (asynchronous) dan request/response(synchronous) yang lebih mendukung penggunaan IoT lebih baik dibanding CoAP yang berarsitektur synchronous saja. Hanya saja kelemahannya berada pada spesifikasi keamanan TLS/SSL yang tidak menyediakan opsi QoS mengakibatkan penggunaan protokol ini masih kurang efektif, serta penggunaan XML yang membuat beban overhead karena adanay tag pada XML yang tidak diperlukan dan memerlukan sumber daya yang tinggi untuk operasi komputasional pada XML parsing.

3. REST (Representational State Transfer)

           REST sebenarnya bukan merupakan protokol melainkan arsitektur yang menggunakan metode pada HTTP yang sama seperti perintah pada CoAP yang berupa GET, POST, PUT, dan DELETE untuk menyediakan sistem messaging yang berbasis resource. Header pada arsitektur REST menggunakan HTTP untuk menunjukkan tipe format pada konten yang bisa berupa dalam bentuk XML maupun pada JSON, tergantung pada konfigurasi pada server HTTP. Arsitektur REST sudah digunakan di berbagai macam platform M2M yang bersifat komersial, dan dapat pula diimplementasikan di berbagai platform yang mendukung library HTTP pada berbagai sistem distribusi.

           Walaupun REST telah diimplementasikan di berbagai macam platform M2M komersial, masih ada beberapa kelemahan yang hampir sama pada XMPP dalam hal overhead pada protokol yang bersifat synchronous menyebabkan peningkatan power usage, serta proses polling pada value ketika tidak ada pembaharuan sehingga berujung pada overhead.

Berikut merupakan tabel komparasi pada protokol IoT

Table-3-Selected-IoT-Protocols-e1415889631942

Sumber:

  • Karagiannis, Vasileios. Chatzimisios, Periklis. Vazquez-Gallego, Francisco. Alonso-Zarate, Jesus. A Survey on Application Layer Protocols for the Internet of Things. Transaction on IoT and Cloud Computing. 2015.
  • http://coap.technology/spec.html
  • http://rest.elkstein.org/
  • https://www.marsdd.com/wp-content/uploads/2014/11/Table-3-Selected-IoT-Protocols-e1415889631942.jpg

Leave a Reply

Your email address will not be published. Required fields are marked *