具有CoAP和NAT遍历的物联网设备

时间:2017-10-04 18:10:39

标签: tcp iot nat coap

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

限制很少。

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

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

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

关于可扩展性和效率,以下哪个选项最佳?

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

1 个答案:

答案 0 :(得分:1)

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

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

a)你必须使用DTLS

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

个人观点:LWM2M在设计上被打破,从(错误的)IoT设备是服务器的想法开始。