• Publicado: 2004-07-27
  • Autor: I2P devs
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

'lo all, time for the weekly rant session

* Index:
1) 0.3.3 & current updates
2) NativeBigInteger
3) ???

* 1) 0.3.3

We pushed out the 0.3.3 release this past Friday and after a day
or two of pretty bumpy weather, it seems to be doing ok.  Not as
good as 0.3.2.3, but I've usually been able to hang around on
irc.duck.i2p for 2-7h stints.  However, as I've seen lots of
people having trouble, I fired up the logger and monitored in
detail what was up.  Short answer is that we were simply using
more bandwidth than we need to, causing congestion and tunnel
failures (due to test messages timing out, etc).

I've spent the last few days back in the simulator, running a
series of heartbeats through a network to see what we can
improve, and we've got a whole slew of updates coming our way
based on that:

= netDb update to operate more efficiently
The existing netDb lookup messages are up to 10+KB, and while
successful replies are frequent, the unsuccessful replies
could be up to 30+KB (as both contained full RouterInfo
structures).  The new netDb replaces those full RouterInfo
structures with the router's hash - turning 10KB and 30KB
messages into ~100 byte messages.

= throw out the SourceRouteBlock and SourceRouteReplyMessage
These structures were a remainder of an old idea but don't add
any value to the anonymity or security of the system.  By
dropping them in favor of a simpler set of reply data points,
we cut the tunnel management message sizes dramatically, and
drop the garlic encryption time in half.

= removed some excess messages
The code was a bit 'chatty' during the tunnel creation, so the
unnecessary messages have been cut.

= reduced arbitrary padding
Some of the crypto code for the garlic routing was using fixed
padding based on some garlic routing techniques that we're not
using (when I wrote it back in September and October I thought
we were going to be doing multi-hop garlic routing instead of
tunnels).

I'm also working on seeing if I can get the full blown update
to the tunnel routing to add the per-hop tunnel ids.

As you can see from the roadmap, this encompases a lot of the
0.4.1 release, but since the netDb change meant losing
backwards compatability, we might as well get a slew of
backwards incompatible things done at once.

I'm still running tests in the sim and have to see if I can
finish up the per-hop tunnel id thing, but I hope to have a
new patch release out in a day or two.  It won't be backwards
compatible, so it'll be a bumpy upgrade, but it should be
worth it.

* 2) NativeBigInteger

Iakin has been doing some updates to the NativeBigInteger code
for the Freenet team, optimizing some stuff we don't use, but
also putting together some CPU detection code that we can use
to automatically select the right native library.  That means
we'll be able to deploy jbigi in a single lib with the default
install and it'll pick the right one without having to ask the
user for anything.  He has also agreed to release his mods and
the new CPU detection code so that we can bundle it into our
source (yay Iakin!)  I'm not sure when this will be deployed,
but I'll let people know when it is, as those with existing
jbigi libraries will likely need a new one.

* 3) ???

Well, the last week has been a lot of head in the code hacking,
so not too many updates.  Anyone have anything else to bring
up?  If so, swing on by the meeting tonight, 9p GMT in #i2p.

=jr

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.1

iQA/AwUBQQavYhpxS9rYd+OGEQKiewCg+Bcfv1tTkvMkk6yRnfwKnAKniEgAoN7z
Q36Vr3muI4ti770dlw0mUDLu
=Q3NN
-----END PGP SIGNATURE-----