CoAP协议是什么?

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)。

生产流水线安灯(andon)系统是车间现场管理的必备工具
全球最大10家车规MCU厂商实力对比
传感器怎样保护桥梁安全
微软宣布收购Affirmed Networks 拟布局5G技术和边缘计算业务
雅特生科技的全新 MaxCore HA 平台可将NFV C-RAN/vRAN网络的铺设成本减少75%
CoAP协议是什么?
索尼新一波数码相机攻势或将在6月到来
thx203h应用电源电路图
锂硫电池的发展历程及发展前景
Cortex-M4替代Cortex-M3即将上演
小米计划明年智能手机出货量2.4亿部
终于等到你!10.5寸iPad Pro现身 或将WWDC大会发布!
华硕服务器支持NVIDIA Tesla GPU AI人工智能解决方案
oracle数据库的基本操作
2011年半导体产业资本支出创最高纪录
重磅!正能量电子网发布第四届元器件分销大数据报告,2020千人峰会盛大开幕
新款的AirPods将会加入防水防尘、主动降噪,纯黑配色等新特性
美国开发出一种新型阴极和电解质系统 有望改善锂离子电池
iphone8什么时候上市?iphone8最新消息:iphone8发布在即,台湾代工厂爆料!证实下一代iPhone 8将具备无线充电功
不了解?行业高峰论坛:是4项大奖得主