- CoAP協議是什么?
CoAP,全稱是Constrained Application Protocol,譯為受限制的應用協議,用于資源受限(CPU、內存、硬盤)的小型物聯設備。
RFC 7252中有如下說明:
The interaction model of CoAP is similar to the client/server model of HTTP. However, machine-to-machine interactions typically result in a CoAP implementation acting in both client and server roles.
CoAP的交互模型類似于HTTP的客戶端/服務器模型。但CoAP是雙向通信。
Unlike HTTP, CoAP deals with these interchanges synchronously over a datagram-oriented transport such as UDP.
與HTTP不同,CoAP通過面向數據報的傳輸(例如UDP)同步處理這些交換。
- 為什么會有CoAP協議?
計算機網絡中,網絡設備的資源都是相對充足的,傳輸層使用的是TCP協議,應用層使用的是HTTP協議,該協議構建在REST架構之上。
物聯網中,網絡環境通常是不穩定的,采集數據的傳感設備資源往往是有限的,使用HTTP協議顯然是不合適的。
那么,就需要在受限制的物聯網環境中,實現類似HTTP協議卻使用極少資源且用于M2M通信的應用層協議。
CoAP協議因此而誕生。
從產生的原因中,不難看出:
(1)CoAP協議使用請求/響應模型,能夠雙向通信;
(2)CoAP協議是Client和Server之間的點對點協議;
- CoAP協議是如何工作的?
(1)CoAP如何定位資源?
與HTTP協議類似:
使用coap://[IP Addr]:5683/sensors/temp;
使用coap://[IP Addr]:5684/sensors/temp;
同樣地,使用的請求方法:GET\\POST\\PUT\\DELETE。
(2)CoAP協議能夠保證消息可靠傳輸嗎?
CoAP協議有4種消息:Confirmable Message(可確認消息)、Non-confirmable Message(無法確認的消息)、Acknowledgement Message(確認信息)、Reset Message(重置消息)。
CoAP協議通過可確認消息和確認信息來保證消息可靠傳輸。
(3)CoAP協議如何保證傳輸數據的安全性?
CoAP使用數據包傳輸層安全性協議DTLS來保證傳輸數據的安全。DTLS是基于SSL TLS協議架構上的擴展。
- 測試CoAP協議的開源工具有哪些?
開源工具有:瀏覽器Chrome插件Copper、coap-cli、libcoap。其中,libcoap是一個優秀的開源項目,使用C語言實現(https://github.com/obgm/libcoap)。
-
協議
+關注
關注
2文章
602瀏覽量
39230 -
設備
+關注
關注
2文章
4515瀏覽量
70660 -
CoAP
+關注
關注
0文章
10瀏覽量
10598
發布評論請先 登錄
相關推薦
評論