# Why MeshCore Scales Better Than Flooding

Understanding the difference between MeshCore's flood-first, direct-route-after routing and Meshtastic's flood routing explains why the two protocols behave differently in large networks.

## Flood Routing (Meshtastic)

- In a managed flood, each relay rebroadcasts each new message once — duplicates are suppressed (a node will not re-send a message it has already seen), and non-relay roles do not rebroadcast at all.
- Air time consumed grows with every additional relay node.
- Channel utilization increases as the network grows - more nodes means more congestion.
- Works well in small networks; degrades in large or dense deployments.

## Flood-First, Direct-Route-After Routing (MeshCore)

- The first message to a destination is flooded (and the path is learned as a byproduct); subsequent unicast messages follow the learned path, so only nodes on that path retransmit them.
- Air time per unicast message is bounded once a path is known.
- For stable links carrying repeat unicast traffic, established paths reduce retransmissions over time. Under mobility or link churn, paths break and the sender re-floods to re-learn them, which can increase traffic — the quieting effect is not guaranteed.
- Targeted unicast forwarding avoids the per-message flooding cost, but advertisements and group/broadcast traffic still flood and grow with network size. Real-world scaling depends heavily on topology stability and broadcast volume; no specific large-network guarantee is implied.

## Side-by-Side Comparison

<table id="bkmrk-attributemeshcore-%28p"> <thead><tr><th>Attribute</th><th>MeshCore (flood-first, direct-route-after)</th><th>Meshtastic (flooding)</th></tr></thead> <tbody> <tr><td>First message to unknown node</td><td>Floods (once)</td><td>Floods (always)</td></tr> <tr><td>Subsequent messages to known node</td><td>Path-only retransmissions</td><td>Floods (always)</td></tr> <tr><td>Congestion as network grows</td><td>Lower for repeat unicast; group/broadcast still floods</td><td>High - grows with nodes</td></tr> <tr><td>Average power per message at scale</td><td>Lower</td><td>Higher</td></tr> <tr><td>Group / broadcast messages</td><td>Flood</td><td>Flood</td></tr> <tr><td>Route failure recovery</td><td>On repeated ACK failure the path is reset to flood, and the next message re-discovers a route (the exact retry count is firmware/config dependent). Each recovery incurs a full flood, briefly increasing channel load.</td><td>N/A - always floods</td></tr> </tbody></table>

## Practical Implications

- **Power consumption** - Infrastructure repeaters on MeshCore consume less power per forwarded unicast message at scale because they are silent when not on an active path.
- **Frequency reuse** - Less channel congestion from repeat unicast traffic means the same frequency can support more simultaneous conversations.
- **Latency** - Once a path is established, latency is lower than re-flooding each message, but it still varies with channel congestion, half-duplex contention, duty-cycle limits, and hop count, and resets to a full re-discovery delay whenever a path breaks. Do not assume consistent or bounded latency.
- **Dense deployments** - In city-wide or event-scale deployments, MeshCore's targeted forwarding reduces the broadcast-storm pressure that can make large Meshtastic networks unreliable, though group/broadcast traffic still floods.