CoAP协议是什么?

描述

  1. 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)同步处理这些交换。

  1. 为什么会有CoAP协议?

计算机网络中,网络设备的资源都是相对充足的,传输层使用的是TCP协议,应用层使用的是HTTP协议,该协议构建在REST架构之上。

物联网中,网络环境通常是不稳定的,采集数据的传感设备资源往往是有限的,使用HTTP协议显然是不合适的。

那么,就需要在受限制的物联网环境中,实现类似HTTP协议却使用极少资源且用于M2M通信的应用层协议。

CoAP协议因此而诞生。

从产生的原因中,不难看出:

(1)CoAP协议使用请求/响应模型,能够双向通信;

(2)CoAP协议是Client和Server之间的点对点协议;

  1. 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协议架构上的扩展。

  1. 测试CoAP协议的开源工具有哪些?

开源工具有:浏览器Chrome插件Copper、coap-cli、libcoap。其中,libcoap是一个优秀的开源项目,使用C语言实现(https://github.com/obgm/libcoap)。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分