Freenet‘s
Next Generation Routing Protocol
A revolutionary change to the core of Freenet’s operation that
has the potential to make Freenet as fast, and in some cases even faster, than
the World Wide Web
The core idea behind the Next Generation Routing design is to make Freenet
nodes much smarter about deciding where to route information. For each node
reference in its routing table, a node will collect extensive statistical
information including response times for requesting particular keys, the
proportion of requests which succeed in finding information, and the time
required to establish a connection in the first place. When a new request is
received, this information is used to estimate which node is likely to be able
to retrieve the data in the least amount of time, and that is the node to which
the request is forwarded.
Benefits of Next-Generation Routing
- Adapts to network topology
In the old Freenet routing algorithm, a Freenet node running on a slow modem
in the middle of the Australian outback is viewed pretty much the same way as
a fast node running on a T3 in downtown San Jose. In essence, the underlying
Internet topology is ignored by Freenet, all nodes are treated equally. In
contrast, N.G routing bases its decisions on actual routing times, this means
that a node will tend to prefer routing messages to faster nodes, on better
Internet connections that are geographically closer – unless those nodes
become overloaded, which will decrease the incentive to use them and have a
load balancing effect. - Performance can be evaluated locally
With the old approach to Freenet’s routing, the only concrete way to evaluate
its performance was by trying it. With N.G Routing we have a simple metric of
how effectively it is performing – namely the difference between estimated
routing times, and actual routing times. If a modification to the algorithm
results in closer estimates, then we know it is better. If not, we know that
it isn’t. This will dramatically accelerate the development cycle of future
improvements. - Approaching optimality
If one accepts that in an environment where only one’s own node may be
trusted, it is reasonable to say that all decisions should be based upon one’s
own observations. Given this, it could be said that if we make optimal use of
prior observations while making routing decisions, then our routing algorithm
is optimal. Now clearly there will always be room for refinement in the manner
in which the new algorithm estimates routing times
Current Status
At the time of writing, implementation of NGRouting is well underway,
although nodes using it have yet to be widely deployed in the wild. If you are
interested in following its progress, feel free to sign up to the
Announcements mailing list.
Interested in helping?
Freenet is the future of file sharing. With the current attacks against
online freedoms and the threats against individuals ONLY FREENET can offer
online ANONYMITY and PRIVACY. In addition to joining our development effort, you
can really help us to make this all a reality by donating whatever you can spare
to the project on our
Donations page. Freenet is 100% spyware/adware free. Its completely free and
open source. Your donations allow Freenet to pay for a full time programmer.





