16 comments

[ 3.5 ms ] story [ 42.4 ms ] thread
it’s been “new” fir as long as i have known about it, over 5 years or so? or is this a different thing?
Thank you, Yggdrasil, for being just a compact routing scheme, not a semi-governmental military solution for implementing horrors beyond my comprehesion (they just love nordic or lotr names for that kind of things)
I thought the name is a Max Payne reference.
It's been working well for me as a kind of poor-man's tailscale, connecting several VPS and several laptops.
I considered using Tailscale, but at the end of the day Yggdrasil is more inspiring to me. I like the idea of a network with no central authority delegating addresses. I hope that it takes off beyond just an overlay network. I'd be curious to try running it directly over some physical link without IP. Imagine if the world ran on something like Yggdrasil: anyone could plug in and get a publicly routable address. I think it would be great for decentralization and the open internet.
Does anyone run private services for themselves on Yggdrasil by allowlisting specific IPs and piggybacking on the routing layer? I've thought about doing this but haven't tried it.

I wish TLS behaved better with private networks but I around certificates continues to mostly be oriented around the Internet.

I don't run services on Yggdrasil yet, but I use it heavily to get static, publicly routable addresses for SSH purposes. It's very nice because Yggdrasil automatically finds peers on the local network, so my addresses still work for devices on the same local network, if there's no uplink.
That is a remarkably content-free website. I tried (I think) all of the obvious pages, but still don't know in any detail, how do they handle routing differently from the normal internet.

Can anyone explain? They complain that routing on the internet is (somewhat) hierarchical to scale, but then don't explain their solution to the same problem(s).

The simplified choice has always been distance-vector, or link state. Are they a better attempt at one of these? Some new idea?

Picture this:

You have three devices at home, A, B and C. Only device A have Internet connection and can connect to public Yggdrasil node. B can connect only to A and C. C can connect only to B. Have Yggdrasil installed on all of them (and tell Yggdrasil about the peers), all devices would have access to full Yggdrasil network.

The novelty is that routing is based on cryptographic identity. Yggdrasil's IPv6 addresses are actually truncated representations of public keys. You configure the Yggdrasil software with a list of peers which it connects to over normal internet, but then when you route a Yggdrasil address your device talks to all its peers, who talk to their peers and so on until they find your destination. As I understand it, they optimize it by caching the routing information and using bloom filters to find the appropriate peer.
Was evaluating this recently, the lack of NAT busting was a dealbreaker.
yggdrasil-jumper aims to help with this
Mesh Network Lab: Emulate routing of Babel, Batman, OLSR, BMX, Yggdrasil & CJDNS

https://github.com/mwarning

This project by mwarning42 is meant to test Mobile Ad-Hoc Mesh routing protocols. Out of the box supported are Babel, B.A.T.M.A.N.-adv, OLSR1, OLSR2, BMX6, BMX7, Yggdrasil and CJDNS.