This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

OpenThread: Connecting Thread Devices to Internet

Hi,

I am trying to do a quick PoC to connect some thread nodes to the cloud through a BorderRouter(RPi3b+ running Nordic Border Router, connected to a router using LAN Cable).

The devices needs to communicate with the Cloud to send and recive messages with the following conditions:

  1. The router that's providing internet to the Border Router may or may not support IPv6. It may ONLY support IPv4.
  2. Even if the router assigns IPv6, it may not be < /64 prefix.

Given these conditions, can you please answer the following:

  1. Will it be possible to connect the nodes(SED, MTD, FTD) to the internet to send/receive data from the cloud?
  2. Can the cloud communication happen if the ISP don't support IPv6?

Are there any examples in the SDK to show how this can be achieved?

Parents
  • Hi

    1. That depends if you hav IPv6 connectivity to the end nodes or not. We have two Cloud examples in the Zigbee & Thread SDK. We have the Thread Google Cloud Platform CoAP example and the Thread thethings.iO Cloud CoAP client example. Both of these work over IPv4, but only sends requests to the Cloud. This means that the nodes can POST/PUT data to the Cloud server and GET data from the Cloud, but the Cloud can't send data to the nodes on its own initiative.

    2. If you have native IPv6 connectivity with a large enough subnet to the border router for it to furher continue the subnet down to the requirements in Thread/64 prefix address space. Then each node will receive a global unique IPv6 address that the cloud can use to send data to. Without IPv6 connectivity, the communication will go through the NAT64 protocol, which translates IPv6 packets to IPv4 packets and vice versa. There's also a NAT46 protocol that can help with data the other way (cloud to node), but this is not supported in the Border Router solution we provide.

    Best regards,

    Simon

Reply
  • Hi

    1. That depends if you hav IPv6 connectivity to the end nodes or not. We have two Cloud examples in the Zigbee & Thread SDK. We have the Thread Google Cloud Platform CoAP example and the Thread thethings.iO Cloud CoAP client example. Both of these work over IPv4, but only sends requests to the Cloud. This means that the nodes can POST/PUT data to the Cloud server and GET data from the Cloud, but the Cloud can't send data to the nodes on its own initiative.

    2. If you have native IPv6 connectivity with a large enough subnet to the border router for it to furher continue the subnet down to the requirements in Thread/64 prefix address space. Then each node will receive a global unique IPv6 address that the cloud can use to send data to. Without IPv6 connectivity, the communication will go through the NAT64 protocol, which translates IPv6 packets to IPv4 packets and vice versa. There's also a NAT46 protocol that can help with data the other way (cloud to node), but this is not supported in the Border Router solution we provide.

    Best regards,

    Simon

Children
Related