1

我对 IoT 协议栈有疑问。在谷歌学者或 IEEE 关于物联网的论文之间搜索,我发现实际的“物联网协议堆栈”: 物联网堆栈 我认为它是不正确的。疑问在于传输层和应用层。

1)如果物联网有许多其他应用层协议,例如:MQTT,XMPP,AMQP,WebSockets等,为什么应用层只有CoAP?

2)如果上层(应用程序)在物联网环境中有一些重要的协议(例如MQTT)运行在TCP上,为什么它们只在传输层提供UDP?

4

1 回答 1

1

“物联网”一词被不同的利益集团以不同的含义使用;因此,术语“物联网堆栈”也是如此。

链接图像所描绘的是 IETF IoT 堆栈,这是 IETF 对物联网设备应该使用什么来配得上这个名称的想法。CoAP 是 IETF 指定的应用协议(并被 OMA LwM2M、OCF 或 Thread 等其他各种使用),根据我的经验,它是最适合的协议,因为它允许在微型设备上完全运行(技术上:根据RFC 7228的 0 类-祝你好运实现 XMPP、WebSockets 或类似的),同时仍然足够强大来表达来自 HTTP 网络的所有概念。

仅描绘 UDP 的图像可能是由于对 IoT 设备的关注:虽然 CoAP 可以通过多个传输层(包括 TCP 和 WebSockets,但草稿版本中的 SMS)传输,但这些传输是间接使用的(例如,由使用网关与 UDP 连接设备通信的浏览器应用程序),设备本身的预期场景是在 6LoWPAN 网络上使用 CoAP over UDP。这并不排除其他部署场景(例如,LwM2M 在蜂窝网络上大量使用 CoAP,在 UDP 和 TCP 传输中),但最好将其视为最小设备的典型示例。

于 2019-03-08T08:22:10.403 回答