Comments (2)
Hi @lonnietc,
Sure :) I should mentioned that cunicu is still in an alpha state, but here are my answers:
- Latency will be almost the same, as cunicu will establish direct p2p connections between all peers. However, there is some small overhead due to the Kernel WireGuard VPN. But this only becomes really noticeable in local networks with really high pkts/s numbers. In some situation the network conditions do not allow for direct p2p connections in which we currently can optionally fall back to TURN relays. This will result in higher latencies depending on where the TURN relay is located.
- That’s difficult to answer. I have done some simple scaling tests with Gont, where I was able to establish p2p between 50 cunicu agents on a single machine using an emulated network (network namespaces). Cunicu currently attempts to build p2p to each peer available. This is optimal for latency, but bad for scalability. So in some sense your 1st and 2nd questions are two goals which are difficult to accomplish at once. I am planning to make cunicu a bit smarter later on by observing which p2p connections are actually used using some traffic inspection. In such cases the p2p mesh can be lazily constructed which highly benefits scalability. I would also love to combine this with a mesh routing protocol like Babel to reroute packets over intermediate nodes as long as no direct p2p connection is available. The combination of lazy connection establishment with a dynamic mesh routing protocol should be pretty powerful.
- Currently not. I am planning to implement this by integrating a Babel speaker into cunicu. Babel is a small distance vector routing protocol build for overlay and wireless mesh networks. I am currently working on a Go implementation here: http://github.com/cunicu/go-babel
from cunicu.
Please let me know if you have more questions :) I will close the ticket here for now. But please feel free to reopen it. We are always looking for contributors!
from cunicu.
Related Issues (20)
- Move repo to its own GitHub organization HOT 1
- Update WireGuard's `conn.Bind` to use message vectors
- Create Nix package HOT 3
- Is cunīcu still considered in Alpha state? HOT 1
- /etc/hosts: Check if writable HOT 1
- Check reachability of turns:turn.0l.de:443
- Fix segfault in cunicu status HOT 1
- Fix wrong interface type (KERNEL_OPENBSD) on Linux HOT 1
- Check why interfaces are not deleted when they have been created by cunicu HOT 1
- Move koanf DNS lookup provider to separate repo
- Remove Codacy integration from repository HOT 1
- Remove docusaurus reference from website main page
- Improve website banner backdrop
- Automate update of Nix flake with GitHub actions release workflow
- Update Nix installation instructions to also cover non-experimental setup HOT 1
- `cunicu` crash on `restart`
- Fix NAT integration tests
- macOS Invalid state transition HOT 2
- slices.Delete
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cunicu.