[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
reply!
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
callsign.
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
technologies.
- 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
Kristoff
-------------- 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