0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“不会过时”的协议?CoAP与其他协议相比有何不同?

亿佰特物联网应用专家 2023-10-20 08:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是CoAP协议?

CoAP(Constrained Application Protocol,受限应用协议)是一种专为物联网IoT)设备和资源受限网络设计的应用层协议。它的诞生也是由于物联网设备大多都是资源限制型的,比如 CPURAM、Flash、网络宽带等;对于这类设备来说,想要直接使用现有网络的TCP和HTTP来实现设备信息交换是不现实的,为了让这部分设备能够顺利接入网络,CoAP 协议因此诞生。

8e1c37c2-6ede-11ee-9788-92fbcf53809c.png

如上图所示,CoAP协议是一个应用层协议,基于传输层UDP而开发,而MQTT/HTTP协议则是基于TCP开发的。它采用了与HTTP类似的特征,同时又弥补了UDP传输的不可靠性。对于物联网小型设备而言,CoAP协议是一个极佳的选择,CoAP这种轻量级协议可以很好地适配资源受限的设备和场景。

CoAP协议特点

CoAP 参考了很多 HTTP 的设计思路,同时也根据受限资源限制设备的具体情况改良了诸多的设计细节,增加了很多实用的功能。以下是关于其特点的简易介绍。

(1)轻量级

CoAP协议的设计非常简单,使用的头部和选项字段较少,占用的网络带宽和资源较少。这使得它非常适合在资源受限的设备和网络中使用。

(2)基于UDP

CoAP通常在UDP上运行,而不是TCP。这使得它更适用于无连接、低延迟和高效率的通信。此外,CoAP还支持对消息的可靠性传输,通过CoAP的CON(Confirmable)和ACK(Acknowledgment)消息。

8e33692e-6ede-11ee-9788-92fbcf53809c.png

CoAP传输

(3)RESTful架构*

CoAP采用RESTful架构风格,使用类似于HTTP的请求-响应模型。它支持GET、POST、PUT和DELETE等常用的HTTP方法,以进行资源的读取、创建、更新和删除。

RESTful架构*:REST(Representational State Transfer)是一种设计风格而不是标准,如果一个架构符合REST原则,我们就称它为RESTful架构,REST可以直译为表现层状态转化,表现层其实指的是资源的表现层。

(4)低能耗和低带宽消耗

CoAP协议针对资源受限设备和网络进行了优化,具有低能耗和低带宽消耗的特性。它使用了一些机制,如观察(Observing)和分组(Grouping),以减少通信的开销。

(5)资源标识符

CoAP使用统一资源标识符(URI)来标识资源,这样客户端可以通过URI来定位和操作特定资源。这与HTTP的URL类似。

(6)支持IP多播

允许一对多的通信,这对于物联网中的多个设备同时接收更新非常有用。

8e4181a8-6ede-11ee-9788-92fbcf53809c.png

一对多通信

(7)可靠性

CoAP协议支持可靠传输,通过使用重传和确认机制来确保消息的可靠传递。

(8)安全性

CoAP协议可以与DTLS(Datagram Transport Layer Security)结合使用,提供端到端的安全性。DTLS是基于UDP的安全传输协议,用于保护CoAP通信的机密性和完整性。

8e52d188-6ede-11ee-9788-92fbcf53809c.png

CoAP与DTLS结合

(9)自定义选项

CoAP允许在消息头中包含自定义选项,以满足特定应用的需求,这使得它非常灵活和可扩展。

CoAP协议 VS MQTT协议

CoAP和MQTT都是比较适合嵌入式设备的轻量级协议,以下是CoAP与MQTT协议的简单对比。

MQTT协议不支持带有类型或者其它帮助Client理解的标签信息,所有MQTT Client需要知道消息格式。而CoAP协议则恰恰相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。

MQTT是长连接而CoAP是无连接。MQTT Client与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。若是在NAT环境下使用CoAP,就需要采取一些NAT穿透性措施。

MQTT是多个客户端通过中央代理进行消息传递的多对多协议,即消息不是直接从客户端发送到客户端,而是由客户端发布到存储在 MQTT 代理中的主题,客户端可以通过订阅一个或多个主题来接收消息。CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议

CoAP协议的应用领域

CoAP协议几乎已在所有行业得到了广泛的应用,它提供轻量级、高效的方式来进行通信和控制,适用于各种资源受限的环境,方便我们的生活和工作。

