Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Gnutella / Gnutella Network Discussion (https://www.gnutellaforums.com/general-gnutella-gnutella-network-discussion/)
-   -   How does Gnutella avoid Deadlock or Triangle connections (https://www.gnutellaforums.com/general-gnutella-gnutella-network-discussion/16046-how-does-gnutella-avoid-deadlock-triangle-connections.html)

tiagonmas October 3rd, 2002 02:34 AM

How does Gnutella avoid Deadlock or Triangle connections
 
Hi!

I'm looking at gnutella protocol but could not understand how does it avoid circles, or triangles of messages.
How does Gnutella avoid that a Ping that I send does not return to one of the nodes that already received it ?

Thanks,
TAS

trap_jaw October 3rd, 2002 03:20 AM

Quote:

how does it avoid circles, or triangles of messages.
It doesn't, but it's not a big issue due to the size of the network.

cultiv8r October 3rd, 2002 04:07 AM

Actually, that's more a question for in the developer forum. But allas, to answer your question: messages on the Gnutella network have a unique ID. Gnutella clients will keep a list of ID's they have seen before. So for a period of time, depending on how many IDs a client will/can store, if a message tries to pass that's been "seen before", it is dropped.

The exception to that rule is Query Hits and Push messages. Query Hits re-use the unique ID of the Query. Also, Query-Hits can be "seen before" multiple times, as obviously you'd like to receive results from more than one person. As for Push messages, they also re-use an ID, but not that of the message itself - it re-uses the ID assigned to each client.

If you need more details about this, visit http://rfc-gnutella.sourceforge.net/ and read the PDF document for the version 0.4 specs. The only difference between version 0.4 and 0.6 is that the handshake header has changed. "Internally" (or rather, how the messages are sent, etc.) it remains the same.

tiagonmas October 3rd, 2002 04:12 AM

Hi!
As this issue is related to the network and not to how it is implemented I thought it fitted best on this forum ...

Thanks for your answer. I'll take a look in the specs you mentioned.

Good develpopments.
TAS


All times are GMT -7. The time now is 03:49 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.