Re: Updated PFSP specifications
[email protected] Sat, 18 Apr 2009 19:21:49 +0000 (UTC)
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Organization | Home, Grenoble, France |
| Message-ID | <[email protected]> |
Quoting Arne Babenhauserheide <[email protected]> from ml.gnutella.dev-forum: :The texts overally looks good, but the extension is problematic for Phex: : :Phex uses the X-Available-Ranges to compute the most common and least common :segments, so it can start the download with the least common segment, and the :chance of getting the whole file when some uploaders drop out increases. : :Your change will make this pointless, since we can't know the rarest segment :anymore, as soon as even one segment is omitted. : :Is there another motivation for this change besides saving bandwidth? The sole motivation of this change is simply to save bandwidth when "bad" clients request a highly fragmented file without honouring the Retry-After indication given for that file. Some clients will retry every minute even though the Retry-After header states 20 minutes. Note that gtk-gnutella has been omitting chunks from X-Available-Ranges since the beginning of PFSP, but this was not documented, and I hadn't invented the X-Available header yet... I do not believe this is problematic for Phex, in that it is trivial to see that a client has limited its X-Available-Range emission (by comparing the sum of advertized bytes there with the ones in the X-Available header), and successive requests to the same server will likely return different chunks (selection of returned chunks is random). After some requests, you will have complete knowledge of the available ranges. I suggess you leave out the servents from which you have only an incomplete knowledge of the available chunks for the purpose of the rarest chunk compuation, and you'll be fine. Raphael