CoAP: Protokol Transfer Data Yang Hemat Daya
Perangkat IoT merupakan perangkat yang bersifat resource-constrained, alias memiliki sumber daya yang terbatas. Keterbatasan ini bisa mencangkup, bandwith data, memori, hingga catu daya, sehingga dibutuhkan protokol komunikasi yang lebih ringan daripada protokol HTTP. Salah satu protokol itu bernama CoAP (Constrained Application Protocol)
Secara rancangan, HTTP memang tidak cocok untuk memindahkan data sensor atau melakukan aksi kendali yang bersifat kecil dan cepat. HTTP berdasarkan pada TCP dan menggunakan pattern Request dan Response. Ini berarti bahwa setiap perpindahan data sensor yang mennggunakan protokol HTTP, memerlukan dua kali acknowledge yang berarti total setidaknya ada 4 pesan yang dikirim.
CoAP adalah alternatif protokol yang bisa digunakan disamping HTTP yang lebih rakus terhadap Resource. CoAP sendiri, merupakan standar dari Internet Engineering Task Force (IEFT) dan ditetapkan pada RFC7252 https://tools.ietf.org/html/rfc7252.
CoAP melakukan optimasi secara drastis, ia mengubah dua hal. Pertama, CoAP berada diatas UDP bukan TCP. Di UDP, paket -paket IP disebut sebagai datagram, tidak mengenal acknowledge atau urutan sebagaimana TCP. Hal ini berarti datagram bisa hilang atau diterima dengan urutan yang berbeda dari yang seharusnya saat dia dikirim. Pertimbangan semacam ini yang harus dipikirkan oleh implementasi CoAP. Sementara pengelolaan acknowledment oleh CoAP adalah opsional, sehingga terdapat pilihan bagi aplikasi untuk menggunakan service tanpa acknowledge ketika mengirim data. Hal ini akan mengehemat banyak lalu lintas data, khususnya ketika pada kasus dimana hilangnya sebuah datagram dapat ditoleransi.
Misalnya pada sebuah pengiriman data suhu sebuah lingkungan yang tiap satu detik mengirim data ke server. Hilangnya sebuah data akan bisa diterima karena data tersebut akan segera digantikan oleh data setelahnya (satu detik kemudian), dan data tersebut memiliki kemungkinan tidak akan banyak jauh berbeda dengan data sebelumnya, karena kenaikan drastis sebuah data dengan data berikutnya hampir tidak mungkin terjadi.
- Distribusi Data yang Efisien
CoAP juga memperkenalkan pola komunikasi baru yang disebut sebagai Multicast dan Event /Observe. Karena CoAP berdasarkan pada UDP dan UDP mendukung multicasting, menggunakan Internet Group Management Protocol atau IGMP, pesan-pesan CoAP bisa juga menggunakan multicast, setidaknya ketika enkripsi tidak digunakan. Ini bisa dilakukan dengan mengirim pesan CoAP ke alamat multicast yang telah ditentukan sebelumnya
Multicasting tidak hanya memungkinkan untuk distribusi yang efisien, tapi juga memungkinkan klien untuk menemukan perangkat CoAP yang lain yang mendukung multicast melalui multicast ing request.
- Observe Pattern
Untuk sensor yang melaporkan data secara rutin dan aman, optimisasi yang terbesar adalah dengan menggunakan pattern Observe (atau bisa disebut Event Subscription). Menggunakan pattern ini, pihak yang melakukan request (requestor) atau subscriber hanya perlu mengirim permintaan sekali yang disebut dengan subcription. Sama seperti request pada biasanya, perangkat akan mengembalikan respon yang berisi data yang ingin dikembalikan. Perbedaannya terletak pada resource yang berubah. Ketika hal ini terjadi perangkat akan otomatis mengirim respon baru ke subscriber tanpa harus menunggu request yang sesuai.
Pada situasi yang normal, hal ini akan mengurangi jumlah pesan yang dikirim dengan faktor (pendekatan) dua. Dari empat pesan, dapat dikurangi menjadi satu bergantung pada arah komunikasi. Jika data dikirim dari perangkat ke penerima, maka jumlah pesan yang dikirim dapat dipangkas hingga 4 pada kasus normal tanpa acknowledge. Jika data di dikumpulkan oleh client, jumlah pesan yang diterima bergantung pada seberapa sering pengumpulan dilakukan
Anda harus log masuk untuk menerbitkan komentar.