[Battlemesh] mesh protocol for lora

Kristoff kristoff at skypro.be
Wed Aug 31 00:48:32 CEST 2016

Hi Henning, all,

First of all, thanks to everybody who replied and I'm sorry for the late 

On 29-08-16 12:54, Henning Rogge wrote:
> 300 bit/s is tough... even sending an empty IPv4 UDP packet would 
> normally cost 14+20+8=42 bytes, which block a channel like this for 
> more than a second.
Well, your message got me thinking.

First of all. This is not an IP network. Concider this more to be a 
"messaging" network.

I don't know if you are familiar with the ham-radio APRS network. It's a 
network to transport and re-distribute small text-messages up to three 
hops away. It is designed to handle  two types  of information:

1/ distribution of "location related information".
- the location of moving object (e.g. ambulances in an emergency situation)
- weather information of a weather station
- location of infrastructure (e.g. voice repeater stations)  + technical 
information of network infrastructure (temperature and output voltages 
of the power-supply of a voice-repeater, .... )
- information about events: meeting of local radio-club this thursday at 
8 PM

Most of this information is one-way: a node broadcasts messages that get 
repeated up to three hops away on the network; or send to a "APRS-IS" 
node, i.e. a node that receives information from the RF-side and 
redistributed it to servers on the internet.

2/ person-to-person message: two way information
- two-way messaging between two stations
- distribution of messages with "certification-of-delivery" (say you 
want to send a message from a lora-based network to a "paging"-tower, a 
node that will redistribute lora-message as a high-power POCSAG message 
for pages).

In all cases, couting is not done on ip-address but based on ham-radio 

Up to now, APRS has typically been a "high-power transmitter on a high 
location" type of network where relative few but high-power nodes (e.g. 
30, 40 to 50 watt)

My idea is to go the other way around and try to build a network of a 
lot of off-the-shelf VHF/UHF datamodules, cheap devices but running at 
much lower power-levels.

In practice, this means that a network would concist of a lot more 
nodes, so some kind of more intelligent "mesh-network" technology is 
needed. As the size of such a network (in number of nodes) is a lot 
larger then a regular APRS network, just flooding messages up to "x" 
steps away is out of the question.

Now, there is nothing that says that this needs to be one flat mesh.
One of the advantages of ham-radio is that we have a lot of different 
technologies available and it makes sense to use and mix different 

- There are low-speed modulation scemes (like 300 bps lora) which are 
slow but require few power; so this would be ideal for "access"
- On top of that, you can build a "core" network using faster 
technologies (19.2 Kbps lora, 50 Kbps nRF905 modules, or even 2.3 Ghz 
802.11g wifi)

In theory, you can build a network concisting of multiple small "access" 
networks using slow-speed but very robust modes; and have them all 
interconnected by a higher-level core network.

Routing-wize, the low-level access-networks have very limited 
routing-information (only the few nodes inside the local network) so 
there would be very little "chatter" on that level. The more complex 
routing can be done on the higher "core" level.

The two-layer approach would allow a topology simular to how OSPF or 
ISIS routing is done; or -perhaps- more like how a MPLS network is build.

> Media Access will be another problem.
I did some experiements yesterday and it turns out that the lora-modules 
I use (e32-ttl-100) do *not* do carrier-sensing. When you hand them a 
message to transmit, they simply start transmitting without checking if 
the channel is free or not.


That surely was an unwelcome surprise !

> The interesting question is "how much mobility" do you expect.
Surely not that much.

And certain nodes that do are mobile (like a car transmitting its 
possition every 30 seconds) will just transmit one-way "broadcasts" so  
do not require a "route-back-to-me" routing-entry.

So what would be nice is a mesh-network protocol capable to provide 
routing for a network up to (say) the 6 nodes of a local "access" network.

BTW. Yesterday I read that "radiohead" library also supports 
meshed-network .... and also supports network-elements that only have a 
"transparent serial"-interface. The lora-modules I have are like that!

Radiohead started out as a arduino library but -if I am correct- it 
should also run on linux now.

To be tested. I hve no idea how well it compaires to the other 
meshed-network protocols.

> Henning
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ml.ninux.org/pipermail/battlemesh/attachments/20160831/7b5eb0f0/attachment-0001.html>

More information about the Battlemesh mailing list