Gnutella
   HOME

TheInfoList



OR:

Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computers increasing to over three million nodes by January 2006.On the Long-term Evolution of the Two-Tier Gnutella Overlay
Rasti, Stutzbach, Rejaie, 2006. See Figure 2a.
In late 2007, it was the most popular file-sharing network on the Internet with an estimated market share of more than 40%.


History

The first client (also called Gnutella) from which the network got its name was developed by Justin Frankel and
Tom Pepper Tom Pepper (born August 24, 1975 in Des Moines, Iowa) is a computer programmer best known for his collaboration with Justin Frankel on the Gnutella peer-to-peer system.Oram, Andrew ''Peer-to-peer: harnessing the benefits of a disruptive tech ...
of
Nullsoft Nullsoft, Inc. was an American software house founded in Sedona, Arizona, in 1997 by Justin Frankel. Its products included the Winamp media player and the SHOUTcast MP3 streaming media server. In later years, their open source installer ...
in early 2000, soon after the company's acquisition by
AOL AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo! Inc. ...
. On March 14, the program was made available for download on Nullsoft's servers. The event was prematurely announced on
Slashdot ''Slashdot'' (sometimes abbreviated as ''/.'') is a social news website that originally advertised itself as "News for Nerds. Stuff that Matters". It features news stories concerning science, technology, and politics that are submitted and eval ...
, and thousands downloaded the program that day. The
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
was to be released later, under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
(GPL); however, the original developers never got the chance to accomplish this purpose. The next day, AOL stopped the availability of the program over legal concerns and restrained Nullsoft from doing any further work on the project. This did not stop Gnutella; after a few days, the protocol had been
reverse engineered Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
, and compatible
free and open source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
clones began to appear. This parallel development of different clients by different groups remains the ''
modus operandi A ''modus operandi'' (often shortened to M.O.) is someone's habits of working, particularly in the context of business or criminal investigations, but also more generally. It is a Latin phrase, approximately translated as "mode (or manner) of o ...
'' of Gnutella development today. Among the first independent Gnutella pioneers were
Gene Kan Gene Kan (September 6, 1976 — June 29, 2002) was a British-born Chinese American peer-to-peer file-sharing programmer who was among the first programmers to produce an open-source version of the file-sharing application that implemented the Gnutel ...
and Spencer Kimball, who launched the first portal aimed to assemble the open-source community to work on Gnutella and also developed "GNUbile", one of the first open-source (GNU-GPL) programs to implement the Gnutella protocol. The Gnutella network is a fully distributed alternative to such semi-centralized systems as
FastTrack FastTrack is a peer-to-peer (P2P) protocol that was used by the Kazaa, Grokster, iMesh and Morpheus file sharing programs. FastTrack was the most popular file sharing network in 2003, and used mainly for the exchange of music mp3 files. The ne ...
( KaZaA) and the original
Napster Napster was a peer-to-peer file sharing application. It originally launched on June 1, 1999, with an emphasis on digital audio file distribution. Audio songs shared on the service were typically encoded in the MP3 format. It was founded by Sha ...
. The initial popularity of the network was spurred on by Napster's threatened legal demise in early 2001. This growing surge in popularity revealed the limits of the initial protocol's scalability. In early 2001, variations on the protocol (first implemented in
proprietary {{Short pages monitor * Morpheus differs significantly and may have completely independent code from the GnucDNA engine. Morpheus can function as a ''modern'' ultrapeer whereas other GnucDNA clients cannot. * Gnucleus and Kiwi Alpha use the GnucDNA engine. * BearFlix, a functionally limited version of the BearShare 5.2 series, can search only for images or videos and shared videos are limited to a relatively short length. * giFTcurs, Apollon, FilePipe, giFToxic, giFTui, giFTwin32, KCeasy,
Poisoned A poison can be any substance that is harmful to the body. It can be swallowed, inhaled, injected or absorbed through the skin. Poisoning is the harmful effect that occurs when too much of that substance has been taken. Poisoning is not to ...
, and Xfactor are GUI front-ends for the
giFT A gift or a present is an item given to someone without the expectation of payment or anything in return. An item is not a gift if that item is already owned by the one to whom it is given. Although gift-giving might involve an expectation ...
engine. * etomi uses outdated Shareaza networking code. * MP3 Rocket, 360Share, LemonWire, MP3Torpedo, and DexterWire are variants of LimeWire. *
FrostWire FrostWire is a free and open-source BitTorrent client first released in September 2004, as a fork of LimeWire. It was initially very similar to LimeWire in appearance and functionality, but over time developers added more features, including supp ...
(up to version 4.21.8) is nearly identical to LimeWire 4.18 but versions greater than 5.00 no longer use gnutella. * Acquisition and Cabos are custom front-ends overlaying the LimeWire engine. * LimeWire Pirate Edition (5.6.2) is a resurrected version of the unreleased LimeWire 5.6.1 alpha, thus has similar features minus automatic updates (with nags) and centralized remote controls to disable core functions like searches and downloads were removed.


Gnutella2

The Gnutella2 protocol (often referred to as G2), despite its name, is not a successor protocol of Gnutella nor related to the original Gnutella project, but rather is a completely different protocol that forked from the original project and piggybacked on the Gnutella name. A sore point with many Gnutella developers is that the ''Gnutella2'' name conveys an upgrade or superiority, which led to a flame war. Other criticism included the use of the Gnutella network to bootstrap G2 peers and poor documentation of the G2 protocol. Additionally, the more frequent search retries of the Shareaza client, one of the initial G2 clients, could unnecessarily burden the Gnutella network. Both protocols have undergone significant changes since the fork in 2002. G2 has advantages and disadvantages compared to Gnutella. An advantage often cited is that Gnutella2's hybrid search is more efficient than the original Gnutella's
query flooding Query flooding is a method to search for a resource on a peer-to-peer network. It is simple and scales very poorly and thus is rarely used. Early versions of the Gnutella protocol operated by query flooding; newer versions use more efficient searc ...
. However, Gnutella replaced query flooding with more efficient search methods, starting with Query Routing in 2002. This was proposed in 2001 by Limewire developers. An advantage of Gnutella is its large user base, which numbers in the millions,. The G2 network is approximately an
order of magnitude An order of magnitude is an approximation of the logarithm of a value relative to some contextually understood reference value, usually 10, interpreted as the base of the logarithm and the representative of values of magnitude one. Logarithmic di ...
smaller.G2 Network Statistics
Population ~200,000 January 2010.
It is difficult to compare the protocols in their current form. The choice of client, on either network, probably affects the end user just as much.


See also

*
Bitzi Bitzi was a website, operating from 2001 to 2013, where volunteers shared reports about any kind of digital file, with identifying metadata, commentary, and other ratings. Information contributed and rated by volunteers was compiled into the ''Bi ...
* Gnutella crawler * GNUnet


References

* Dye, Mark. McDonald, Rick. Rufi, Antoon W., 'Network Fundamentals', Cisco Networking Academy, Cisco Press, Ch 3. p91 * Dye, Mark. McDonald, Rick. Rufi, Antoon W., 'Network Fundamentals', Cisco Networking Academy, Cisco Press, Ch 3. p90


External links


Gnutella Forums
Official user support boards
Gnutella Protocol Development Wiki
(on
Internet Archive The Internet Archive is an American digital library with the stated mission of "universal access to all knowledge". It provides free public access to collections of digitized materials, including websites, software applications/games, music, ...
, 2009)
Gnutella Protocol Development Portal
(on Internet Archive)
Gnutella official website
(on Internet Archive)
GnuFU
''Gnutella For Users: A description of the inner workings of the gnutella network in User-Friendly Style''


Glasnost
test Gnutella traffic shaping (
Max Planck Institute for Software Systems The Max Planck Institute for Software Systems (MPI-SWS) is a computer science research institute co-located in Saarbrücken and Kaiserslautern, Germany. The institute is chartered to conduct basic research in all areas related to the design, ...
) {{File sharing protocols File sharing networks Application layer protocols Hash based data structures