[freenet-dev] Parallel negotiations
Matthew Toseland
toad at amphibian.dyndns.org
Fri Oct 26 23:48:42 UTC 2007
Various odd errors recently (PacketSequenceException for example) seem to have
been caused by running several JFK negotiations simultaneously and all of
them succeeding. STS was stateful and therefore could only have one in
flight, but JFK can have more than one. So one completes, then another
completes; this exposed a bug which I fixed, but it is problematic as the
second connection will clobber the first.
Options:
- 1) Introduce some state, resend the same message 2 after receiving the same
message 1. Bad: memory DoS.
- 2) Ignore the problem. It works, don't fix it. Probably what we'll go with.
- 3) Stagger the sending of the phase 1 handshakes. The problem is that we may
have to keep firewall tunnels open, so we have to send to each address every
<30 secs. But there should be space within this to send to a few addresses...
- 4) Support multiple temporary connections. Drop according to a defined order
in the noderef.
- 5) Support multiple permanent connections. Separate AIMD for each
connection, so messages can be distributed according to whichever connection
has the lowest RTT and has available bandwidth.
Any comments?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://emu.freenetproject.org/pipermail/devl/attachments/20071027/26eb7cb8/attachment.pgp
More information about the Devl
mailing list