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>
