那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MQTT協議的概念和主要特性 MQTT協議于物聯網有何好處

kae1_cdebyte ? 來源:億佰特物聯網應用專家 ? 2023-07-28 11:21 ? 次閱讀

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是ISO標準下基于發布/訂閱方式的輕量級消息協議。MQTT通常使用TCP / IP(傳輸控制協議/Internet協議)作為其傳輸,但也可以使用其他雙向傳輸。MQTT通常應用于物聯網智能家居等設備和應用程序之間的通信。在嵌入式領域,MQTT已經占據著無法替代的分量,因為大多數的嵌入式設備,都需要這樣的協議進行數據交互。

MQTT協議的主要特點

(1)開放消息協議,簡單易實現。

(2)發布訂閱模式,一對多消息發布。

(3)基于TCP/IP網絡連接,提供有序、無損、雙向連接。

(4)1字節固定報頭,2字節心跳報文,最小化傳輸開銷和協議交換,有效減少網絡流量。

(5)消息QoS支持可靠傳輸保證。

MQTT深層特性

01一對多信息發布

首先,他是基于訂閱與發布的一種協議,所以他可以一對多地進行消息發布,這樣的功能應用場景非常多,局限性廣播能夠讓服務器靈活控制想要控制的那個設備,并且服務器可以提供多個可以訂閱的主題,這是極為關鍵的。

因為對于服務器而言,接收數據并處理是核心任務,但是當設備的增多、設備功能行的增多,服務器處理邏輯將會幾何倍數增長。同樣是接收的數據,也許是完全不同類設備上傳的完全不一樣的信息,所以當可以提供多個訂閱主題與發布主題時,這種邏輯上的差異性就能被區分開,給開發者帶來了很大的便利。

02不同底層協議

MQTT的第二個特性其實就是他基于了TCP/IP而生,注定它是靠上層的一個協議,現在接觸的其實大多都是基于TCP協議而開發的,但它其實是有基于UDP版本的,名為MQTT-SN,但大家都知道,TCP面向連接,而UDP不面向連接,所以基于不同的底層協議類型,MQTT展現的特性肯定也是不同的。

03消息可靠性

對于常用的MQTT協議,它有一個很重要的保證消息可靠性的特性——QoS(服務質量),QoS可分為三個等級:QoS 0、QoS 1、QoS 2。

QoS 0其實相當于MQTT沒有做額外信息保護,因為本身是基于TCP協議的,所以其消息可靠性完全依賴于TCP協議。而QoS 1,則是代表至少承諾會有一次發送給接收者,這是在MQTT層進行的信息保護,而不只是依靠TCP協議層。最后QoS 2,則是保證消息僅僅傳送到目的地一次。

因為對于QoS 1,可能會因為消息沒有反饋而多次發送,而接收方也可能收到多次消息,為此,QoS 2傳輸的消息帶有唯一的ID,帶有唯一消息ID的消息會存儲兩次,首先來自發送者,然后是接收者QoS級別2在網絡中具有最高的開銷,因為在發送方和接收方之間需要兩個流。

MQTT兩個主要版本

MQTT有v3 和 v5兩個主要版本。這兩個版本原理基本相同,但它們之間存在一些關鍵的差異,下面將從以下幾個方面來介紹它們之間的區別。

01主題別名

主題是MQTT中的核心概念,它用于標識消息的內容和意圖。在MQTT v3中,主題只是一個簡單的字符串,其結構是由一系列以斜杠分隔的單詞組成的。例如,一個 MQTT v3主題可以是 sensors/temperature/room1,其中sensors是頂級主題,temperature是其子主題,room1是子主題下的一個特定設備。

caf3d4d4-2c71-11ee-815d-dac502259ad0.png

然而,在 MQTT v5中,主題的結構得到了擴展,新增了一些更高級的功能。具體來說,MQTT v5引入了一個名為主題別名的新概念,它允許客戶端將主題字符串映射到預定義的主題ID,從而減少網絡流量和消息大小。這使得客戶端能夠在發送消息時只發送主題ID,而不必每次都發送完整的主題字符串。這對于IoT設備和網絡帶寬有限的環境來說非常有用。

02訂閱操作

MQTT v5引入了一種名為共享訂閱的新訂閱類型。如下圖所示,共享訂閱允許多個客戶端共享一個訂閱,并按照一定規則進行分配。這種訂閱類型對于訂閱高負載主題非常有用,因為它可以平衡訂閱請求,減輕單個客戶端的負載壓力。

cb183c2a-2c71-11ee-815d-dac502259ad0.png

另外MQTT v5增加了訂閱選項的概念,可以指定訂閱選項,例如QoS等級、Retain As Publish、Retain Handling、消息的生命周期等,來對訂閱行為進行更加精細地控制。

03遺囑消息

遺囑消息是MQTT為那些可能出現意外斷線的設備提供的將遺囑優雅地發送給第三方的能力。

