Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Gnutella bezeichnet ein Peer-to-Peer -Netzwerk und dessen spezifisches Übertragungsprotokoll.
Das Gnutella-Protokoll wurde durch Justin Frankel definiert der am 14. März 2000 erste Client -Software für das Gnutella-Netzwerk die Beta-Version des ebenfalls Gnutella bezeichneten Programmes zum Herunterladen im Internet freigab. Frankels Arbeitgeber AOL zwang ihn jedoch nach kurzer Zeit Projekt aufzugeben und das Programm nicht weiter veröffentlichen. Das Programm war jedoch zu diesem bereits weit verbreitet und durch fremde Webseiten oder Peer-to-Peer -Netzwerke weiterhin verfügbar.
Einige Zeit später gelang es einer von unabhängigen Entwicklern das Gnutella-Protokoll zu entschlüsseln ihre Ergebnisse zu veröffentlichen. Daraufhin wurden zahlreiche Client -Programme für das Gnutella-Netzwerk entwickelt die auch Leistungsumfang des Netzwerkes deutlich erweiterten.
Vorbild und Anreiz für das Gnutella-Netzwerk in weiten Teilen das Peer-to-Peer -Netzwerk Napster welches bereits seit Juni 1999 einen Austausch von Musikdateien ermöglichte. Durch die überwiegend getauschten Inhalte geriet die Betreiberfirma Napster jedoch immer öfter in rechtliche Konflikte. Motivation war es ein Netzwerk zu errichten im Gegensatz zu Napster ohne zentrale Server und somit auch ohne zentralen Betreiber den rechtliche Vorwürfe hätten erhoben werden können sollte.
Das Gnutella-Netzwerk ist ein vollständig dezentrales Netzwerk . Das bedeutet dass jeder Benutzer eine Client -Software verwendet und es keine zentralen Server gibt welche die Suchanfragen bearbeiten. Startet Benutzer des Netzwerkes eine Suchanfrage so wird zunächst nur an benachbarte Systeme weitergeleitet. Diese dann ihrerseits die Anfrage an ihre benachbarten weiter bis die angeforderte Datei gefunden wurde. kann eine direkte Verbindung zwischen suchendem und Benutzer für die Datenübertragung hergestellt werden.
Der besondere Vorteil dieser Netzwerkstruktur ist Ausfallsicherheit da Suchanfragen selbst dann weitergeleitetet werden wenn einzelne Teile des Netzwerkes zeitweise unerreichbar Nachteilig dagegen ist die lange Dauer der da es keine zentralen Index- Server gibt und die hohe Netzwerkbelastung durch teils ziellosen Weiterleitungen der Suchanfragen.