Hi,
As we know,we can modify the Mesh params though the config model, but when we actually installing and deploying ,If we want to improve the reliability of the Mesh network, how should we modify the specific parameter values?
Thanks!
Hi,
As we know,we can modify the Mesh params though the config model, but when we actually installing and deploying ,If we want to improve the reliability of the Mesh network, how should we modify the specific parameter values?
Thanks!
Hi,
I am afraid there is no silver bullet. Best values for those parameters depend on network topology, traffic volumes, responsiveness and desired reliability. The environment for the particular network is also a factor, e.g. is there a lot of RF noise that leads to higher packet losses / shorter range? For the SDK examples we are using default values that we have found to be good for our testing, but your mileage may vary if the network and environment is sufficiently different.
For identifying what parameters to change, and to what values, it is best to test a network in the kind of environment it will be in. Preferably the real network in the real final environment. There are a few things to keep in mind:
TTL should reflect the worst case number of hops needed for packets to reach the destination. You may decide that for some scenarios it is OK for packets not to get through, and set TTL accordingly. Note that a relay node only initiates relaying of packets it has not received before. That is, every packet it successfully receives at least once, it will relay exactly "Relay Retransmit" times. This means for some networks the impact of a "too high TTL" may be smaller than one would think, as all TTL values above a threshold will propagate once through the entire network regardless. Of course for models where nodes in close proximity of each other communicate, low TTL may prevent packets to propagate through the whole network, and thus lead to less congestion overall.
Which nodes have the Relay feature enabled and which nodes do not, is a tradeoff. Many relay nodes means more redundancy and more paths for packets to propagate. It also means higher risk of packet collision / congestion. There is a sweet spot, depending on network, environment, and your requirements.
Relay Retransmit: Similar concerns as for number/density of Relay nodes. How many times a relay node shall retransmit received packets whose TTL is not depleted.
Network Transmit: This is the setting for number of repeats for messages originating from the node. Similar considerations as for Relay Retransmit.
So in summary, use the default values from our SDK initially. If that does not give the wanted reliability it is a question of testing and tweaking, keeping in mind how parameters affect the workings of the network, until you have the desired result.
If you have a particular network that you would like to improve, give us a description and we may have some suggestions for what to try.
Regards,
Terje
Hi,
I am afraid there is no silver bullet. Best values for those parameters depend on network topology, traffic volumes, responsiveness and desired reliability. The environment for the particular network is also a factor, e.g. is there a lot of RF noise that leads to higher packet losses / shorter range? For the SDK examples we are using default values that we have found to be good for our testing, but your mileage may vary if the network and environment is sufficiently different.
For identifying what parameters to change, and to what values, it is best to test a network in the kind of environment it will be in. Preferably the real network in the real final environment. There are a few things to keep in mind:
TTL should reflect the worst case number of hops needed for packets to reach the destination. You may decide that for some scenarios it is OK for packets not to get through, and set TTL accordingly. Note that a relay node only initiates relaying of packets it has not received before. That is, every packet it successfully receives at least once, it will relay exactly "Relay Retransmit" times. This means for some networks the impact of a "too high TTL" may be smaller than one would think, as all TTL values above a threshold will propagate once through the entire network regardless. Of course for models where nodes in close proximity of each other communicate, low TTL may prevent packets to propagate through the whole network, and thus lead to less congestion overall.
Which nodes have the Relay feature enabled and which nodes do not, is a tradeoff. Many relay nodes means more redundancy and more paths for packets to propagate. It also means higher risk of packet collision / congestion. There is a sweet spot, depending on network, environment, and your requirements.
Relay Retransmit: Similar concerns as for number/density of Relay nodes. How many times a relay node shall retransmit received packets whose TTL is not depleted.
Network Transmit: This is the setting for number of repeats for messages originating from the node. Similar considerations as for Relay Retransmit.
So in summary, use the default values from our SDK initially. If that does not give the wanted reliability it is a question of testing and tweaking, keeping in mind how parameters affect the workings of the network, until you have the desired result.
If you have a particular network that you would like to improve, give us a description and we may have some suggestions for what to try.
Regards,
Terje