Mengenal Protokol MQTT pada Internet of Things

Protokol MQTT

Pada tahun 1999, protokol MQTT diciptakan untuk industri minyak dan gas. Teknisi membutuhkan protokol untuk bandwidth minimal dan kehilangan baterai minimal untuk memantau jaringan pipa minyak melalui satelit. Pada awalnya, protokol tersebut dikenal sebagai Message Queuing Telemetry Transport karena produk IBM Seri MQ yang pertama kali mendukung fase awalnya. Pada tahun 2010, IBM merilis MQTT 3.1 sebagai protokol bebas dan terbuka agar bisa diterapkan oleh siapa pun, yang kemudian diserahkan untuk pemeliharaan di tahun 2013 ke badan spesifikasi Organization for the Advancement of Structured Information Standards (OASIS). Pada tahun 2019, MQTT versi 5 ditingkatkan dan dirilis oleh OASIS. Saat ini MQTT bukan lagi akronim tetapi dianggap sebagai nama resmi bagi protokol.

Prinsip di balik MQTT

Protokol MQTT bekerja berdasarkan prinsip model publikasi atau berlangganan. Dalam komunikasi jaringan tradisional, klien dan server berkomunikasi secara langsung satu sama lain. Klien meminta sumber daya atau data dari server, kemudian server memproses dan mengirimkan respons kembali. Tetapi, MQTT menggunakan pola publikasi atau berlangganan untuk memisahkan pengirim pesan (penerbit) dari penerima pesan (pelanggan). Komponen ketiganya disebut broker pesan yang menangani komunikasi antara penerbit dengan pelanggan. Broker memiliki tugas yaitu memfilter semua pesan masuk dari penerbit dan mendistribusikannya dengan benar ke pelanggan. Broker memisahkan penerbit dan pelanggan seperti di bawah ini :

Pemisahan ruang

Penerbit dan pelanggan satu sama lain tidak mengetahui lokasi jaringan dan tidak bertukar informasi seperti alamat IP atau nomor port.

Pemisahan waktu

Penerbit dan pelanggan tidak menjalankan atau memiliki konektivitas jaringan secara bersamaan.

Pemisahan sinkronisasi

Penerbit dan pelanggan bisa mengirim atau menerima pesan tanpa saling mengganggu. Misalnya, pelanggan tidak harus menunggu penerbit mengirim pesan.

Komponen MQTT

MQTT menerapkan model publikasi atau berlangganan dengan menentukan klien dan broker seperti di bawah ini.

Klien MQTT

Klien MQTT merupakan setiap perangkat dari server ke mikrokontroler yang menjalankan pustaka MQTT. Apabila klien mengirim pesan, MQTT bertindak sebagai penerbit. Apabila klien menerima pesan, MQTT bertindak sebagai penerima. Pada dasarnya, perangkat apa pun yang berkomunikasi menggunakan MQTT melalui jaringan bisa disebut perangkat klien MQTT.

Broker MQTT

Broker MQTT merupakan sistem back-end yang mengoordinasikan pesan antara klien yang berbeda. Tanggung jawab broker yaitu menerima,  memfilter pesan, mengidentifikasi klien yang berlangganan setiap pesan dan mengirimi pesan kepada klien. Broker juga bertanggung jawab untuk tugas-tugas lain seperti :

Mengautentikasi dan mengotorisasi klien MQTT

• Mengirim pesan ke sistem lain untuk analisis lebih lanjut

• Menangani pesan yang tidak terjawab dan sesi klien

Koneksi MQTT

Klien dan broker mulai berkomunikasi menggunakan koneksi MQTT. Klien memulai koneksi dengan mengirimkan pesan CONNECT ke broker MQTT. Broker mengonfirmasi bahwa koneksi sudah dibuat dengan merespons menggunakan pesan CONNACK. Baik klien MQTT maupun broker membutuhkan tumpukan TCP/IP untuk berkomunikasi. Klien tidak pernah terhubung satu sama lain, hanya dengan broker.

Bagaimana cara kerja MQTT?

Berikut ini gambaran umum mengenai cara kerja MQTT :

1. Klien MQTT membuat koneksi dengan broker MQTT

2. Setelah terhubung, klien bisa memublikasikan pesan, berlangganan pesan tertentu atau melakukan keduanya

3. Saat broker MQTT menerima pesan, broker meneruskan pesan tersebut ke pelanggan yang tertarik

Apakah MQTT aman?

Komunikasi MQTT menggunakan protokol SSL untuk melindungi data sensitif yang dikirimkan oleh perangkat Internet of Things. KIta bisa menerapkan identitas, autentikasi dan otorisasi antara klien dan broker menggunakan sertifikat SSL atau kata sandi. Biasanya broker MQTT mengautentikasi klien menggunakan kata sandi dan pengidentifikasi klien unik yang dialokasikan untuk setiap klien. Dalam sebagian besar implementasi, klien mengautentikasi server dengan sertifikat atau pencarian DNS. Selain itu, kita juga bisa menerapkan protokol enkripsi dengan MQTT.

Posting Komentar

0 Komentar