On Fri, Aug 18, 2000 at 04:37:06PM +0100, Michael ROGERS wrote: > If it had to be a function of the key (and only the key) it could not take > into account which nodes the node knows about and which nodes it doesn't. A > routing algorithm based on the key (and only the key) would require perfect > knowledge of the network.
But what nodes the node knows about IS a function of the key. Or rather it is a function of the earlier keys requested from this node, which is what caused the key to be send to the node in question. > The key is the only *variable* input to the algorithm, but there can (and > must) be other, constant inputs - the addresses of neighbouring nodes, for > example. (In fact these are not constant, they're slow-changing, but ideally > they would be constant because every change damages the network by breaking > the determinism of routing.) Their is really no such thing as neighbor nodes, and the set of references (addresses to other nodes) is not static. But the set of references _is_ a function of the keys requested from the node. > >Note that where we started (looking for the best connection) is NOT > >included in this definition. And whether everybody is doing it actually > >has little to do with it (because while the key value looks the same to > >everyone, the physical network topology looks completely different). > > Yes, and the speed of each connection is part of a node's knowledge of the > network topology. How is it different from the knowledge that a node exists? > Think of it in terms of a weighted graph - each address has a weight. > Addresses which are not known to host nodes have infinite weight. Addresses > which are known to host nodes have a finite weight, representing the speed > of the connection. The routing algorithm takes the graph representing the > network and the key as its inputs. The only difference from the current model > is that in the current model, all finite weights are equal. Freenet assumes that all nodes can communicate. Knoweledge that a node exists does not have to do with the physical topology of the network at all, if it exists, then the node can know about it. Whether Freenet works in a situation where all nodes cannot communicate (say a wireless situation with a limited range, or even multiple networks with different transports) is just as much up in the air as whether weighing the connection for speed works. > >It is too a function, just not a function of the key value. But then > >neither is the quality of the connections (for the two hundreth time). > > Not a function whose only variable argument is the key, then. Whatever. Mathematically, "function of key" means "function that has key as a variable" and "function of only key" means "function whose only variable is key", so you are just repeating what you disagreed with above. -- \oskar _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
