network-programmingopenthread

How do you downstream data from Cloud to Thread?


I am new to openthread I have some interrogations about Thread device connectivity to cloud server.

Cloud server <------------> local internet <-----> Thread network

ipv4      Router(firewall)       ipv4       OTBR      ipv6

Our products (Thread network) will be built in clients networks which have various internet routeur/firewall and network configurations.

Using UDP(DTLS) to PUT/GET/POST... (CoAP) data on cloud server did you experience any issues with UDP timeout parameters ? Will I need to do hole punching to ensure cloud server can contact end device ?

As i understand it, from cloud server point of view, he can only Rest method on the Border Router CoAP server, as he don't know end device ipv6 and i don't plan to do port forwarding ?

Would allowing cloud server to contact specific thread end device require ipv6 tunnel ?

To finish, if im spouting nonsense, please enlight me about how you build your connection with cloud server :) !

Thank you for reading this post, I hope I was clear.

Best,


Solution

  • Let me try to sort some things.

    There are two general approaches:

    The first approach will end up in a lot of traffic just to keep the NAT open. The seconds requires either a lot of configuration or a "coap-proxy", where I'm not sure, if you can find a proper implementation.

    (By the way, the router may have only a temporary fixed ip-address, e.g. one change peer day. So the second approach requires rare updates of the router's address in your cloud server. And sure, there are some Internet provider, which doesn't offer that your router is reachable, because they add a extra NAT.)