Gnutella2 Specifications
An anonymous reader writes "After lots of heated debate regarding Gnutella2, (first story and more recent story), the specifications have finally been released. There is a mirror here. Let the debates begin."
← Back to Stories (view on slashdot.org)
Two questions:
1. Can this version prevent abuse from folks that try to flood the system with bogus or damaged files?
2. Will this version enable people to download anonymously?
The jury it still out on Gnutella2 - it isn't clear if a brand new protocol is really necessary or if Gnutella can just be extended to incorporate new features (Gnutella is pretty extensible after GGEP, etc.).
What the jury has already decided on is the bad form that the Gnutella2 developers displayed when they first stole Gnutella's name without the approval of the Gnutella community and then used Gnutella to bootstrap their fledgling network.
smd4985
As a person who purchased the Limewire Pro version twice, I have to disagree with Adam Fisk's FUD. As a longtime user of Limewire (indeed, even the recent versions), I'm saddened by this FUD. I'm now a happy Shareaza user.
Why would Shareaza want to bootstrap off the Gnutella name? To me, Gnutella certainly embodies a spirit of openess, but it also reminds me of the worse performing P2P app there is (with certain exceptions).
Gnutella2, no matter how you feel about the name, simply out performs many of the current P2P programs out there, including the newest version of Limewire. It is also developed at a much faster pace than most clients, and its free. Its also free of ads and spyware.
To say that Gnutella2 offers nothing better than Gnutella just doesn't seem true to me. I can tell the difference, and I'd imagine a lot of other people can too.
Limewire was touting GUESS as an enhancement to Gnutella that has been abandoned. It was for this enhancement that I registered for Limewire Pro the second time. Now, I find out that they are just going to make a few changes to the old protocol. That's not what I invested/paid for.
I also think its silly that the Gnutella community at large refuses to even look at this new protocol because of the way it was introduced. It was introduced because we are all sick of the slow pace of development in the Gnutella community. On the internet, 6 months might as well be 2 years.
Until I see otherwise, classic Gnutella is all but dead. It's inefficient, with a limited horizon, and traffic intensive.
I'm also sorry that I registered and supported Limewire.
To be more to the point -- this is NOT Gnutella. The Gnutella developers are not happy about the so-called "Gnutella" 2 since it goes against their wishes in many ways. Basically this one individual hijacked the name to push his own ideas.
...
From the last story it's pretty damned clear that "Gnutella" 2 is not going to be a particularly helpful or effective protocol. As someone who uses the real Gnutella (sometimes even for perfectly legit purposes) and thinks it works, I'll stick to the real Gnutella. It keeps getting better
simon
home page
Linux also didn't hijack the Unix name (don't try to make the case that "Linux" is a varient of "Minix"). Everyone was using the Unix name for all sorts of Unix variants. Gnutella 2 is a marketting stunt, and you are furthering that stunt right now. Honestly, if you knew more about what you were doing, I think you'd be embarrassed about your above comment.
Adam Fisk
Um.
First you say "It has nothing whatsoever to do with Gnutella, however. It's a separate protocol that is bootstrapping off of the Gnutella name."
Then you say "[Mike's Gnutella2 improvements] are innovations developed on Gnutella itself. These aren't simply close copies -- the protocols he cites are, in fact, Gnutella protocols"
These statements appear to be contradictory.
You are clearly an informed user, so I will go into the details of LimeWire/Gnutella development as well as more detailed reasons for my above comments. I and Susheel Daswani wrote the original GUESS protocol, and we very openly shared our ideas regarding GUESS with Mike in particular, having no idea that there would be consequences for our openness. GUESS is fully implemented in LimeWire and has been for some time. We have not released that implementation for reasons that are vital to this conversion, including:
1) After extensive *collaboration* with the rest of the Gnutella community, we came to the realization that any UDP-based protocol would almost surely require a custom flow control layer to be written on top at some point down the road. Without this layer, congestion will simply starve all TCP connections of any available bandwidth, as TCP will continually backoff as UDP indiscriminately consumes the released bandwidth. This is bad for the use. Developing a flow control layer is a significant burden to the developer. Mike's Protocol does not do this, and it will cause congestion on the Internet as a result. It will also be one of the primary reasons that few developers will code for it.
2) We came to the realization that we could achieve the same efficiency gains with a far safer TCP implementation. This implementation relys on selective querying (dynamically adjusting the reach of a query based on the popularity of the content being searched for), as well as the exchanging of file indexes between Ultrapeers to limit traffic. This implementation is also significantly simpler than UDP-based architectures, and does not pose the same security concerns. We may at some point use GUESS for specific purposes, but we will likely not make GUESS the primary search architecture because we are able to achieve the same efficiency gains by better and more responsible means.
In short, we did not rush our client out the door using GUESS because our open collaboration with other developers led us to realize that better solutions were available and that a raw UDP solution was, in fact, dangerous in terms of network congestion, and even irresposible to network administrator everywhere attempting to cope with bursts of UDP traffic. Becuase Mike did not develop his protocol openly, he was unable to do this.
Mike's Protocol is able to use this architecture in large part because it's network is so small. It's possible that it scales better than I think it does, but I doubt it. The search architecture story tells much about why open protocols make sense -- because everyone collaborates to develop the best protocol possible.
Best,
Adam Fisk
Adam Fisk