![]() |
|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
![]() |
| LinkBack ![]() | Thread Tools ![]() | Display Modes ![]() |
|
| |||
![]() 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
__________________ ![]() Shareaza forums - after a new attac back on old theme - Shareaza homepage ![]() <table align="center"><td>F**K THE MPAA! F**K THE RIAA! P2P WILL NEVER DIE! LONG LIVE THE HYDRA!!! (Quoted from torrentfreak.com) |
| |||
![]() 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 Last edited by alex96; July 11th, 2009 at 03:56 AM. |
| ||||
![]() 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
__________________ ![]() Shareaza forums - after a new attac back on old theme - Shareaza homepage ![]() <table align="center"><td>F**K THE MPAA! F**K THE RIAA! P2P WILL NEVER DIE! LONG LIVE THE HYDRA!!! (Quoted from torrentfreak.com) |
![]() |
| |