3 ms·
How does Yggdrasil compare to Wireguard? A github search shows that yggrasil-go uses wireguard-tun project as the tun driver; does it relate in any other way? T
by infogulch 5y ago
How does Yggdrasil compare to Wireguard? A github search shows that yggrasil-go uses wireguard-tun project as the tun driver; does it relate in any other way? The main problem/use case is different of course (Wireguard is a manually configured point-to-point vpn with e2ee, where yggdrasil is an internet-scale overlay network with e2ee.), but I mean at a low level, protocol, encryption, etc.
- natural219 5y agoI’d also be curious about this. Say for the use case of running a small private chat server hosted on a home network; does either of these seem better suited, or are they just different architectures that can handle mostly similar things?
- rjmalagon 5y agoVery different. WireGuard is explicit basic, only cares how to make an encrypted link between two devices, and do it very well. Key exchange, IP assignation and routing are manual work. There are solution build on top of WireGuard (Tailscale is one of them) that puts some "automagic". YG puts more "magic" on protocol (autorouting, mesh making, etc), but is not that clean on design (crypto not formally tested, latency prone TCP links, not good enough NAT punching, etc). Wireguard and YG are different tools on the SDN network toolbox, and can be mixed for special porpoises.
- natural219 5y agoThis is really helpful; thank you
- rjmalagon 5y agoAt low level is not related to WireGuard in any way. The wintun project only exposes a virtual network interface to Windows systems, a clean and proper signed windows driver. That side project to Wireguard was created because the native windows virtual interface is too basic for "advanced vpns" and the former windows TUN driver (OpenVPN side project TUN driver for windows) used by everyone was clunky and old. YG uses it own crypto and routing, wintun is used here only to expose the virtual network interface on Windows.
- infogulch 5y agoI see, so there's no real integration between the projects besides the incidental TUN server. It seems like YG would benefit from using WG as a primitive for point-to-point encrypted comms between nodes, and build the spanning tree system on top of it.