![]() |
Operating Principles of a Hostcache Hello, my questions do not directly relate to Gnutella, but maybe I can find assistance here. It would be very nice if a knowledgeable person could confirm or correct my assumptions. Is this correct: During the bootstrap process, the Gnutella client has to receive his first list of IP addresses to send his first ping to. This is done by contacting an UDP hostcache, or a CWebCache. The difference between the two mainly is the way of transferring the list to the client - internally both manage a list of active peers. The transfer of this list between WebCache and peer are done http-like, about hostcache I could not find detailled information(?). Question: How is this list managed? Whenever a new peer sends a request, the cache can save the sender's IP address. But is the list kept up-to-date? That is, how are peers removed from the list? Pinging all of them periodically is not an option, neither is a static TTL (like storage in a ring buffer). Regards, Alex |
GWCs (Gnutella Web Caches) get their IPs by Hubs that promote themselves when going into Hub mode. UDP hostcaches are an active part of the network and connect to it as client/Hub (AFAIK) to maintain its list. In both cases, the list has a defined length and each time a new Hub has been added, the oldest one is removed. Does this answer your question? mfg, Old |
Thank you, that helps! When you say "hub" it's synonymous to servent/peer, I assume. So it is really that simple: caches remove IPs from the list in the same order they entered. My first impression is that this is beautifully simple, but is it very efficient? Because some peer stay online for years, others maybe just for seconds. EDIT: I just remembered reading a paper researching the average uptime (online time) of Gnutella peers. If I remember correctly a great majority of the peer were online several days. So the values of "year" vs. "seconds" I mentioned are rare stray offs without much influence. Regards, Alex |
Quote:
As it takes only some seconds-minutes until the lists are refreshed completely, this assures that only nodes that have become Hub/UP within the last seconds are promoted for new nodes searching IPs to connect to. mfg, Old |
All times are GMT -7. The time now is 08:17 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.
Copyright © 2020 Gnutella Forums.
All Rights Reserved.