MQTT、CoAP

實時協議是物聯網的一項根本性技術,在物聯網領域發揮了重大的做用。目前物聯網設備所普遍使用的四大實時協議:XMPP、HTTP、CoAP以及MQTT等可謂各擅所長、亦各有弊端。安全

那麼在萬物互聯的時代,誰主沉浮?今天咱們先來討論MQTT與CoAP。微信

----------------------------------------------------------------------------------------------------------------------------------------------------------------網絡

在對比哪一種協議更適合物聯網以前,咱們要先了解各類協議的偏重點。物聯網終端節點通常都是存儲和帶寬受限的嵌入式設備。阿里雲

XMPP協議基於XML,對於嵌入式設備來講,XML解析是超級困難的。雲計算

HTTP協議對於嵌入式設備來講屬於重量級,也不是很合適。由於目前物聯網中的不少設備都是資源受限型的,因此只有少許的內存空間和有限的計算能力。設計

比較適合嵌入式設備就是輕量級的MQTT和CoAP。代理

話題 | MQTT、CoAP,物聯網兩大實時協議誰主沉浮?

CoAP的全稱爲受限應用協議,其開發目的在於容許資源相對有限的設備利用UDP而非TCP經過互聯網實現通訊。blog

MQTT協議是由IBM開發的一個即時通信的協議,是爲大量計算能力有限且工做在低帶寬、不可靠網絡的遠程傳感器和控制設備通信而設計的一種協議。內存

MQTT協議的優點是能夠支持全部平臺,它幾乎能夠把全部的聯網物品和互聯網鏈接起來。資源

MQTT與CoAP的區別

MQTT和CoAP都是行之有效的物聯網協議,但二者仍是有很大區別的。從應用方向來分析,主要區別有如下幾點:

❶MQTT協議不支持帶有類型或者其它幫助Clients理解的標籤信息,也就是說全部MQTT Clients必需要知道消息格式。

而CoAP協議則相反,由於CoAP內置發現支持和內容協商,這樣便能容許設備相互窺測以找到數據交換的方式。

話題 | MQTT、CoAP,物聯網兩大實時協議誰主沉浮?

❷MQTT是長鏈接而CoAP是無鏈接。MQTT Clients與Broker之間保持TCP長鏈接,這種情形在NAT環境中也不會產生問題。

若是在NAT環境下使用CoAP的話,那就須要採起一些NAT穿透性手段。

❸MQTT是多個客戶端經過中央代理進行消息傳遞的多對多協議。它主要經過讓客戶端發佈消息、代理決定消息路由和複製來解耦消費者和生產者。

MQTT至關於消息傳遞的實時通信總線,CoAP基本上就是一個在Server和Client之間傳遞狀態信息的單對單協議。

MQTT的特色

MQTT協議是爲大量計算能力有限,且工做在低帶寬、不可靠的網絡的遠程傳感器和控制設備通信而設計的協議,它具備:

1.使用發佈/訂閱消息模式,提供一對多的消息發佈,解除應用程序耦合;

2.對負載內容屏蔽的消息傳輸;

3.使用 TCP/IP 提供網絡鏈接;

4.小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以下降網絡流量;

5.使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。

運用MQTT協議,設備能夠很方便地鏈接到物聯網雲服務,管理設備並處理數據,最後應用到各類業務場景。

話題 | MQTT、CoAP,物聯網兩大實時協議誰主沉浮?

物聯網平臺優點

信銳物聯網應用層協議採用的即是MQTT,通俗的講該協議就像微信關注公衆號同樣,關注了就能收到信息,未關注的就收不到推送的消息。

信銳物聯網平臺採用MQTT消息通訊機制的設計,可靠、輕巧、簡單,在物聯網應用開發中優點有:

1.可靠傳輸:MQTT能夠保證消息可靠安全的傳輸,並能夠與企業應用簡易集成。

2.消息推送:支持消息實時通知、豐富的推送內容、靈活的Pub-Sub以及消息存儲和過濾。

3.低帶寬、低耗能、低成本:佔用應用程序帶寬小,而且帶寬利用率高,耗電量較少。

話題 | MQTT、CoAP,物聯網兩大實時協議誰主沉浮?

從當前物聯網應用發展趨勢來分析,MQTT協議具備必定的優點。目前國內外主要的雲計算服務商,好比阿里雲、AWS、百度雲、Azure以及騰訊雲等都支持MQTT協議。除此以外,MQTT協議比CoAP成熟的要早,因此MQTT具備必定的先發優點。

隨着物聯網的智能化和多變化的發展,後續物聯網應用平臺確定會兼容更多的物聯網應用層協議,信銳物聯網也將推出更多基於MQTT通訊方式的物聯網行業解決方案。

相關文章
相關標籤/搜索