如:CoAP被广泛用于连接和管理物联网设备,因为它轻量级且能够在受限的网络和资源条件下高效运行。这包括智能家居设备、传感器、智能城市系统等。医疗设备和健康监测系统可以使用CoAP进行数据传输和远程监控。这对于远程医疗保健和慢性病患者的远程监测非常有用。此外,在工业自动化、智能交通系统、农业和环境监测等场景,CoAP协议同样适用。

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

    关注

    2951

    文章

    48306

    浏览量

    420001
  • 协议
    +关注

    关注

    2

    文章

    620

    浏览量

    41289
  • 网络
    +关注

    关注

    14

    文章

    8392

    浏览量

    95754
  • CoAP
    +关注

    关注

    0

    文章

    11

    浏览量

    10960
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Modbus协议转换器什么功能和应用场景

    Modbus协议转换器是一种物联网设备,通过协议解析、数据格式转换和变量映射,实现Modbus协议(RTU/TCP)与其他工业协议(如OPC
    的头像 发表于 04-30 14:45 357次阅读
    Modbus<b class='flag-5'>协议</b>转换器<b class='flag-5'>有</b>什么功能和应用场景

    Modbus协议转换器是什么?什么推荐?

    。 一、Modbus协议转换器的技术本质 Modbus协议转换器是一种硬件或软件工具,其核心功能是将Modbus协议(RTU/TCP)与其他工业协议
    的头像 发表于 03-27 15:31 590次阅读
    Modbus<b class='flag-5'>协议</b>转换器是什么?<b class='flag-5'>有</b>什么推荐?

    MQTT协议为什么成为物联网协议

    不稳定环境下的通信需求。以下是具体分析: 1. 轻量级设计,适配资源受限设备 极简协议头 :MQTT协议头最小仅2字节,远低于HTTP(通常数百字节)或CoAP(虽轻量但基于UDP,可靠性较弱)。例如,传输一条包含少量数据的消息
    的头像 发表于 12-10 09:15 762次阅读

    无线充电标准哪些协议

    Qi标准推动无线充电普及,克服协议碎片化,促进行业统一与兼容。
    的头像 发表于 12-06 08:14 3467次阅读
    无线充电标准<b class='flag-5'>有</b>哪些<b class='flag-5'>协议</b>

    芯源MCU的外设接口哪些,如何与其他设备进行通信?

    武汉芯源MCU的外设接口哪些,如何与其他设备进行通信?
    发表于 12-05 06:12

    为什么会有TCP/IP协议

    的http、ftp、pop3协议等等。电脑了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。
    发表于 12-03 06:28

    什么是PD快充协议? 什么是QC快充协议? 这些快充协议都有哪些特点

    在充电技术里,协议是实现电子设备之间有效通信的关键,其中PD协议(Power Delivery)和QC协议(Quick Charge)是极为常见的充电协议,经常被标注在充电设备上,那么
    的头像 发表于 11-22 11:20 7441次阅读
    什么是PD快充<b class='flag-5'>协议</b>? 什么是QC快充<b class='flag-5'>协议</b>? 这些快充<b class='flag-5'>协议</b>都有哪些特点

    风机预警系统故障自诊断功能与其他监测系统的兼容性如何?

    风机预警系统故障自诊断功能与其他监测系统的兼容性,核心取决于数据互通能力、协议适配性、功能协同逻辑,目前主流系统通过标准化设计,已能实现与多数工业监测系统的兼容,但需在前期对接阶段明确接口、数据格式和协同规则,避免 “信息孤岛”。
    的头像 发表于 10-20 14:30 496次阅读
    风机预警系统故障自诊断功能<b class='flag-5'>与其他</b>监测系统的兼容性如何?

    什么是ANT+协议? 用途

    ,确保数据传输的安全性。 工作原理 :ANT + 设备通过唯一的网络 ID 进行识别,在设备发现阶段可以快速与其他设备配对。其数据传输基于时分多址 TDMA 技术,所有设备共享相同频率,但在不同时间片
    发表于 09-29 15:42

    Type-C PD快充诱骗协议芯片 支持PD+PPS+QC+AFC+FCP协议

    PD快充原理 充电器内部协议芯片,当外部设备连接时,设备会和充电器进行协议匹配,匹配成功之后,充电器才会输出相应的电压给设备供电,所以没有这个XSP18取电芯片,充电器就不会输出快充
    的头像 发表于 09-25 15:55 2108次阅读
    Type-C PD快充诱骗<b class='flag-5'>协议</b>芯片 支持PD+PPS+QC+AFC+FCP<b class='flag-5'>协议</b>

    协议解析网关是什么?什么功能?

    协议解析网关是一种位于不同网络或设备之间的中间件设备或软件系统,主要作用是解决不同通信协议之间的不兼容性问题。它能够接收来自不同设备或系统的数据包,识别其携带的协议格式(如Modbus、MQTT
    的头像 发表于 08-13 14:04 1131次阅读
    <b class='flag-5'>协议</b>解析网关是什么?<b class='flag-5'>有</b>什么功能?

    常见的工业自动化协议哪些?

    工业协议是连接构成工业控制系统的系统、接口和其他设备的实时通信协议。过去,此类协议旨在通过RS-232/485上的串行端口以9.6Kbps至38.4Kbps的低速进行通信。现在这种系统
    的头像 发表于 07-17 13:08 677次阅读
    常见的工业自动化<b class='flag-5'>协议</b><b class='flag-5'>有</b>哪些?

    与其他材料在集成电路中的比较

    与其他半导体材料在集成电路应用中的比较可从以下维度展开分析。
    的头像 发表于 06-28 09:09 2610次阅读

    工业物联网常见的协议哪些

    工业物联网常见的协议哪些
    的头像 发表于 06-14 15:52 1574次阅读

    NVMe协议研究扫盲

    /SAS SSD相比具有卓越的性能优势,云平台和数据中心已经开始为大量I/O密集型应用程序提供NVMe SSD。随着NVMe协议的不断完善,推出了NVMe-oF(NVMe over Fabrics)协议
    发表于 06-02 23:28