Gnutella
产品品牌
未认领Gnutella 是一种去中心化的点对点文件共享协议,以及实现该协议的一系列兼容软件客户端。
最近更新 2026年8月22日
AI 爬虫读取
暂未记录到 AI 爬虫读取这个词条。
概览
Gnutella 是一种于 2000 年推出的去中心化点对点网络协议。与集中式或半集中式文件共享系统不同,它设计时没有单一服务器负责索引用户或控制网络。该名称也常用于指代兼容客户端应用的更广泛生态系统,尽管协议本身与任何单一软件产品不同。 最初的 Gnutella 客户端由 Nullsoft 的 Justin Frankel 和 Tom Pepper 开发,当时 Nullsoft 刚被 AOL 收购。Nullsoft 于 2000 年 3 月 14 日发布了第一个客户端供下载。该发布通过 Slashdot 提前宣布,导致几乎立即大量下载。次日,AOL 因法律问题从其服务器上移除了该软件,并阻止 Nullsoft 继续该项目。原计划以 GNU 通用公共许可证发布源代码并未通过原始开发工作实现。然而,该协议在几天内被逆向工程,独立开发者开始制作兼容的自由开源客户端。 这种去中心化的开发模式成为 Gnutella 的一个显著特征。Gene Kan 和 Spencer Kimball 是早期独立贡献者之一;他们帮助建立了开源社区的在线中心,并致力于 GNUbile(一个早期的 GPL 实现)。随着时间的推移,Gnutella 不再指一个官方客户端,而是指由多个供应商和项目实现的开放协议,包括 LimeWire、BearShare、Gnucleus、FrostWire、Morpheus 等应用。该网络名称通常被描述为 GNU 和 Nutella 的混合体,反映了开发者的许可计划和报道的工作习惯。Gnutella 不属于 GNU 项目,也与独立的 GNUnet 项目无关。 随着用户寻找 Napster 的替代品,尤其是在 2001 年 Napster 面临日益严重的法律压力后,该网络获得了大量关注。其架构最初依赖于查询泛洪:节点将搜索请求转发到相邻节点,直到达到跳数限制。这使得网络能够抵抗集中式关闭,但造成了严重的扩展和流量问题。随着参与度的增长,开发者引入了普通叶节点和更强大的超级节点的层级结构。Gnutella 0.6 时代的设计允许超级节点为叶节点路由流量,而查询路由表、动态查询、UDP 结果传递、推送代理及相关扩展减少了不必要的网络流量并提高了可靠性。 Gnutella 在 2000 年代中期达到了显著的采用率。据估计,2005 年 6 月该网络约有 181 万台计算机,到 2006 年 1 月超过 300 万个节点。到 2007 年底,据报道它是互联网上最流行的文件共享网络,估计份额超过 40%。这些数字描述的是网络参与度而非收入,因为 Gnutella 是一个开放协议,而不是传统的商业公司或订阅服务。 该生态系统受到 2010 年 LimeWire(其最著名的客户端之一)关闭的影响。美国联邦法院于 2010 年 10 月 26 日签署了同意令,要求 LimeWire 在唱片业原告提起的诉讼后停止分发和运营其软件。该行动导致网络活动显著下降,因为受影响的 LimeWire 版本包含远程禁用功能。由于该软件的分发条款允许修改,FrostWire 等分支继续独立存在,尽管它们不能使用 LimeWire 商标,且后来的 FrostWire 版本不再使用 Gnutella。因此,Gnutella 主要作为一种协议和去中心化技术标准而存在,而不是一个统一的消费者应用。
沿革
Gnutella 始于 2000 年初 Nullsoft 内部的一个软件实验。Justin Frankel 和 Tom Pepper 在 AOL 收购 Nullsoft 后不久开发了第一个客户端。该应用于 2000 年 3 月 14 日在 Nullsoft 的服务器上发布,并通过 Slashdot 提前宣传。大量用户几乎立即下载了它。次日,AOL 因法律问题移除了该程序,并指示 Nullsoft 不要继续开发。原计划的 GPL 源代码发布从未由原始团队完成。 撤回并未结束该项目。几天之内,程序员检查了协议并创建了兼容实现。这导致了分布式生态系统,而不是集中管理的产品线。Gene Kan 和 Spencer Kimball 是与新兴开源社区相关的首批独立人物之一,包括 GNUbile 的工作。因此,Gnutella 一词开始描述许多客户端共享的协议,而不是一个官方应用。其名称通常被解释为 GNU 和 Nutella 的组合;尽管提到了 GNU,但 Gnutella 与 GNU 项目或 GNUnet 没有组织关系。 Gnutella 的早期设计提供了 Napster 和 FastTrack 等半集中式网络的完全分布式替代方案。客户端连接到相邻节点,发出搜索,并在网络中转发查询。最初的 0.4 协议使用 ping、pong、query、query-hit 和 push 消息类型,而 HTTP 处理文件传输。这种结构使得网络难以通过查封一台服务器来禁用,但不受限制的查询泛洪消耗带宽,并且随着用户群的扩大变得越来越不可靠。 在 2001 年 Napster 的法律困境之后,该网络的受欢迎程度加速增长。开发者以架构和协议变更作为回应。最重要的是引入了超级节点:能够为能力较弱的叶节点路由流量的节点。在 0.6 时代的设计中,叶节点通常维护少量超级节点连接,而超级节点相互连接并执行大部分路由。查询路由协议表允许搜索定向到可能包含匹配材料的节点。动态查询、基于 UDP 的结果传递、推送代理、源交换、校验和、元数据和并行下载进一步减少了开销或提高了传输可靠性。 该生态系统通过 LimeWire、BearShare、Gnucleus、Morpheus、FrostWire 等客户端扩展。LimeWire Basic 于 2001 年成为自由开源软件,Morpheus 于 2002 年从 FastTrack 系统转向基于 Gnutella 的客户端。网络估计表明,2005 年 6 月约有 181 万台计算机,到 2006 年 1 月超过 300 万个节点。到 2007 年底,据报道 Gnutella 占据了互联网文件共享活动的 40% 以上。 2010 年法院下令关闭 LimeWire 是一次重大中断。唱片业原告和 LimeWire 于 2010 年 10 月 26 日由联邦法官签署了同意令。较新的 LimeWire 版本具有远程禁用功能,禁令使许多用户无法访问网络。分支可以在不同名称下继续存在,且不使用 LimeWire 商标;FrostWire 是一个避免禁用代码的例子,尽管后来的 FrostWire 版本不再使用 Gnutella。Gnutella 仍然最好被理解为一个不断发展的开放协议和兼容性生态系统,而不是一个拥有总部、所有权结构或统一商业管理的传统公司。
- 2010
LimeWire 关闭扰乱网络活动
[1]联邦法院同意令结束了 LimeWire 的分发和运营,导致 Gnutella 参与度显著下降。
- 2007
Gnutella 据报道成为领先的文件共享网络
[1]2007 年底的估计将 Gnutella 描述为最流行的文件共享网络,市场份额超过 40%。
- 2006
网络超过 300 万个节点
[1]到 1 月,估计参与人数超过 300 万个节点。
- 2005
网络达到估计 181 万台计算机
[1]当代估计参与人口约为 181 万台计算机。
- 2002
超级节点模型进入协议
[1]网络采用更可扩展的叶节点和超级节点结构,并辅以后来的路由和查询效率改进。
- 2001
LimeWire Basic 成为自由开源软件
[1]LimeWire 的自由开源分发有助于扩大对 Gnutella 网络的访问。
- 2000
首个 Gnutella 客户端发布
[1]Nullsoft 开发者 Justin Frankel 和 Tom Pepper 发布了原始客户端,AOL 随后因法律问题将其移除。
- 2000
独立实现出现
[1]在原始项目停止后,该协议被逆向工程,兼容的自由开源客户端开始出现。
产品与定位
作为集中式和半集中式文件共享网络的开放、去中心化替代方案,强调弹性、分布式控制以及由多个独立客户端实现。
点对点网络协议 · 2000
Gnutella 协议
核心开放协议使独立节点能够发现对等点、传播搜索、返回查询结果并协调文件传输。传统设计使用 ping、pong、query、query-hit 和 push 消息,而传输通常使用 HTTP。后来的实现添加了路由、完整性、元数据和传输扩展。
旧版协议规范 · 2000
Gnutella 0.4
原始文档化协议版本使用基于泛洪的搜索模型,节点通过相邻连接转发查询,直到达到跳数限制。它在历史上很重要,但被认为已过时,难以与当代实现一起使用。
可扩展网络架构 · 2002
Gnutella 0.6 风格网络
后来的架构将参与者组织为叶节点和超级节点。超级节点为叶节点路由搜索和网络消息,而查询路由表、动态查询、UDP 传递和推送代理减少了流量并提高了搜索和下载完成的可能性。
品牌决策
2010
LimeWire 分发和运营停止其他背景
唱片业原告对 LimeWire(最著名的 Gnutella 客户端之一)提起诉讼。
采取的行动
美国联邦法院签署同意令,要求 LimeWire 停止分发和运营。
后续影响
由于受影响的 LimeWire 版本被远程禁用,网络规模显著下降;独立分支在不同名称和商标下继续存在。
2002
采用超级节点架构换代背景
快速增长暴露了原始查询泛洪设计的带宽和可扩展性限制。
采取的行动
开发者引入了叶节点和超级节点,并辅以查询路由和其他流量减少机制。
后续影响
网络可以支持更多人口,并且比原始对等节点模型更选择性地路由搜索。
2000
AOL 停止 Nullsoft 对 Gnutella 的开发战略背景
AOL 在意外大规模公开发布后,因法律问题从 Nullsoft 的服务器上移除了初始客户端。
采取的行动
Nullsoft 被阻止继续原始项目,计划的官方源代码发布未进行。
后续影响
独立开发者逆向工程了该协议,并创建了定义 Gnutella 的多客户端开源生态系统。
来源1 个来源
引用本词条: 请引用规范词条页。 /brand-wiki/gnutella · 编辑方针 · 词条如何编纂