具有 CoAP 和 NAT 穿越的物联网设备

问题描述 投票:0回答:2

上下文:每个客户可以在 NAT 后面拥有 100-1000 个 IoT 设备。我们有多个客户。目的是从外部管理这些设备。设备使用 CoAP 协议,默认使用 udp。

限制很少。

  • 无法激活端口转发。
  • 无法打开 VPN 连接。
  • 无法对物联网设备的本地网络进行任何更改。

问题 我们希望随时从外部打开与设备的连接。但 NAT 阻止了它。

选项 据我了解,设备必须打开初始请求才能进行通信。

以下哪一项是就可扩展性和效率而言最好的选项?

  1. 每个节点发送 udp ping 以保持 NAT 连接打开。
  2. 每个节点使用 TCP 并发送 keepalive 来保持 NAT 连接打开。
  3. 每个节点都通过 udp 与 NAT 后面的本地代理进行通信。代理执行从 coap 到 http 的映射。代理通过 TCP 建立与服务器的连接,并发送 keepalive 以保持 NAT 连接打开。
  4. 与选项 3 相同,但本地代理使用 WebSocket 而不是普通 TCP。

非常感谢

tcp iot nat coap
2个回答
1
投票

LWM2M 的官方答案是排队模式,请参阅 https://www.slideshare.net/OpenMobileAlliance/oma-lwm2m-tutorial-by-arm-to-ietf-ace 的幻灯片 30 或 https 的幻灯片 19 ://mbed-media.mbed.com/filer_public/c1/c3/c1c35bec-5f0e-4a28-a422-115248c9a181/armmbed-lwm2m-webinar.pdf了解更多信息。因此,建议的解决方案未在上面的 1. 至 4. 中列出,而是使用 LWM2M 协议以注册更新的形式发送“ping”。

从安全角度来看,如果您部署到公共互联网,我建议:

a) 您必须使用 DTLS

b) 您应该支持设备固件更新,并能够非常快速地部署带补丁的新固件。

个人观点:LWM2M 从设计上就被打破了,因为它从物联网设备是服务器的(错误)想法开始。


0
投票

你应该尝试MQTT,更容易使用,没有NAT/经典防火墙问题,所有最近的材料都包括它。 MQTT + LoRaWAN 或 DASH7 可以通过网关实现。

© www.soinside.com 2019 - 2024. All rights reserved.