Yggdrasil: Ein experimentelles dezentrales Routing-Schema
Yggdrasil ist ein experimentelles, kompaktes Routing-Schema, das vollständig dezentralisiert ist und nur einen geringen Zustandsaufwand benötigt. Es handelt sich hauptsächlich um ein Kürzeste-Wege-Schema, wobei das Netzwerk versucht, den direktesten Weg zum Ziel zu finden. Knoten sind gleichberechtigte Teilnehmer und verbinden sich über Peer-to-Peer-Verbindungen, die den Netzwerkverkehr tragen. Peerings können über jedes IP-Netzwerk eingerichtet werden – sei es eine direkte kabelgebundene oder drahtlose Verbindung, ein lokales Netzwerk oder sogar das Internet. In einigen Fällen können Peerings auch automatisch von Geräten in der Nähe im selben Netzwerk mithilfe von Multicast-Discovery eingerichtet werden. Alle Knoten in einem Yggdrasil-Netzwerk sind Router und leiten den Verkehr automatisch weiter, um ihm so weit wie möglich näher an sein Ziel zu bringen. Das bedeutet, dass selbst in einem nur spärlich verbundenen Netzwerk alle Knoten von allen anderen Knoten in diesem Netzwerk erreichbar sind. Es spielt keine Rolle, ob sich ein Knoten hinter einem NAT befindet – sobald ein Peering hergestellt ist, fließt der Verkehr in beide Richtungen über dieses Peering. Yggdrasil ist auch so konzipiert, dass es Netzwerkänderungen toleriert. Wenn beispielsweise eine Verbindung ausfällt, heilt sich das Netzwerk selbst und verwendet andere Verbindungen, um den Verkehr zu leiten, sofern verfügbar. Dies macht es für die Verwendung in Mesh-Netzwerken geeignet, in denen sich die Netzwerktopologie ändern kann und dies auch häufig tut.