Mesh Networks
There are two open source mesh networks we have experience with: Meshtastic and MeshCore. They both use LoRa technology. LoRa radio technology is low power (1 watt or less) and long range (miles) and line-of-sight. It is also very slow - text messages, not images; certainly not voice.
Both meshes run on the same inexpensive hardware. Both run without any reliance on the internet. The difference is in architecture.
Meshtastic is the older network. Meshtastic used "controlled flooding" protocol. Every client in a Meshtastic network can retransmit messages it receives from other nodes. This makes the network immediately resilient. 100 people hiking in the woods can use Meshtastic nodes to keep in touch. It is a fire-and-forget network; if your node is not connected when a message comes by, you miss it.
MeshCore has three kinds of nodes: companion, repeater, room-server. All three will run on the same hardware platforms. A companion node is one you carry with you - a leaf node. Companion nodes do NOT repeat messages. A repeater node, well, repeats messages. That's all it does. A MeshCore mesh requires repeaters to be in positions where they can communicate with other repeaters to spread out messages they receive from companions. MeshCore's room-server has a special task - it hosts an access controlled chat room. Companions can log-in to a room-server and leave messages for others to read.
The same hardware devices support Meshtastic and MeshCore.
Because Meshtastic devices are both client and repeater, people often carry them around and the mesh is constantly reforming. This is great when you are out in the wilds. When you are in a dense urban area all the messages advertising nodes can clog the mesh.
MeshCore repeaters are dedicated devices so they tend to stay in one place. This makes the MC mesh more stable topologically. A reply to a message that goes from router x to y to z can use the return path of z to y to x. There is no need to flood every message. This keeps utilization lower.
