Meshtastic Video - Flood Routing Explained & Updates!

We’ve got a new video on our YouTube channel! If you have not yet, please click the subscribe button. It really helps get the world out.

Here’s a non technical explanation of our flood routing algorithm and the changes we’ve built in for Meshtastic 1.3/2.0.

8 Likes

Great video - this helps me wrap my brain around the packet routing concepts.

Here’s the setup path I’ve been planning:

  • I will have one node inside my house that is connected to my phone using Bluetooth or Wi-Fi
  • I will have another node outside my house up on the roof - this will be setup in router mode. The only thing the inside node needs to see is this router node.

My friend lives 4 miles away, and he would have the same setup. Ultimately, we just want the two inside nodes to be able to reliably send messages back & forth.

The messages are limited to three hops, right?
Hop1 MyInsideNode to MyOutsideRouter
Hop2 OutsideRouter to HisOutsideRouter
Hop3 HisOutsideRouter to HisInsideNode

Am I thinking about this correctly?

The first hop doesn’t count the device that originates the message. In your description, it goes to your roof, and then your friends roof. You’ve got just two hops.

You can also configure packets to hop up to seven times. Documentation on how to do that is on our website. It’s best to leave it at the default.

1 Like

Got it - thank you! Would it be possible in a future release to specify a preferred router that a node could use? That way, going back to my example above, my buddy and I would be able to force the inside nodes to use the router on our respective roofs? The auto-routing is cool, but there could be times where you want to control the route a little.

We use a flood routing mechanism, so there’s no concept of routing tables like in regular IP based networking.

The best is to (When 1.3/2.0 is out the door) configure the roof nodes to have the role of a router and that’ll make those the preferred route for a hop.

1 Like

Ok, will-do. Thanks for the replies.

Thank you for the nice clip.

How will “distance” between nodes be determined in this future routing update ?
Is this a GPS position distance ? A radio ping distance ? A network graph distance ?

Cheers

Using mostly SNR but throwing in a little RSSI for a small edge case.

So, it’s not true distance but this way it also accommodates low signal cases.

Thank you for the clarification. Can’t wait to try it.
Is there some page where I can read about the hop limit rational please ? I am curious about the design. I guess each node keeps a sort of record of transmitted message-ids, so that there is no issue with network self-echoing itself. With proper graph nodes clock synchronization (which seems necessary in the upcoming routing design to favor remote nodes first), why is it still important to limit graph propagation to 3 hops ? Thank you.

Cheers.

Without the hop limit, a packet will be repeated by every node without limit. That’ll quickly use up all the capacity on the network.

Thank you. This answer means that I do not understand properly yet how meshtastic propagation operates. If there is some recommended reading about the propagation protocol, please advise. Thank you.

We have this:

It needs to be updated for the changes in 1.3 and we yanked out the “DSR” that it references.

Our implementation is not unique. Search for “mesh flood routing” into google and you’ll find several examples of what we do.

1 Like