物聯網協議比較 MQTT CoAP RESTful/HTTP XMPP
- 2019 年 10 月 6 日
- 筆記
物聯網協議
Protocol |
CoAP |
XMPP |
RESTful HTTP |
MQTT |
---|---|---|---|---|
Transport |
UDP |
TCP |
TCP |
TCP |
Messaging |
Request/Response |
Publish/Subscribe Request/Response |
Request/Response |
Publish/Subscribe Request/Response |
2G, 3G, 4G Suitability (1000s nodes) |
Excellent |
Excellent |
Excellent |
Excellent |
LLN Suitability (1000s nodes) |
Excellent |
Fair |
Fair |
Fair |
Compute Resources |
10Ks RAM/Flash |
10Ks RAM/Flash |
10Ks RAM/Flash |
10Ks RAM/Flash |
Success Storied |
Utility Field Area Networks |
Remote management of consumer white goods |
Smart Energy Profile 2 (premise energy management/home services) |
Extending enterprise messaging into IoT applications |
物聯網協議XMPP
XMPP是一種基於標準通用標記語言的子集XML的協議,它繼承了在XML環境中靈活的發展性。因此,基於XMPP的應用具有超強的可擴展性。經過擴展以後的XMPP可以通過發送擴展的資訊來處理用戶的需求,以及在XMPP的頂端建立如內容發布系統和基於地址的服務等應用程 序。而且,XMPP包含了針對伺服器端的軟體協議,使之能與另一個進行通話,這使得開發者更容易建立客戶應用程式或給一個配好系統添加功能。
物聯網協議MQTT
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平台,幾乎可以把所有聯網物品和外部連接起來,被用來當做感測器和致動器(比如通過Twitter讓房屋聯網)的通訊協議。
物聯網協議CoAP
CoAP是受限制的應用協議(Constrained Application Protocol)的代名詞。在最近幾年的時間中,專家們預測會有更多的設備相互連接,而這些設備的數量將遠超人類的數量。在這種大背景下,物聯網和M2M技術應運而生。雖然對人而言,連接入互聯網顯得方便容易,但是對於那些微型設備而言接入互聯網非常困難。在當前由PC機組成的世界,資訊交換是通過TCP和應用層協議HTTP實現的。但是對於小型設備而言,實現TCP和HTTP協議顯然是一個過分的要求。為了讓小設備可以接入互聯網,CoAP協議被設計出來。CoAP是一種應用層協議,它運行於UDP協議之上而不是像HTTP那樣運行於TCP之上。CoAP協議非常的小巧,最小的數據包僅為4位元組。
物聯網協議RESTful HTTP
REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程式或設計就是 RESTful。 Web 應用程式最重要的 REST 原則是,客戶端和伺服器之間的交互在請求之間是無狀態的。從客戶端到伺服器的每個請求都必須包含理解請求所必需的資訊。如果伺服器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用伺服器回答,這十分適合雲計算之類的環境。客戶端可以快取數據以改進性能。