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. |