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

Disable forwarding of Thread messages

Hello

Within my Thread network, I have a lot of Thread devices (with a lot of routers). Every now and then I need to multicast data to the whole network (I use the address ff03 :: 1).

My problem is that the message is replicated by all devices in the network, unnecessarily saturating the network with the same message ...

My question is therefore: is it possible to prevent certain devices from retransmitting what they receive?

Thank you

  • Hello,

    If you want the nodes to not relay multicast messages, you need them to not be routers. You can't disable relaying messages on Routers. 

    Is it a problem that the routers relay the messages? It is a point that routers keep several routes between other routers so that the network can heal if a router is lost. 

    Best regards,

    Edvin

  • Hello Edvin,

    In fact, I can have up to 20 devices in the same room (so theoretically within range of each other). Each device sends its data to the Thread network every 5 seconds so that all other devices can retrieve this information. So the problem I have is that the data sent by each device is duplicated by all other devices. The network is therefore unnecessarily congested ...
    Also, in my application, devices in other rooms will also send their data and this data will have to be retrieved by all devices on the network.

    I would like the user not need to have to configure the network saying which device is a router and which is not. So all devices should be able to become a router.

    To avoid having so many unnecessary messages circulating in the network, do I have to define End Devices or is there another way? Also, is it possible to limit the number of messages transmitted by a device (when I do tests, I notice that each device sends the same message at least 3 times each time (it sends its message in multicast and then several times the same message in retransmission))?

    Thank you

  • Unfortunately, it is not possible to control the hop limit value on the mesh layer, and that is defined by the openthread specification. It is not possible to change this. An openthread network will try to keep the number of routers between 16 and 23. If a REED (a node that is capable of being a router) connects to the network and it is less than 16 routers, it will be promoted to a router. If there are 16 routers already, it may not be promoted to a router. 

    Unfortunately, these low power networks are not created for throughput. Typically, the worst case is everyone reporting to everyone periodically. Perhaps you can do something different? All devices can report to one device (a gateway?) and this device can update the data and publish it to everyone. This way you don't have the everyone sends to everyone scenario.

    Best regards,

    Edvin

Related