PROBEALL: requests (telnet to 2323 and type PROBEALL: then tail -f wrapper.log), and implementation of spying on other nodes' swaps, seem to confirm the prior observations that: - Locations of nodes are strongly clustered around 0.0. - PROBEALL: and short-term (with spying on peers) swap-based network size estimates show roughly 300 nodes on the network.
Any ideas why? Or how to investigate this? One theory: There are two major areas of the network. There is the strong set and the weak set. The strong set is a strongly connected group of mostly 24x7 nodes. This includes developers' nodes and generally people who hang out on IRC a lot. The weak set consists mostly of newbies. These nodes are often not 24x7, they are mostly only connected to other newbies, they tend to have relatively few connections, and there is a very high rate of churn; nodes are added and nodes are removed very frequently. Either the weak set massively outnumbers the strong set, or its enormous churn provides it with some sort of advantage; either way, the weak set occupies the majority of the keyspace. Why does the strong set center on 0.0/1.0 (circular keyspace) ? No idea! The swapping code looks fine to me; the actual decision is in LocationManager.shouldSwap: http://emu.freenetproject.org/cgi-bin/viewcvs.cgi/trunk/freenet/src/freenet/node/LocationManager.java?rev=11489&view=markup (Search for shouldSwap; it's a bit too long to paste here, but it's not long). PeerManager.distance() is even simpler: /** * Distance between two locations. * Both parameters must be in [0.0, 1.0]. */ public static double distance(double a, double b) { // Circular keyspace if (a > b) return Math.min (a - b, 1.0 - a + b); else return Math.min (b - a, 1.0 - b + a); } So: - Any code review would be more than welcome. - Does anyone have any idea how to proceed from here? Any theories? Any idea for intelligence gathering? - More PROBEALL: traces would be interesting; are they all centered on 0.0/1.0? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20061219/73de67e1/attachment.pgp>