cb40b650-2c71-11ee-815d-dac502259ad0.png

Will Properties是MQTT v5新增的一個字段,不同類型的報文有著不同的屬性,例如CONNECT報文有最大報文長度、會話過期間隔等屬性,SUBSCRIBE報文則有訂閱標識符等屬性。而且MQTT v5較v3相比,遺囑消息的內容變得更加靈活,可以包含任何主題和任何消息內容。

04錯誤處理

MQTT v5支持更加詳細的錯誤處理機制,可以通過錯誤碼和錯誤原因來定位和解決問題。同時,MQTT v5還引入了一個新的控制報文——Disconnect報文,可以幫助客戶端和服務器更好地處理錯誤情況。

05流量控制

MQTT v5在v3版本基礎上引入了一些新的機制用于流量控制,為了更好地控制消息的傳輸和處理,避免因為消息傳輸速度過快導致的網絡擁塞和負載過高。

最大報文大小限制(Maximum Packet Size):MQTT v5 允許客戶端和服務端在握手時協商最大報文大小。如下圖所示,這個最大報文大小限制可以用于控制客戶端和服務端之間傳輸的最大消息大小,防止因為傳輸的消息過大導致網絡擁塞和負載過高。

消息隊列(Message Queue):當服務端發送的消息超出了客戶端處理的速度時,服務端可以將消息存儲到消息隊列中,等待客戶端處理。MQTT v5 定義了消息隊列的隊列大小和超時時間,以控制消息隊列的大小和生命周期。

06性能與效率

MQTT v5相對于MQTT v3來說,可以更好地處理大規模的數據傳輸,提高了通信的效率和性能。例如MQTT v5支持批量發布(Batch Publish)和預取(Message Prefetch)等功能,可以大大減少MQTT通信時的開銷。

總之,MQTT v5相比于MQTT v3具有更多的新功能和安全性。但是,需要注意的是MQTT v5相對于MQTT v3增加了很多新的功能和概念,因此在使用MQTT v5時,需要對MQTT協議的新特性進行深入的了解,以便可以更好地使用這個新協議來構建可靠的應用程序。

MQTT協議于物聯網有何好處?

01操作簡單

啟動和運行MQTT既快速又簡單,有數百萬個現成的客戶端應用程序和幾乎同樣多的代理可應用。

02安全可靠

許多物聯網設備依靠無線電連接來傳輸和收集數據,這意味著連接并不總是可靠的。MQTT可以允許將消息存儲在代理中,直到設備準備好接收它。由于QoS(服務質量),MQTT能夠對消息進行排隊,確保它們到達目的地,如果需要,請確保它們只到達一次。

03雙向消息傳遞

也許更準確地說MQTT是全向的。任何設備、事物或應用程序都可以發布或訂閱代理處理的任何主題。這意味著在網絡上可以交談或收聽的內容沒有限制。

04大規模消息傳遞

將消息廣播到一百萬臺設備與發送到一百臺設備一樣容易,要被網絡上的所有內容聽到,事物只需要發布到所有設備都訂閱的主題。

歸根結底,物聯網(IoT)有一項工作就是在網絡上獲取設備之間的數據。而這些網絡可能位于世界任何地方,每個網絡都面臨著許多可能導致它們數據傳輸失敗的情況,MQTT具有無數內置的功能來幫助緩解其中一些問題,從而讓使用者的煩惱有所減少。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19176

    瀏覽量

    307618
  • 物聯網
    +關注

    關注

    2913

    文章

    44921

    瀏覽量

    376961
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1378

    瀏覽量

    79294
  • MQTT
    +關注

    關注

    5

    文章

    653

    瀏覽量

    22689
  • MQTT協議
    +關注

    關注

    0

    文章

    98

    瀏覽量

    5483

原文標題:【分享】MQTT協議詳解「概念、特性、版本及作用」

