Peer ideas (Updated) #14
Replies: 5 comments 3 replies
-
IP-less peer listPeer's ip-addresses would be controlled by a DHCP-like system, ip-addresses are random but with two exceptions:
|
Beta Was this translation helpful? Give feedback.
-
Peer groupsWARNING: This is a really complicated solution that would take a lot of effort, please say if this is way too much to ask for from a project like this.
Additional:
|
Beta Was this translation helpful? Give feedback.
-
Possible directory structureThis allows the above ideas to work per-interface, it should also make it easier to write changes and new information via a CLI to each file separately.
|
Beta Was this translation helpful? Give feedback.
-
Possible CLI commandsWARNING: This comment is somehow even longer than the last one; I'm not doing this on purpose. Hopefully this is a solution to CLI integration, sorry in advance for the length of this comment you're about to read, tried covering all use cases. Current:
Replacement:Connectivity:
To explain things better, I will use the layout shown below for my explanations.
Peers: ":" acts as connectors and "," acts as a list (e.g. ITEM1,ITEM2:ITEM3,ITEM4)
Groups:
In Summary:
Additional:
|
Beta Was this translation helpful? Give feedback.
-
Simplified Group ModelIntroThe system outlined above is too complex now looking back at it, so, this post will explore a much simpler model which should still satisfy all of the most useful aspects. Group keyIn the same way a discovery key was required to join a hyprspace network, we can introduce a group key as well as a group ID to create groups within a hyprspace network, this is how it might be constructed within a config:
Groups in this model are client-side defined; the server/gateway node doesn't define the groups, peers will attempt to join all groups defined in the config, this doesn't restrict nodes into having an ip-address in a specific ip-range and it entirely removes the need for view/list/admin_peers/etc. However, being able to join multiple groups means some form of isolation needs to be added, otherwise Peer-A could be in groups A and B and someone in group B could ask Peer-A for a group A peer when they shouldn't be able to. A consideration to make is whether a peer should ask everyone in a hyprspace network if they accept a group-key or whether to implement a PubSub system for asking for a group-ID, in large networks the first solution (along with many groups) could become noisy so the second is probably the best solution unless someone can think of something better. AdditionalTo achieve the functionality detailed in IP-less Peers, peers could use ip-ranges instead of ip-addresses to self-assign themselves with a random ip-address, this removes the need to centralise on a DHCP system for the server/gateway node. If a peer realises they share an ip-address with someone, and has an ip-range set instead of an ip-address, then they will change their address for one that isn't taken. Summary
|
Beta Was this translation helpful? Give feedback.
-
(Mainly making this post to explore some options I've thought of, I am in no way a coder and do not know how complicated any of my ideas are to implement, nor if any of them are a good direction to take). EDIT: See bottom post which outlines a much simpler system.
Unknown peer authorisation
PEER-A
PEER-B
PEER-A
Additional:
--allow-all
allowes any peer to connect to any group regardless of if they're defined in the config.--any-peer
allowes any peer to connect, but, they can't pick the group they're apart of.--any-group
only allowes peers defined in the config, but, they can pick any group to be apart.Beta Was this translation helpful? Give feedback.
All reactions