几年前,我做了一个工作的原型项目,该项目利用了约束应用协议(CoAP)通过网状网络与Arduino板进行通信,但是由于设备的严重缺乏安全性,我们对该项目施加了压力。我们最终放弃了CoAP,而将我们的项目迁移到了能够满足我们需求的内部协议中。随处可见,但我很好奇是否有人在任何产品中实际使用CoAP。

评论

CoAP有DTLS,您尝试过吗?

抱歉等待,刚刚看到您的评论。是的,我确实曾经在CoAP还很年轻的时候就为CoAP开发了最早的DTLS实现之一。当时的问题是DTLS是有状态协议,而CoAP是无状态的。跟踪DTLS会话的唯一方法是在CoAP和DTLS之间添加一个桥接层,以使DTLS会话保持活动状态并跟踪它所属的设备,即使没有CoAP活动(合理,但易于会话劫持),或者为每个CoAP请求创建一个新的DTLS会话(大量开销,并且确实很慢)。

过去几年来,我一直没有跟上CoAP或DTLS的发展,所以我不知道自从我上次碰到这些问题以来,是否有人解决过这些问题(希望如此)。

#1 楼

您发现实施很少的原因很可能是因为CoAP是一个相对较年轻的协议。它于2010年首次提出,当前版本可追溯至2014年:RFC7252。对于应用程序级协议,流行的替代方法是HTTP(对于受约束的设备来说很重)和MQTT(需要代理)设备并在TCP上运行。自90年代末以来,他们俩一直存在。我认为CoAP只需要一些时间。

评论


约束设备的替代方案是MQTT的更轻量级版本:通过UDP运行的MQTT-SN

– xwoker
18年7月23日在7:14