mqtt(message queuing telemetry transport,訊息佇列遙測傳輸協議),是一種基於發布/訂閱
(publish/subscribe
)模式的「輕量級」通訊協議,該協議構建於tcp/ip協議上,由ibm在2023年發布。mqtt最大優點在於,可以以極少的**和有限的頻寬,為連線遠端裝置提供實時可靠的訊息服務。做為一種低開銷、低頻寬占用的即時通訊協議,使其在物聯網、小型裝置、移動應用等方面有較廣泛的應用。
mqtt是乙個基於客戶端-伺服器的訊息發布/訂閱傳輸協議。mqtt協議是輕量、簡單、開放和易於實現的,這些特點使它適用範圍非常廣泛。在很多情況下,包括受限的環境中,如:機器與機器(m2m)通訊和物聯網(iot)。其在,通過衛星鏈路通訊感測器、偶爾撥號的醫療裝置、智慧型家居、及一些小型化裝置中已廣泛使用。
mqtt協議當前版本為,2023年發布的mqtt v3.1.1。除標準版外,還有乙個簡化版mqtt-sn
,該協議主要針對嵌入式裝置,這些裝置一般工作於百tcp/ip網路,如:zigbee。
mqtt協議執行在tcp/ip或其他網路協議,提供有序、無損、雙向連線。其特點包括:
使用的發布/訂閱訊息模式,它提供了一對多訊息分發,以實現與應用程式的解耦。
對負載內容遮蔽的訊息傳輸機制。
對傳輸訊息有三種服務質量(qos):
資料傳輸和協議交換的最小化(協議頭部只有2位元組),以減少網路流量
通知機制,異常中斷時通知傳輸雙方
2.1mqtt
協議實現方式
2.2 網路傳輸與應用訊息
mqtt
會構建底層網路傳輸:它將建立客戶端到伺服器的連線,提供兩者之間的乙個有序的、無損的、基於位元組流的雙向傳輸。
當應用資料通過mqtt
網路傳送時,mqtt
會把與之相關的服務質量(qos)和主題名(topic)相關連。
2.3mqtt
客戶端
乙個使用mqtt
協議的應用程式或者裝置,它總是建立到伺服器的網路連線。客戶端可以:
2.4mqtt
伺服器
mqtt
伺服器以稱為「訊息**」(broker),可以是乙個應用程式或一台裝置。它是位於訊息發布者
和訂閱者
之間,它可以:
2.5mqtt
協議中的訂閱、主題、會話
訂閱(subscription)
訂閱包含主題篩選器(topic filter)和最大服務質量(qos)。訂閱會與乙個會話(session)關聯。乙個會話可以包含多個訂閱。每乙個會話中的每個訂閱都有乙個不同的主題篩選器。
會話(session)
每個客戶端與伺服器建立連線後就是乙個會話,客戶端和伺服器之間有狀態互動。會話存在於乙個網路之間,也可能在客戶端和伺服器之間跨越多個連續的網路連線。
主題名(topic name)
連線到乙個應用程式訊息的標籤,該標籤與伺服器的訂閱相匹配。伺服器會將訊息傳送給訂閱所匹配標籤的每個客戶端。
主題篩選器(topic filter)
乙個對主題名萬用字元篩選器,在訂閱表示式中使用,表示訂閱所匹配到的多個主題。
負載(payload)
訊息訂閱者所具體接收的內容
2.6mqtt
協議中的方法
mqtt
協議中定義了一些方法(也被稱為動作), 來於表示對確定資源所進行操作。 這個資源可以代表預先存在的資料或動態生成資料,這取決於伺服器的實現。通常來說,資源指伺服器上的檔案或輸出。
connect,等待與伺服器建立連線
disconnect,等待mqtt
客戶端完成所做的工作,並與伺服器斷開tcp/ip會話
subscribe,等待完成訂閱
unsubscribe,等待伺服器取消客戶端的乙個或多個topics
訂閱
publish,mqtt
客戶端傳送訊息請求,傳送完成後返回應用程式執行緒
MQTT協議 MQTT協議簡介及協議原理
mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...
MQTT協議 MQTT協議簡介及協議原理
mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...
MQTT協議 MQTT協議簡介及協議原理
mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...