What Happens Inside a 100-Hop IPv6 Wireless Mesh Network?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • mesh-networking

    Discontinued :globe_with_meridians: LEGO blocks for networking, a Python library to help create and test flexible network topologies across real and simulated physical links.

    Heh walked a similar path a few years ago. Wanted to get started developing a mesh network routing algorithm that could handle a hundred hops, got distracted and built a mesh networking test harness / simulation system instead (https://github.com/pirate/mesh-networking).

    Never got around to finishing a full routing algorithm, though we did have a lot of fun testing wacky network topologies and protocols that solved subsets of the problem.

    The closest we came was designing a 2 or 3 tiered system, where nodes self-arrange into clusters of up to 256 nodes with one elected leader to coordinate. The routing table is replicated on all nodes (eventually consistent), but the leader handles all changes. Then there's Layer 2 routing between clusters with a similar leader election system to handle inter-cluster routing.

    We tried to figure out a way to make the routing stateless, (e.g. by encoding a node's position in the graph in its id, sort of like a phone number has a country code, then area code, etc.), but stopped working on it before figuring out a good approach for broadcasting ID changes without flooding the network with broadcast traffic beyond small network sizes.

    Nowadays there are established mesh routing algorithms that solve all these problems (like B.A.T.M.A.N., 802.11s, or even BGP), but it's still a really exciting field that I dream of working in professionally someday.

    https://www.open-mesh.org/projects/open-mesh/wiki

  • CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  • PJON

    PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.

    PJON supports mesh networking too, it is open-source and free to use, check it out: https://github.com/gioblu/PJON

    its address space may be beneficial (more flexible, lower overhead) for many use cases.

  • yggdrasil-go

    An experiment in scalable routing as an encrypted IPv6 overlay network

    There is an overview in the whitepaper: https://github.com/yggdrasil-network/yggdrasil-go/blob/maste...

    It fits the "private VPN" use-case quite well in my experience. You can connect to the wider network over the Internet, or just set your nodes up. If yggdrasil is installed on every router, it automatically creates a nice network topology, since it finds peers on the local subnet. Router advertising is also a possibility.

    Though there's no real drawback to connecting to the wider network since it's end-to-end encrypted, you have to be aware that specifying more than one peer will make it possible for traffic to be routed trough you, so the whole network performance can be sensitive to the choices that are made when peering over the Internet, as I think hop count is the only metric for now.

    For private meshes, I don't think you can specify fallback peer addresses over the Internet, so you have a bit of the same risk here. I've seen some info on mesh wireguard networks with peer information stored in DNS at this year's FOSDEM, but that's currently definitely more configuration than yggdrasil.

    End-to-end encryption and the ability to generate your own static, roaming-compatible IPs is nice. I just wish one could open sockets directly with a crypto key rather than the derivated IP.

    For more discussion, I can really recommend the Matrix chat room :)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Ask HN: What tools/infrastructure do you wish existed?

    1 project | news.ycombinator.com | 20 Dec 2022
  • The operative system for a decarbonised, decentralised, digitised energy system

    1 project | news.ycombinator.com | 22 Mar 2021
  • IPFS Local Offline Collaboration Sig

    2 projects | news.ycombinator.com | 15 Mar 2021
  • Bitcoin Core Lead Maintainer Steps Back, Encourages Decentralization

    2 projects | news.ycombinator.com | 23 Jan 2021

Did you konow that C++ is
the 6th most popular programming language
based on number of metions?