So I've been dabbling in the LoRa Mesh networking world for a few months. The meshnets are created between Long Range radios (LoRa), and there are two common protocols/software layers used: Meshtastic (MT) and Meshcore (MC) for basic text messaging. The radios use public frequencies (915 Mhz in the US) that can propagate over many kilometers if there is line-of-sight between two nodes. Generally the same hardware can be firmware flashed to support either option (but not both at the same time).
Meshtastic is the earlier version, and it is very much focused on a non-hierarchical network topology. With MT, every node is also a repeater/router. Now this can be configured in many different ways per device, but the main idea is that the meshnet is fluid and adhoc. This makes sense in some contexts like off-grid coordination, search and rescue in remote areas, stuff where the meshnet is made up of a small number of nodes that are mostly moving independently in a localized area.
Meshcore differently uses dedicated repeater nodes along with the end user "companion" nodes (same hardware with different firmware). So the meshnet is made up of these repeaters (generally fixed in place) that relay messages between companion nodes that do not repeat by default. It is much more suited for urban and suburban contexts where there are more users and many fixed repeaters across the area.
There's a sort of case study from the San Fransisco Bay Area where the early adopters initially tried to create a meshnet based on MT, but later transitioned in mass to MC because it just worked better for the context of the area and use cases.
This reddit comment summarizes their experience:
https://www.reddit.com/r/sonomacounty/comments/1rmuuvq/comment/o93ogmh/
This is all just to give some context to my main purpose of this post: different network topologies and organizing principles and how they work in different contexts.
In many ways the guiding philosophy of MT is based in a fairly strict understanding of the anarchic perspective. This can be really useful to prove out how a flat org structure can work at a small scale. The problem arises particularly for MT in that when every node is also a repeater/router the airwaves start to get saturated pretty quickly as the number of nodes scales up. The frequency space is the common resource that the meshnet has to manage effectively and efficiently to function.
MC resolves this issue by introducing a minimum of hierarchy with dedicated repeater nodes. This reduces the overall saturation of the common frequency space pretty well, because the companion nodes (users) don't usually reach too far on their own. So by having these repeater nodes in strategically fixed positions around the geography for line-of-sight coverage, you get a network topology that is a bit closer to the traditional cellular network. It also uses some thoughtful routing algorithms to reduce unneeded message propagation noise. Part of this relies on "paths" messages take across the repeaters. If one node is sending direct messages to anther node in range, then repeating is not warranted. If the other node is at an unknown path, MC defaults to a "flood" routing mechanism while trying to send the message. Once a path to the other node is found, it becomes the default for subsequent messages until that path fails, then it reverts to the "flood" routing again.
TL;DR:
It's an interesting illustration of how adhoc fluidity can be very functional at a smaller scale, but as the scale grows it is often necessary to implement some minimal level of justified hierarchy to keep things functioning effectively. It's also a nice reminder that technology is socially embedded, and understanding the sociological aspects of its context and use cases is very much a dialectical process.










making pop art for your fast food tycoon friend