国产午夜伦鲁鲁-国产午夜片无码区在线观看爱情网-国产成 人 综合 亚洲专区-日本最新高清一区二区三-视频分类 国内精品

mqtt協議:設計規范,協議原理及主要特性

2021-12-20 09:25:27 admin 854

1、簡述

Mqtt(messagequeuingtelemetrytransport)是一種基于發布/訂閱模式通信協議的“輕量級”通信協議,它基于TCP/IP協議,由IBM于1999年發布。mqtt的最大優點是,它可以用很少的代碼和有限的帶寬為連接的遠程設備提供實時可靠的消息服務。作為一種低開銷、低帶寬占用的即時通信協議,它廣泛應用于物聯網、小型設備、移動應用等領域。

Mqtt是一種基于客戶機-服務器的消息發布/訂閱傳輸協議。Mqtt協議輕量級、簡單、開放且易于實現。這些特點使其具有廣泛的適用性。在許多情況下,包括受限環境,如機器對機器(M2M)通信和物聯網(IOT),它已通過衛星鏈路、偶爾的撥號醫療設備、智能家居和一些小型設備廣泛應用于通信傳感器中。


5g/4g工業路由網關


2、設計規范

由于物聯網的環境非常特殊,mqtt遵循以下設計原則:

(1)精簡和不增加可有可無的功能;

(2)發布/訂閱(Pub/sub)模式,以促進傳感器之間的消息傳輸;

(3)允許用戶動態創建主題,零運維成本;

(4)將傳輸容量降至最低,以提高傳輸效率;

(5)考慮了低帶寬、高延遲、網絡不穩定等因素;

(6)支持連續會話控制;

(7)了解客戶機的計算能力可能非常低;

(8)提供服務質量管理;

(9)假設數據未知,則不需要傳輸數據的類型和格式來保持靈活性。

3、主要特征

Mqtt協議設計用于低帶寬和不可靠網絡中遠程傳感器和控制設備之間的通信。它具有以下主要特點:

(1)使用發布/訂閱消息模式可提供一對多消息發布和解耦應用程序。

這與XMPP非常相似,但mqtt的信息冗余比XMPP少得多,因為XMPP使用XML格式的文本傳輸數據。

(2)屏蔽有效負載內容的消息傳輸。

(3)使用TCP/IP提供網絡連接。

主流mqtt基于TCP連接推送數據,但也有一個基于UDP的版本,稱為mqttsn。因為這兩個版本基于不同的連接方法,所以它們的優缺點自然不同。

(4)有三種類型的消息發布服務質量:

“至少一次”,消息發布完全取決于底層TCP/IP網絡。可能會發生消息丟失或重復。此級別可用于以下情況。主讀取記錄是否丟失并不重要,因為在不久的將來會有第二次傳輸。此方法主要用于推送普通應用程序。如果您的智能設備在推送消息時未連接到Internet,并且過去未收到推送,則在再次聯網時將不會收到推送。

“至少一次”,以確保消息到達,但可能會發生消息重復。

“僅一次”以確保消息到達一次。此級別可用于某些要求嚴格的計費系統。在計費系統中,重復或丟失消息將導致錯誤結果。這項最高質量的消息發布服務還可用于推送即時消息應用程序,以確保用戶接收并只接收一次。

(5)傳輸量小,開銷低(固定長度報頭為2字節),協議切換最小化,以減少網絡流量。

這就是為什么在導言中說它非常適合“傳感器和服務器之間的通信以及物聯網領域的信息收集”。您應該知道,嵌入式設備的計算能力和帶寬相對較弱。使用此協議傳輸消息非常合適。

(6)一種通過使用最后遺囑和遺囑特征通知相關方客戶端異常中斷的機制。

遺言:遺言機制,用于通知同一主題下的其他設備發送遺言的設備已斷開連接。

遺囑:遺囑機制,類似于最后遺囑。

4、Mqtt協議原理

4.1mqtt協議的實現模式

mqtt協議的實現需要客戶端和服務器之間的通信。在通信過程中,mqtt協議中有三個標識:發布者、代理(服務器)和訂閱者。其中,消息的發布者和訂閱者都是客戶端,消息代理是服務器,消息發布者可以同時是訂閱者。

mqtt傳輸的消息分為兩部分:主題和有效負載:

(1)主題可以理解為消息的類型。訂閱后,訂閱方將收到該主題的消息內容(有效載荷);

(2)有效載荷可以理解為消息的內容,指訂戶要使用的特定內容。

4.2網絡傳輸和應用信息

Mqtt將構建底層網絡傳輸:它將建立客戶端到服務器的連接,并在兩者之間提供有序、無損、基于字節流的雙向傳輸。

當應用程序數據通過mqtt網絡發送時,mqtt將把服務質量(QoS)和與其相關的主題關聯起來。

4.3mqtt客戶端

使用mqtt協議的應用程序或設備。它始終與服務器建立網絡連接。客戶可以:

(1)發布其他客戶可能訂閱的信息;

(2)訂閱其他客戶端發布的消息;

(3)取消訂閱或刪除應用程序消息;

(4)斷開與服務器的連接。

4.4mqtt服務器

Mqtt服務器稱為“MessageBroker”,它可以是應用程序或設備。它位于消息發布者和訂閱者之間。它可以:

(1)接受客戶的網絡連接;

(2)接受客戶發布的申請信息;

(3)處理客戶的訂閱和取消訂閱請求;

(4)將應用程序消息轉發給訂閱的客戶。

4.5mqtt協議中的訂閱、主題和會話

1、訂閱

訂閱包含主題篩選器和最大服務質量(QoS)。訂閱與會話相關聯。一個會話可以包含多個訂閱。每個會話中的每個訂閱都有不同的主題篩選器。

