On Dec 1, 2007, at 6:02 PM, Matthew Toseland wrote:

> On Friday 30 November 2007 23:03, Robert Hailey wrote:
>>
>> To illustrate my point the following patch shows an approximate 100%
>> speedup for freenet, by my crude profiling.
>
> Speedup measured how? More comments below.

Measured in average time to handle a request (i.e. the realRun()-time  
of RequestHandler), which I reason is proportional to the time it  
takes for a request at-large (propagating through the network).

> One reason to keep it as-is is to deal with nodes connecting,  
> sending a load

> of requests, and then disconnecting, as a DoS attack. This is  
> implausible as
> a sensible the load limiting system won't let them start enough  
> requests to
> be a problem given the relative difficulty of getting new  
> connections. Of
> course, getting new connections is likely to be rather easy on  
> opennet...

I agree. Although, whereas sendSync() waits up to one minute for the  
given request to clear the queue, this attack would be available  
presently... only offset by a constant amount of time. And the  
attacker would have to accept enough packets to make the node believe  
you are 'connected'.

> Another reason is if a node or a link is hopelessly overloaded, we  
> don't want
> to run a request which will not serve any purpose because the node  
> will
> timeout on us and route it to another node. This isn't really dealt  
> with by
> the current code either.

I'm not sure I understand your point, but (not being a point of  
contention) you don't have to explain it. It seems to me that this  
would HELP overloaded nodes, as we process their requests without  
waiting for the ack which is a mile down there send queue; they might  
actually get there data (once it arrives and makes it to the front of  
the send queue).

> So it looks like your patch is worthwhile...
>
> You can use the same logic on all the Handler's and Sender's. Either  
> send me a
> new patch, or send me your preferred username, password and email  
> address so
> I can give you an SVN account and you can commit it yourself.

Can do.

--
Robert Hailey


Reply via email to