上下文:每个客户在 NAT 后面可以有 100-1000 个物联网设备。我们有多个客户。目的是从外部管理这些设备。设备使用 CoAP 协议,默认使用 udp。
限制很少。
- 无法激活端口转发。
- 无法打开 VPN 连接。
- IoT 设备的本地网络无法进行任何更改。
问题
我们想随时从外部打开与设备的连接。但是有 NAT 阻止它。
选项
据我了解,设备必须打开初始请求才能进行通信。
以下哪个选项是关于可扩展性和效率的最佳选项?
- 每个节点发送 udp ping 以保持 NAT 连接打开。
- 每个节点使用 TCP 并发送 keepalive 以保持 NAT 连接打开。
- 每个节点与 udp 通信到 NAT 后面的本地代理。代理执行从 coap 到 http 的映射。代理使用 TCP 建立与服务器的连接,并发送 keepalive 以保持 NAT 连接打开。
- 与选项 3 相同,但本地代理使用 WebSocket 而不是普通 TCP。
非常感谢