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

Tcp 具有CoAP和NAT穿越的物联网设备,tcp,iot,nat,coap,Tcp,Iot,Nat,Coap,上下文:每个客户可以在NAT背后拥有100-1000台物联网设备。我们有多个客户。目的是从外部管理这些设备。设备使用CoAP协议,默认情况下使用udp 几乎没有限制 无法激活端口转发 无法打开VPN连接 物联网设备的本地网络不可能发生任何变化 问题 我们希望随时从外部打开与设备的连接。但是NAT阻止了它 选项 据我所知,设备必须打开初始请求才能进行通信 关于可扩展性和效率,以下哪个选项是最好的? 每个节点发送udp ping以保持NAT连接打开 每个节点使用TCP并发送keepalive以保

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

几乎没有限制

  • 无法激活端口转发
  • 无法打开VPN连接
  • 物联网设备的本地网络不可能发生任何变化
问题 我们希望随时从外部打开与设备的连接。但是NAT阻止了它

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

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

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

  • 非常感谢

    LWM2M的官方答案是排队模式,有关详细信息,请参阅的幻灯片30或幻灯片19。因此,建议的解决方案未列在第1项下。到4。但使用LWM2M协议以注册更新的形式发送“ping”

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

    a) 您必须使用DTL

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


    个人观点:LWM2M被设计打破是因为IoT设备是服务器这一(错误的)想法。为什么你说“LWM2M被设计打破是因为IoT设备是服务器这一(错误的)想法”?OMA规范指出LwM2M客户端是驻留在LwM2M设备中的逻辑组件。因此,设备有一个LwM2M客户端,而不是LwM2M服务器。OTOH,因为CoAP可以这么说。CoAP假设设备是服务器端。@yeniv我知道的所有LWM2M项目(包括OMA测试Fest)都有一个设置,其中IoT设备在端口上“侦听”以接收传入数据。从纯技术的角度来看,我称之为“服务器”。请注意,这也是上述原始问题的根本原因。我假设您所指的文档使用了与“服务器是一台大计算机”中不同的服务器含义。@StefanVaillant我同意您的观点,即考虑将任何设备作为“服务器”进行侦听。我的建议是不要尝试将LwM2M安装到客户机-服务器模型中。将其视为对等点,其中任何设备都可以是服务器和客户端。如果我们试图将设备映射为物联网上下文中的服务器和客户端,这将是一个瓶颈。只是我的想法。