- CoAP協(xié)議是什么?
CoAP,全稱是Constrained Application Protocol,譯為受限制的應(yīng)用協(xié)議,用于資源受限(CPU、內(nèi)存、硬盤)的小型物聯(lián)設(shè)備。
RFC 7252中有如下說(shuō)明:
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的客戶端/服務(wù)器模型。但CoAP是雙向通信。
Unlike HTTP, CoAP deals with these interchanges synchronously over a datagram-oriented transport such as UDP.
與HTTP不同,CoAP通過(guò)面向數(shù)據(jù)報(bào)的傳輸(例如UDP)同步處理這些交換。
- 為什么會(huì)有CoAP協(xié)議?
計(jì)算機(jī)網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備的資源都是相對(duì)充足的,傳輸層使用的是TCP協(xié)議,應(yīng)用層使用的是HTTP協(xié)議,該協(xié)議構(gòu)建在REST架構(gòu)之上。
物聯(lián)網(wǎng)中,網(wǎng)絡(luò)環(huán)境通常是不穩(wěn)定的,采集數(shù)據(jù)的傳感設(shè)備資源往往是有限的,使用HTTP協(xié)議顯然是不合適的。
那么,就需要在受限制的物聯(lián)網(wǎng)環(huán)境中,實(shí)現(xiàn)類似HTTP協(xié)議卻使用極少資源且用于M2M通信的應(yīng)用層協(xié)議。
CoAP協(xié)議因此而誕生。
從產(chǎn)生的原因中,不難看出:
(1)CoAP協(xié)議使用請(qǐng)求/響應(yīng)模型,能夠雙向通信;
(2)CoAP協(xié)議是Client和Server之間的點(diǎn)對(duì)點(diǎn)協(xié)議;
- CoAP協(xié)議是如何工作的?
(1)CoAP如何定位資源?
與HTTP協(xié)議類似:
使用coap://[IP Addr]:5683/sensors/temp;
使用coap://[IP Addr]:5684/sensors/temp;
同樣地,使用的請(qǐng)求方法:GET\\POST\\PUT\\DELETE。
(2)CoAP協(xié)議能夠保證消息可靠傳輸嗎?
CoAP協(xié)議有4種消息:Confirmable Message(可確認(rèn)消息)、Non-confirmable Message(無(wú)法確認(rèn)的消息)、Acknowledgement Message(確認(rèn)信息)、Reset Message(重置消息)。
CoAP協(xié)議通過(guò)可確認(rèn)消息和確認(rèn)信息來(lái)保證消息可靠傳輸。
(3)CoAP協(xié)議如何保證傳輸數(shù)據(jù)的安全性?
CoAP使用數(shù)據(jù)包傳輸層安全性協(xié)議DTLS來(lái)保證傳輸數(shù)據(jù)的安全。DTLS是基于SSL TLS協(xié)議架構(gòu)上的擴(kuò)展。
- 測(cè)試CoAP協(xié)議的開(kāi)源工具有哪些?
開(kāi)源工具有:瀏覽器Chrome插件Copper、coap-cli、libcoap。其中,libcoap是一個(gè)優(yōu)秀的開(kāi)源項(xiàng)目,使用C語(yǔ)言實(shí)現(xiàn)(https://github.com/obgm/libcoap)。
-
協(xié)議
+關(guān)注
關(guān)注
2文章
602瀏覽量
39225 -
設(shè)備
+關(guān)注
關(guān)注
2文章
4509瀏覽量
70645 -
CoAP
+關(guān)注
關(guān)注
0文章
10瀏覽量
10594
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論