Skip to main content

Please note that u‑blox no longer supports Internet Explorer.

We recommend using the latest version of Google Chrome or Firefox.

Ok

物联网通信的 IP 与 CoAP

CoAP

连接技术迅速发展并导致物联网 (IoT) 的诞生,其中数十亿智能互联传感器、执行器和系统都需要支持实时数据处理和分析,使您能够更好地控制周围的环境。

但是,随着这些数字的增长,当两大关键互联网相关挑战(需要在不充电的情况下运行低功耗网络数年,以及通过有损网络频繁地交换数据)意味着使用标准互联网协议 (HTTP) 时,正如 Mindtree Research 简明地指出的那样,“不是理想的,也不是最佳的”,如何让这些不同的系统实现标准化和无缝协作。

简而言之,物联网不是万维网 (Web)。Web 要求信息源具有明确的来源,其中 Web 服务器将信息传递到浏览器。但是,物联网将设备连接到软件和服务,终端设备(而不是浏览器)是传感器或执行器,这意味着客户端和服务器的传统 Web 映射是反转的。

CoAP
互联网工程任务组 (IETF) 受限 RESTful 环境 (CoRE) 工作组负责标准化工作,并为这些电池功率和处理功率有限的物联网/M2M 应用定义基于 REST 的 Web 传输协议。结果是受限应用协议 (CoAP) - 您可以在此处查看 RFC7252 协议规格

CoAP 协议与 HTTP 非常相似,并且包含多种 HTTP 功能,但经过重新设计(而不仅仅是压缩)会考虑这些设备的限制;应用层协议在 UDP/IP 传输层上运行,具有 6LoWPAN 网络层和 802.15.4e 链路层。结果是一种使用较小数据包的协议,具有更高的简单性和更小的占用空间。但重要的是,该协议还设计为可轻松转换为 HTTP,从而简化与 Web 的集成。

IP vs CoAP

通过 CoAP 交换
如同 HTTP,CoAP 支持内容协商,其接受选项提供资源的首选用途,而服务器响应通知客户端的内容类型选项。因此如同 HTTP,客户端和服务器也可以单独发展,而不会影响其他客户端和服务器。

与 HTTP 不同,CoAP 在 UDP 传输层上异步处理这些交换,这是通过以逻辑方式使用支持可选可靠性的消息层(采用指数回退)来实现的。

协议通过实施两种形式的消息请求来平衡 QoS 和资源:“可确认”和“不可确认”。可确认消息必须由接收者用 ack(确认)数据包确认,而不可确认消息仅被归类为“触发并忘记”。

在安全方面,虽然 CoAP 不能使用 SSL/TLS 提供安全(因为这需要 TCP 传输层),但可以使用通过 UDP 运行的 DTLS(数据报传输层安全标准),这可提供与 TLS 相同的保证。具有 DTLS 功能的 CoAP 设备通常支持 ECC 和 AES 或 RSA 和 AES 。

CoAP 采用
CoAP 已有开放源代码库和实施,以及操作系统和应用框架,例如 mbed 由 ARM 提供并由包括 u‑blox 在内的大型供应商生态系统提供支持。采用工作进展顺利,尤其是通过开放移动联盟 (OMA) 轻型 M2M (LWM2M) 配置文件,该配置文件指定了一组通用接口和数据模型,并在本地或远程服务与 CoAP 设备之间实现即插即用互操作性。这提供了必要的设备管理功能,如空中 (OTA) 固件升级。

除了 LWM2M,OneM2M(另一个涵盖设备管理以及现场部署设备与云端服务器上运行的应用之间的数据交换的 IoT/M2M 标准)也宣布将 CoAP 与 HTTP 和 MQTT 协议结合使用的规定。

最后,一些蜂窝网络运营商已经表示有兴趣将 LWM2M 用于智能表计等应用。

后续步骤
CoAP 将帮助最大限度地降低云设备连接的成本,使物联网设备能够经济高效/安全地远距离发送数据,同时只消耗极少的功率。

IETF 目前正在寻求定义其他功能,例如发布和订阅类似于 MQTT 的工具,改进的安全性,通过 TCP 使用 CoAP,以及当前定义的 UDP 。

工业的进步也在继续,公司通过向更广泛的发展社区开放数据来补充标准小组的工作。显然,其中一个重大挑战是将此数据转换为标准的规范化格式,并且需要将其转换为通用格式,但这也已开始进行。

我们已经在努力创建广泛适用的规则引擎和实现工具。