I do not know exactly when a TTL is too high, but LimeWire defaults to 5 TTL.  (TTL means "Time To Live").  But I can tell you why.  Whenever you search for something using the Gnutella network, you broadcast your seach (with a ping) that has a default TTL of five.  When another Gnutella client receives this search, it will look for anything in it's library that matches.  If something matches, a pong will be sent back to you, telling you that you have 1 or more search results.  But your search doesn't end there.  The user will also broadcast your search to other Gnutella clients, but this time, he sends it with a TTL of 4.  The clients that receive that send it on with 3, the next ones with 2, and the last with ones with a TTL of 1.  When it reaches 0, the search is no longer forwarded or broadcasted.  If your TTL is higher, you can find more results.  But there is a problem with this.  The little pings and pongs created from a search can quickly clog the network if your TTL is higher than 5.  TTL is similar to exponential values due to the fact that a search is broadcast to all connected hosts.  TTL doesn't mean that you are searching 5 people, but rather, how long the search lasts as it is passed over the network.  A TTL of 5 is a good balance between potential search horizon and bandwidth constraints.  So, if I were you, I would leave my TTL at a value of 5 or less.  Anything higher will quickly degrade the integrity and efficiency of the Gnutella network.             |