文章出處:【微信號:cdebyte,微信公眾號:億佰特物聯網應用專家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    mqtt協議怎么用?以MQTT3.1協議ESP8266連接阿里云聯網平臺

    、移動應用等方面有廣泛的應用。MQTT屬于應用層協議。最新版本為MQTT v5.0標準。本次連接阿里云聯網平臺
    的頭像 發表于 05-25 18:32 ?5889次閱讀
    <b class='flag-5'>mqtt</b><b class='flag-5'>協議</b>怎么用?以<b class='flag-5'>MQTT</b>3.1<b class='flag-5'>協議</b>ESP8266連接阿里云<b class='flag-5'>物</b><b class='flag-5'>聯網</b>平臺

    聯網傳輸協議MQTT到底是個什么?

    MQTT協議針對低帶寬網絡,低計算能力的設備,做了特殊的優化,使得其能適應各種聯網應用場景。目前MQTT擁有各種平臺和設備上的客戶端,已
    發表于 01-08 11:27

    工業無線MQTT聯網網關

    本帖最后由 wtblchenwei1981 2018-2-10 16:25 編輯 產品簡介 隨著越來越多的聯網采用 MQTT 作為支持
    發表于 02-07 14:00

    MQTT 協議開發入門

    的即時通訊協議,使其在聯網、小型設備、移動應用等方面有較廣泛的應用。MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議
    發表于 11-05 09:38

    MQTT 協議 開發入門

    計的協議,它具有以下主要的幾項特性:(1)使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合。這一點很類似XMPP,但是MQTT
    發表于 11-07 15:51

    聯網的基石-MQTT協議初識

    1、聯網的基石-mqtt協議初識隨著 5G 時代的來臨,萬互聯的偉大構想正在成為現實。聯網
    發表于 09-08 16:03

    聯網傳輸協議MQTT的優勢

    聯網傳輸協議為什么首選MQTT
    的頭像 發表于 01-09 14:46 ?4194次閱讀

    聯網網關協議MQTT和Modbus的區別

    聯網網關協議MQTT和Modbus:用于短距離設備連接的本地協議Modbus以及支持聯網進行
    發表于 06-15 14:23 ?2140次閱讀

    聯網協議MQTT

    的,這些特點使它適用范圍非常廣泛。在很多情況下,包括受限的環境中,作為一種低開銷、低帶寬占用的即時通訊協議,使其在聯網、小型設備、移動應用等方面有較廣泛的應用。如:機器與機器(M2M)通信和
    的頭像 發表于 11-22 09:53 ?1575次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>協議</b><b class='flag-5'>MQTT</b>

    MQTT 5協議你知道多少?

    MQTT協議是當今世界上最流行、接受度最高的聯網協議。自推出以來,MQTT
    的頭像 發表于 02-23 13:14 ?849次閱讀

    智聯聯分享之聯網協議MQTT簡述,MQTT協議特點

    )基于客戶端/服務器的信息發布/訂閱的聯網常用傳輸協議。1999年由開發商IBM發布,MQTT協議是輕量、簡單、開放和易于實現的,這些特點
    的頭像 發表于 03-28 18:10 ?1341次閱讀
    智聯<b class='flag-5'>物</b>聯分享之<b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>協議</b><b class='flag-5'>MQTT</b>簡述,<b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>特點

    MQTT主要特性哪些

    MQTT主要特性 MQTT 協議是為工作在低帶寬、不可靠網絡的遠程傳感器和控制設備之間的通訊而設計的
    的頭像 發表于 07-30 14:42 ?1941次閱讀

    MQTT協議詳解 概念特性、版本及作用

    /Internet協議)作為其傳輸,但也可以使用其他雙向傳輸。MQTT通常應用于聯網、智能家居等設備和應用程序之間的通信。在嵌入式領域,MQTT
    的頭像 發表于 08-01 00:09 ?9664次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>詳解 <b class='flag-5'>概念</b>、<b class='flag-5'>特性</b>、版本及作用

    聯網中的MQTT協議概述

    MQTT協議已經成了聯網通信中的一個熱詞,今天我們一起來學習一下關于MQTT協議的一些知識。
    的頭像 發表于 11-25 14:09 ?1411次閱讀

    MQTT協議網關的工作原理及功能特性

    的數據傳輸。本文將詳細探討 MQTT協議網關 的工作原理、功能特性及其在聯網應用中的重要作用。 一、M
    的頭像 發表于 09-18 17:00 ?615次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>網關的工作原理及功能<b class='flag-5'>特性</b>
    大发888官方df888gwyxpt | 大发888账号| 新世纪百家乐娱乐城| 百家乐国际娱乐| 百家乐官网长庄投注| 百家乐官网四式正反路| 永利高足球平台| 大发888 dafa888 gzsums| 大发888注册送钱| 博狗博彩网站,| 徐州市| 一路发娱乐| 铁岭县| 博E百娱乐城| 临泽县| 金沙城百家乐官网大赛规则| 百家乐官网的打法技巧| 屯留县| 网络百家乐官网现金游戏哪里的信誉好啊| 百家乐官网赌场技巧网| 狮威百家乐官网娱乐平台| 24山运| 皇冠百家乐官网赢钱皇冠| 百家乐官网楼梯缆大全| 百家乐案件讯问| 澳门百家乐赌场娱乐网规则| 仕達屋百家乐的玩法技巧和规则| 大发888娱乐城官方下载安装| 威尼斯人娱乐场cqsscgw88| 大发888网上赌场官网| 鼎丰娱乐城| 百家乐官网神仙道官网| 利澳百家乐官网的玩法技巧和规则| 澳门百家乐官网然后赢| 百家乐软件骗人吗| 永利百家乐娱乐场| 大发888 ber娱乐场下载| 百家乐官网隐者博客| 赌场百家乐官网信誉| 赌百家乐的体会| 澳门百家乐必赢技巧|