Gnutella文件共享网络协议
Gnutella(发音为 /nʊˈtɛlə/ 单词中的g不发音,或者发音为/gnʊˈtɛlə/)是一种文件共享网络。其在本领域内占有超过40%的市场份额,是Internet上最流行的一种文件共享网络。截至2005年6月,Gnutella网络已经具有181万台计算机。
Gnutella网络的第一个客户端由Nullsoft公司的贾斯汀·法兰科(Justin Frankel)与汤姆·帕勃(Tom Pepper)于2000年早期最先开发。同年3月14日,该程序被放在Nullsoft的服务器上并允许公众下载。该程序的源代码稍后在GNU通用公共许可证下被发布。
与半集中式网络如FastTrack(KaZaA)以及Napster不同,Gnutella网络是完全分布式的。其最初的流行是源于2001年早期Napster由于法律纠纷而被关闭的威胁。不断增长的用户也使得该协议的最初版本暴露了不少缺陷。2001年早期,各种不同版本的协议(最初以专有闭源客户软件形式实现)使得Gnutella的扩展性得到了增强。与先前的协议将每一个用户节点都当作用户以及服务器不同,改进过的协议将某些用户当作"超节点"(ultrapeer),其为与之连接的所有用户路由搜索请求及回应。
这些发展使得Gnutella网络进一步吸引了更多用户。2001年晚期,一种Gnutella客户端软件LimeWire成为免费开源软件。2002年2月,Morpheus,一个商业文件共享开发群,放弃了原先的基于FastTrack的端到端软件,并发行了新的基于免费开源Gnutella客户端软件Gnucleus的新客户端软件。
"Gnutella"这个词语现在被来指作被不同的客户端软件使用的一种开放网络协议,而不用来指作任何一个单独的项目或者某一个软件。由于许多不同的组织都在开发新的客户端软件,而且该协议本身也将不断演变,Gnutella这个词语的意义在将来或许也会变化。
Gnutella这个名字是GNU与Nutella的混成词:人们普遍认定法兰科与帕勃在开发Gnutella项目的时候吃了许多的Nutella,并且希望在GNU通用公共许可证下完成项目。Gnutella并未与任何GNU项目相关联;关于Gnutella在GNU中的相关项目,可以参见 GNUnet。