2、會議

在每個客戶機與服務器建立連接后,這是一個會話,客戶機和服務器之間存在狀態交互。網絡之間存在會話,或者會話可能跨越客戶端和服務器之間的多個連續網絡連接。

3、主題名稱

連接到與服務器訂閱匹配的應用程序消息的標簽。服務器向訂閱匹配標記的每個客戶端發送一條消息。

4、主題過濾器

主題名稱的通配符篩選器,在訂閱表達式中用于表示訂閱匹配的多個主題。

5、載荷(有效載荷)

消息訂閱者接收的特定內容。

4.6mqtt協議中的方法

Mqtt協議定義了一些方法(也稱為操作)來表示特定資源上的操作。此資源可以表示預先存在的數據或動態生成的數據,具體取決于服務器的實現。一般來說,資源是指服務器上的文件或輸出。主要方法是:

(1)連接。等待與服務器建立連接。

(2)斷開。等待mqtt客戶端完成其工作,并斷開TCP/IP會話與服務器的連接。

(3)訂閱。等待訂閱完成。

(4)取消訂閱。等待服務器從客戶端取消訂閱一個或多個主題。

(5)出版。mqtt客戶機發送消息請求,并在發送后返回到應用程序線程。

5、Mqtt協議包結構

在mqtt協議中,mqtt數據包由固定報頭、可變報頭和有效負載組成。mqtt數據包的結構如下:

(1)固定標題。它存在于所有mqtt數據包中,表示數據包的數據包類型和數據包類標識。

(2)可變標題。它存在于某些mqtt數據包中。數據包類型確定變量頭是否存在及其特定內容。

(3)消息正文(有效負載)。它存在于某些mqtt數據包中,表示客戶端接收到的特定內容。

5.1mqtt固定頭

固定頭存在于所有mqtt包中,其結構如下:

5.1.1mqtt數據包類型

位置:字節1中的第7-4位。

對應于4位無符號值,類型、值和說明如下:

5.1.2識別位

位置:字節1中的第3-0位。

在不使用標識位的消息類型中,標識位用作保留位。如果接收到無效標志,則接收端必須關閉網絡連接:

(1)DUP:已發布消息的副本。它用于確保信息的可靠傳輸。如果設置為1,則messageid將添加到以下可變長度,需要回復確認以確保消息傳輸完成,但不能用于檢測重復的消息傳輸。

(2)QoS:發布消息的服務質量,即消息傳遞的數量

00:最多一次,即<=1

01:至少一次,即>=1

10:一次,即:=1

11:保留

(3)Retain:發布保留ID,表示服務器希望保留這次推送的信息。如果出現新訂戶,請將消息推送到該訂戶。如果是,將其推送到當前訂戶并釋放。5.1.3剩余長度

地址:字節2。

固定標頭的第二個字節用于存儲可變長度標頭和消息正文的總大小,但不能直接存儲。這個字節可以擴展。其保存機制是前7位用于保存長度,最后一位用作標識。最后一位為1時,表示長度不足,需要用兩個字節保存。例如:將以下大小計算為0

5.2mqtt可變磁頭

mqtt數據包包含一個位于固定頭和有效負載之間的可變頭。可變報頭的內容因數據包類型而異。它通常用作數據包的標識:

許多類型的數據包包括一個2字節的數據包標識字段。這些類型的數據包包括:發布(QoS>0)、puback、pubrec、pubrel、pubcomp、訂閱、訂閱、取消訂閱、取消訂閱。

5.3有效載荷消息正文

有效負載消息正文是mqtt數據包的第三部分,它包含四種類型的消息:connect、subscribe、suback和unsubscribe:

(1)Connect,消息體的主要內容有:客戶端ID、訂閱主題、消息、客戶端用戶名和密碼。

(2)訂閱,消息體的內容是一系列要訂閱的主題和QoS。

(3)消息體的內容是服務器確認并回復subscribe應用的主題和QoS。

(4)取消訂閱:消息正文的內容是要訂閱的主題。


標簽: MQTT
網站首頁
解決方案
產品中心
在線咨詢
主站蜘蛛池模板: 九九热爱视频精品视频| 夜夜爽狠狠天天婷婷五月| 久久99精品国产自在现线小黄鸭| 亚洲欧美在线制服丝袜国产| 亚洲国产成人精品无码区花野真一| 久久久久成人网站| 国产欠欠欠18一区二区| 好男人www社区| 中文字幕一本性无码| 一二三四日本高清社区5| 国产免费一区二区三区免费视频| 97视频在线观看播放| 国产精品久久久福利| 亚洲综合精品成人| 亚洲国产色播av在线| 色综合久久蜜芽国产精品| 久久久久99精品成人片三人毛片 | 大ji巴好深好爽又大又粗视频| 久久精品国产再热青青青| 亚洲伊人久久综合网站| 国产精品欧美一区二区三区| 亚洲精品一区| 国产精品第一国产精品| 亚洲午夜视频| 国产色精品vr一区二区| 暖暖免费 高清 日本社区在线观看| 欧美怡春院| 天躁夜夜躁狼狠躁| 亚洲精品无码国模| 中文字幕在线观看亚洲视频| 亚洲熟妇自偷自拍另类| 国产成人无码免费看片软件| 中文无码熟妇人妻av在线| 亚洲熟妇无码av在| 国产午夜高清高清在线观看| 五月丁香色综合久久4438| 亚洲精品综合五月久久小说| 亚洲欧美自拍色综合图| 国产成人精品必看| 99精品久久久中文字幕| 男女裸交免费无遮挡全过程|