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是一種基於標準通用標記語言的子集XML的協議,它繼承了在XML環境中靈活的發展性。所以,基於XMPP的應用具備超強的可擴展性。通過擴展之後的XMPP能夠經過發送擴展的信息來處理用戶的需求,以及在XMPP的頂端創建如內容發佈系統和基於地址的服務等應用程 序。並且,XMPP包含了針對服務器端的軟件協議,使之能與另外一個進行通話,這使得開發者更容易創建客戶應用程序或給一個配好系統添加功能。html
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通信協議,有可能成爲物聯網的重要組成部分。該協議支持全部平臺,幾乎能夠把全部聯網物品和外部鏈接起來,被用來當作傳感器和致動器(好比經過Twitter讓房屋聯網)的通訊協議。node
CoAP是受限制的應用協議(Constrained Application Protocol)的代名詞。在最近幾年的時間中,專家們預測會有更多的設備相互鏈接,而這些設備的數量將遠超人類的數量。在這種大背景下,物聯網和M2M技術應運而生。雖然對人而言,鏈接入互聯網顯得方便容易,可是對於那些微型設備而言接入互聯網很是困難。在當前由PC機組成的世界,信息交換是經過TCP和應用層協議HTTP實現的。可是對於小型設備而言,實現TCP和HTTP協議顯然是一個過度的要求。爲了讓小設備能夠接入互聯網,CoAP協議被設計出來。CoAP是一種應用層協議,它運行於UDP協議之上而不是像HTTP那樣運行於TCP之上。CoAP協議很是的小巧,最小的數據包僅爲4字節。緩存
REST 指的是一組架構約束條件和原則。知足這些約束條件和原則的應用程序或設計就是 RESTful。服務器
Web 應用程序最重要的 REST 原則是,客戶端和服務器之間的交互在請求之間是無狀態的。從客戶端到服務器的每一個請求都必須包含理解請求所必需的信息。若是服務器在請求之間的任什麼時候間點重啓,客戶端不會獲得通知。此外,無狀態請求能夠由任何可用服務器回答,這十分適合雲計算之類的環境。客戶端能夠緩存數據以改進性能。架構