UP | HOME

Building Networks with Reticulum

Table of Contents

1. What is Reticulum?

Reticulum is a complete network stack.

2. Why a new stack?

You can't fully escape a central authority that has control over some key aspect of the current internet:

  • TLS Certificate Authorities who decides what's in your certificate store? Your grandma's?
  • DNS records are rented and entirely subject to rules of the registrar and the country of origin.
  • Internet Assigned Numbers Authority / Regional Internet Registry for Europa have control over the IP address space.
  • ISPs connection is rented and subject to the terms and conditions of the ISP. "Don't use too much bandwidth, citizen!"
  • Most communication happens via some third party.

3. What Retiulum Brings

A full list can be found here, but some highlights are:

  • Mandatory end-to-end encryption with forward secrecy
  • No Authorities
    • Self-sovereign, globally unique addresses (no IANA/RIPE)
    • No DNS
  • Anonymity: no source addresses included in any packets
    • Connection initiators can decide to identify themselves
  • Interfaces for virtually any medium (Ethernet, LoRa, Radio [ISM for example], UNIX pipes, user created and more)
    • All interface types support virtual network segmentation and authentication
  • Ease of use anyone can host a server, or not
  • Low cost existing commodity hardware can be used to make new networks

4. Reticulum Components

rnsd
system-wide daemon that manages the interfaces and transport
Interfaces
things like Ethernet, WiFi, LoRa
nomadnet
terminal based client with messaging and basic browser functionality
Sideband
Android and desktop app with peer to peer calling capabilities
MeshChat
Desktop reticulum client
LXMF
Lightweight Extensible Message Format - a foundational messaging protocol
LXST

Lightweight Extensible Signal Transport - protocol for real-time streaming of data (foundation for voice calls in Sideband)

Each component can be used individually, or in concert with others. For example, there is no need to run rnsd and nomadnet as nomadnet will start its own instance of rnsd if one isn't found.

5. How Does Routing Work?

  • No global routing tables. Local only.
  • Destinations announce their presence which includes: address and public key. This hits all interfaces rnsd has configured.
  • Interfaces process the announce and passes it along as needed.
  • Router receives an announce, checks if the path is better than known paths and stores it along with the next hop.
    • In practice, this means that the router only ever knows the next hop of a packet. Never the full route.
    • It also means that paths regenerate as topology changes.

This is similar to how a local name server will have local-names for on-network devices, but must query upstream for things it doesn't have.

6. Can I flood With Announces?

(Hi Zach!)

At first glance, it would seem that one could completely overwhelm the network with announces. This isn't the case.

  • Announces have their own bandwidth allocation (2%) separate from message transmission.
  • Known good destination announces are prioritized over unknown.
  • Announce rates can be limited per server.

7. Announces in Detail

In reticulum Transport Nodes (TN) handle announces and thus routing.

  • Duplicate announces are ignored.
  • Upon receiving an announce, record which TN it was received from and the number of re-transmissions (RT).
    • Stop RT if number of RT is m+1 (m = 128 by default).
    • RT on all interfaces after randomised delay.
      • Queue RT if bandwidth is limited.
    • Priority goes to closer (by hops) TNs
  • After RT, listen for the same RT with hop count incremented.
    • If not heard, retry RT r times (r = 1 by default).
  • If newer announce from the same destination is seen while RT of older announce, drop newest.

    Once a TN receives the announce, devices connected to said TN can talk to the destination that announced.

More info on Reticulum Transport mechanisms can be found here.

8. How Far Does That Get Us?

  • Still early stages, but things are extremely far along (shout out to the incredible work Mark has done!)
    • Messaging (DMs via Sideband, NomadNet and MeshChat - group messaging supported via 3rd party apps)
    • "Web" server functionality via NomadNet and a few 3rd party tools
    • Browser via NomadNet, MeshChat and a few other tools
    • Voice calls via Sideband, LXST (rnphone) or MeshChat

9. Lets Make a Network!

  1. Join the PMesh WiFi Scan: pmesh.png Or enter the info manually

    SSID Password
    PMesh PuebloSrirracha
  2. Then go to: http://10.42.0.1
  3. Download a client like Sideband or NomadNet.

10. TestNet Info

[[RNS Testnet BetweenTheBorders]]
  type = TCPClientInterface
  enabled = yes
  target_host = reticulum.betweentheborders.com
  target_port = 4242

11. Some Interesting Nodes

Colorado BSD Users Group
25b61e133dee99fd8c0ffee23ed68f3b:/page/index.mu
OpenBSD.app
0cc65124b72a5fdec6dcc14241bb8108:/page/index.mu

12. More Info

Date: 2026-01-06 Tue 00:00

Author: Aaron Bieber

Created: 2026-01-07 Wed 07:39

Validate