Модель TCP/IP (RFC 1122) |
---|
Прикладний рівень |
Транспортний рівень |
Мережевий рівень |
Канальний рівень |
MQTT (англ. Message Queue Telemetry Transport) — спрощений мережевий протокол, що працює на TCP/IP. Використовується для обміну повідомленнями між пристроями за принципом видавець-підписник.
Перша версія протоколу була розроблена доктором Енді Станфорд-Кларком (IBM) та Арлен Ніппер (Arcom) 1999 року і опублікована під роялті-фрі ліцензією. Специфікація MQTT 3.1.1 була стандартизована консорціумом OASIS 2014 року.[1]
Подальшим розвитком MQTT стала розробка версії цього протоколу для сенсорних мереж MQTT-SN[2] на основі UDP або Bluetooth.
В 2019 OASIS офіційно реалізував стандарт MQTT 5.0[3].
MQTT визначає методи (так звані «дієслова»), щоб вказати бажану дію, яка повинна виконуватися на ідентифікованому ресурсі. Чим є цей ресурс, будь то вже наявні дані або дані, що генеруються динамічно, залежить від реалізації сервера. Часто ресурс відповідає файлу або результату виконання якогось файлу, розміщеного на сервері.
Connect. З'єднати: Чекає встановлення з'єднання з сервером.
Disconnect. Роз'єднати: Чекає доки клієнт MQTT закінчить будь-яку роботу, що має зробити, і доки роз'єднається TCP/IP сесія.
Subscribe. Підписатися: Чекає на завершення методу Subscribe чи UnSubscribe.
UnSubscribe. Відписатися: просить сервер відписати клієнта від одної або кількох тем.
Publish. Публікувати: одразу повертається в потік виконання додатку (англ. application thread) після того, як передасть запит клієнту MQTT.
При відправленні повідомлення можна обирати три рівні якості доставки[4]:
У комбінації з протоколом DDS (Data Distribution Service) MQTT може бути використаний для Інтернету речей (IoT)[5].
Перспективним напрямом реалізації брокерського механізму MQTT є забезпечення централізованого мультимережного менеджменту у бортових мережах транспортних засобів[6], а також мережі солдат[6].
((cite web))
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)