On Friday 30 November 2007 23:35, Michael Rogers wrote:
> Matthew Toseland wrote:
> > TCP/IP is end-to-end. It loses packets on each hop.
> 
> There's really no comparison between Freenet requests and IP packets.
> Packets don't backtrack. Routers don't set local timeouts for every
> packet. There's no flow control or retransmission between routers, only
> between endpoints. TCP is *not* a good model for what happens end-to-end
> across Freenet. (In fact the term end-to-end doesn't even make sense - a
> single insert can reach multiple endpoints!)

Agreed, it's not a good analogy. But it's the basis of the current 
backoff-plus-AIMD load management system. Which is why we need to get rid of 
it.
> 
> *However* TCP is a good model for what happens between neighbouring
> nodes. In fact it's such a good model that I think we should copy it.

We do. The link layer uses a protocol which behaves more or less the same as 
TCP with regard to congestion control.
> 
> > One request and one ack use the same number of bytes in immediate terms of 
> > just that message, but a request will use a LOT more bytes overall.
> > 
> > Therefore, IMHO it would be inappropriate to limit messages rather than 
> > requests. We may need to limit messages as well, but requests are the main 
> > concern.
> 
> You're right, token passing isn't redundant after all. We need a
> transport layer that limits messages, and a load balancing layer that
> limits requests. They should be separate layers.
> 
> > How exactly do you decide which requests to accept then?
> 
> You don't decide, because there's no rejection any more. You just hand
> out tokens and try to forward whatever requests your peers in their
> infinite wisdom decide to send you.

IMHO we would still need rejection, for several reasons:
1. Reject due to loop.
2. Reject due to overload if something unexpected happens.
3. Reject due to overload as a normal part of the operation of the node 
because if we just send one token to one node it will not always send a 
request, so IMHO we have to send tokens to several nodes and then reject some 
if we get more requests than we'd expected.
> 
> Cheers,
> Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20071201/9d72e59b/attachment.pgp>

Reply via email to