Annotated edit history of
MetaNetDesign version 8, including all changes.
View license author blame.
Rev |
Author |
# |
Line |
7 |
PerryLorier |
1 |
Discussion document for replacement for wand/wansd |
|
|
2 |
|
|
|
3 |
Please note: This is related to the wand/wansd programs which are __only__ responsible for distributing and learning other peoples IP/port -> MAC translation. It in particular does not relate to the actual tunnel which is run by Etud, which uses the IP/port -> MAC translations provided to talk to it's peers. |
|
|
4 |
|
|
|
5 |
Please add any issues you can foresee, or pros and cons of any of the current issues. |
8 |
MattBrown |
6 |
|
|
|
7 |
[MattBrown]'s proposed replacement design for WAND/WANSD is at http://www.mattb.net.nz/metanet/protocol.txt |
7 |
PerryLorier |
8 |
|
|
|
9 |
!!! TCP vs UDP |
|
|
10 |
TCP makes it harder to spoof source address, and allows things like SSL. |
|
|
11 |
|
|
|
12 |
TCP requires a connection to be made, either for each query/update (high overhead for both ends) or a persistant connection (more complex, deal with your remote end comming and going, firewalls timing out connections, etc etc). |
|
|
13 |
|
|
|
14 |
UDP is very simple and non-stateless, but has issues with updates not fitting into a single packet (means that we need to cope with / expect multiple packets for an update) and will have problems doing auth properly. |
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
!!! Client/Server vs "p2p" |
|
|
19 |
!robustness - no reliance on single (or group) of machines |
|
|
20 |
Although if a server (eg deuterium) does go down, the other routers can still talk to each other. Making the current wand talk to more than one wansd is a simple way to fix this, requires a timestamp to be provided by each wansd server (so the clients can pick the "upto date" entry if different entries are ever returned) and the wansd's to have a method to sync themselves to each other. |
|
|
21 |
|
|
|
22 |
! Complexity |
|
|
23 |
need n^2 paths if every peer talks to every other peer. |
|
|
24 |
|
|
|
25 |
ipt's routing protocol was n^2/2, not brilliant, but not too bad. I have better ideas of how to reduce this even further with what I've learnt from other routing protocols since then. Perhaps O(n)? |
|
|
26 |
|
|
|
27 |
AddToMe |