The point is, the deeper you get in the chain the larger the chances are that
you are close to the data. So if using the RequestFailed and making D forward
the message to it's next best guess, is going to be better then having B
forward the message to it's next best guess.

The data "could be" on any node, so you can't make that argument. The question
is, is it more likely to be on B's second best guess, or D's second best guess.
And, if the routing works, the answer would be D's.

On Sun, 16 Apr 2000, Jeffrey B. Siegal wrote:
> I'm currently getting up to speed on the details of the protocol.  I'm
> curious as to the rationale for this:
> 
> << If the pending message store shows that a Request.Data message with
> the current UniqeIDhas already been seen, the node must compose a
> RequestFailed message in reply inheriting the UniqeID and HopsToLive of
> the present request. The composed RequestFailedmessage does not inherit
> or pass on any other header fields from the request, and places its own
> address into the Source field as usual. >>
> 
> Since Freenet does not use a flooding protocol like Gnutella, I would
> think there are situations where a message could loop, but still be
> useful for finding the document.  Consider the following example:
> 
> 
> Node A ---- Node B ----- Node C
>               |    \         /
>               |     \       / 
>               |      \     /
>               |       Node D
>               | 
>               |
>             Node E
> 
> Let's say A sends a message to B which sends it to C which sends it to D
> which sends it back to B.  B will now throw away the message, but the
> document may be available on Node E, where it will not be found.  I
> would think that Node B should not send the message again to Node C, but
> should be able to send it to E (assuming HTL > 0).  This implies that
> Node should should memorize not just the UniqueID, but a
> (UniqueID,destination) pair. 
> 
> Is this correct, or is there some subtlety here that I'm missing?
> 
> _______________________________________________
> Freenet-dev mailing list
> Freenet-dev at lists.sourceforge.net
> http://lists.sourceforge.net/mailman/listinfo/freenet-dev
-- 

Oskar Sandberg

md98-osa at nada.kth.se

#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to