2000 年3月14 日,美国东部标准时间上午11:31, 地下黑客站点Slashdot邮寄列表中发表一个消息,说AOL的Nullsoft 部门已经发放一个开放源码的Napster的克隆软件? 这个能寻找和下载任何种类计算机文件的软件被命名为Gnutella。在2000 年3月15 日,美国东部标准时间4:25,美国有线新闻报道Nullsoft已经关掉这个可能比Napster公司更有潜力的分享文件的软件的下载, 可能的原因是Gnutella 造成对唱片巨头华纳音乐和EMI 的潜在的威胁, 当时AOL正在与华纳进行合并的谈判之中。 但是,此时软件已经被从Nullsoft 站点上下载了几千份,而且各种第三方组织很快就开始对Gnutella进行克隆,开发自己的客户版本.这些克隆的版本都与Nullsoft设计的Gnutella协议的相兼容,因此能彼此互相通讯并且和原先Nullsoft的客户端通讯.当人开始运行这些克隆的未被授权的客户端软件后,一个互相兼容的Gnutella应用网络开始增长并且用Gnutella 协议约定的无中心的交流方式。这个网络,在过去的2001年显著增长,开始被称为Gnutella 网络。
所有利用Gnutella 协议运行的客户端程序的计算机都被称为在Gnutella 网络( gNet) 上。 在互联网上,每台计算机只能同时连接另外一台计算机一次。 比如:当一个用户访问Amazon.com 时,她不在Yahoo.com。 两个场所相互独立。 在Gnutella 网络上,一个用户可以同时连接几台其他计算机。 信息同时可能从很多来源接收。
在Gnutella 网络上的每台计算机连接许多其他计算机( 点)。 这些点中的每个连接其他几台计算机。 这个过程无限持续。 如果一个用户连接4台计算机,每台计算机又连接其他4 台计算机,用户能与计算机的总数为4 + 4 * 4 = 20个用户进行信息交流。 这样的话,消息只沿着 network传递2次 .搜寻请求传送的次数也被称为生存时间或者叫TTL。 这样的话,用户的TTL为2。如果我们扩展上面的例子,假定我们的用户TTL 到3,并且在网络里的每台计算机连接4 台新计算机, 那么它能进行信息交流的计算机的总数4 + 4 * 4 + 4 * 4 * 4 = 84.因此,能与用户交流的计算机的数量与它的搜寻请求的TTL值和随TTL增长的计算机数目成指数增加的关系。 ? Gnutella 网络,理论上至少,能通过连接到达在因特网上的每台计算机。对一个Gnutella 网络怎样操作的更详细的解释来说,请看见Gnutella协议。
Gnutella 不是一个网站。 不包含网站。 在Gnutella 网络上可得到的内容不是来自网站或者Gnutella 兼容软件的发行者,它来自其他用户( 在他们自己的计算机上运行Gnutella 兼容软件)。 Gnutella 是一份联网协议, 它定义了在一个完全分散的网络环境下计算机彼此交流的方式。