介绍编辑本段回目录
然而,现在,Gnutella把这种私人交互还给了因特网。当你运行Gnutella软件,和Gnutella网络连接时,你也完全公开了你带来的信息。它可能是一个文件,一个目录,或者你整个的硬盘驱动器(这样做并不可取)。
这种共享信息的能力是不可估量的。它使在你硬盘上的数据都是你认为有价值的。所以当你分享它的时候,你就在分享整个的因特网。并且你可以控制这种共享。决定停止共享?离线,拿走你想要的文件。想分享更多?选择更多的文件并共享它们。这确实相当简单。
Gnutella客户端软件主要是一个袖珍型的搜索引擎和文件服务系统。当你在Gnutella Network上搜索东西的时候,这个搜索就会传递给在你的Gnutella Network "horizon"中的每台机器。任何有信息匹配你的搜索的机器都会给你发消息。
现在来简单地说一下"horizon"。当你登录到Gnutella 网络上,你就象在海里游水的人一样。你只能看到在你视线内的人。在远一点,他们就会消失在你的视野里。这也是一样。当你登录后,你可以看到主机计数器在疯狂的工作。这是因为在你的视野里的计算机都在跟你到招呼。过一会,它的变化没那么快了,因为你已经把几乎所有的人已经记录下来了。随着时间的过去,由于在你的视野里的主机变化,你还可以看到计数器缓慢变化。
当你另一天登录的时候,你将看到的完全是陌生的面孔,可能是你登录的是网络的另一不同部分。完全不同的人群。完全不同的信息。
你可能会说:“如果我想要的不在我的视野里我怎么办?我的视野不大可能超过10000台主机。”是的。如果你想要的东西不在你的视野里,你是不幸运的。但是仍然有希望。这是一个概率游戏。
Gnutella是文件共享
当你有Napster、 SpinFrenzy、 CuteMX.,并且你与ftp站点,有web页,和所有其他东西,但是你没有找到你想要的。那就登录Gnutella。
Gnutella正是你所祈祷的。Gnutella上有各种各样的东西,并且当你命中,它能够保证你要的一定在那。它没有失效的链接,没有不相关的命中。而且如果你不想从Belize以2400 bps下在你所想要的,可以把它设在你的询问(query)里。
在Gnutella上的任何人都可以共享他们的资料。Gnutella上的客户也是服务者。你不仅可以寻找资料,也可以给他人提供资料。如果你有别人所要的资料,你就可以回答别人的请求,和GnutellaNet上其余的人共享。
Gnutella是匿名的
Napster和其它象它这样的一个问题就是他们是集中式的。所有这些商业的实时搜索引擎可能保存了记录,使得它可以给你发广告。至少它保留记录,以便他们知道一天的访问量并告诉他们的投资者。并且他们有可能运行一些数据挖掘程序来计算多少人搜索mp3,等等。这样他们可以知道顾客想要什么。
Gnutella停止了这些诡计。当你向GnutellaNet发出请求时,几乎没有询问。而且也不可能计算出谁要什么。每当你的请求通过时,这种请求是呈指数增长的。在下一节将仔细说。
总之,没有人保留记录,没有人剖析你。
Gnutella是打电话游戏
记得打电话游戏吗?当一个人小声的对你说,然后你再小声地对别人说,这样继续。最后一个人听到的话将和第一个人说的完全不同。Gnutella在很多方面和它差不多。
当你向Gnutella 发出请求时,你会说:我最近的朋友,当你找到制作草莓大黄饼的处方(recipes for strawberry-rhubarb pie)的时候告诉我一声,并且,告诉你的朋友。很明显,几轮之后,就有很多人在寻找你要的东西。并且,没有人知道是谁第一个提出这种请求,这正是Gnutella的两大好处。
Gnutella被设计成能够在和战争中存活
是的,它可能成为军需品。我们知道GnutellaNet不可能被象ICMP淹没(ICMP flood)这样简单的东西所击垮。当你被Smurfs侵袭的时候,你不会像Yahoo!那样束手无策。
Gnutella的概念就是拥有很多Gnutella服务的提供者,不可能全部崩溃。
Gnutella可以经受住饥饿的律师的控告
首先,Gnutella是一个协议。是自由得到的信息。没有哪个公司可以控告。没有哪一个实体真的负责Gnutella。
第二,Gnutella并不是促进音乐的盗版。它是一种技术,而不是音乐盗版工具。它是可靠的,是兆兆位数据的共享,是绝对不会被阻止的
Gnutella详解编辑本段回目录
产生与发展:
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 是一份联网协议, 它定义了在一个完全分散的网络环境下计算机彼此交流的方式。
Gnutella是一套开放式、非集中化得个人对个人搜索系统,主要用于通过因特网寻找和交换文件。Gnutella既不是公司,也不是一项特定的应用。它又不是网站。然而,有些网站提供关于Gnutella的新闻和信息(如gnutella wego.com、gnutella.co.uk和gnutellanews.com)。Gnutella是一种技术的名字,就像“电子邮件”和“Web”一样。最早的Gnutella客户端是由Nullsofe公司开发出来的。美国在线迅速关闭了该网站,但是在此之前已经有数千人下载了它。最早的版本是一个很好的起点,但有许多错误。经过很长一段时间,现在已经有许多不同的公司、个人和团体在开发基于不断发展的Gnutella协议的软件。Gnutella的特色 Gnutella是非集中化的。这意味着该网络的存在并不依赖于某家中央公司。如果一家公司倒闭了,Gnutella仍会继续运作。Gnutella的客户相互连接,而且没有中央服务器。要做到这一点,他们必须能找到其他用户,这可以通过于朋友相连、连接到其他用户的索引表,或者使用因特网中继聊天(IRC)来实现。Gnutella的优点 可以随意共享任何文件。1.非集中化—— 完全分散式的搜索系统提供有用的搜索功能,而不需要集中的搜索数据库。2.防火墙——当一个客户端正处在防火墙后同样可以进行友好的传输。3.以文档形式记录的协议(参加dss.clip2.com)。4.免费软件,任何客户端的代码都是公开的。5.许多客户端可以设定带宽,限制总的和每个客户端的上传速率,从而防止你的线路饱和。6.非匿名性——可以看到其他人在网上搜索什么东西。然而,对特定网址的查询是匿名的。7.能够改变端口 ——难以阻止/限制访问。8.能够定义你的内部网络,只留一个出口到因特网的其余部分。这使得别人难以阻止到Gnutella网络的访问。 Gnutella的缺点 有些人将上述的一些优点视为缺点。例如:1.由于部分带宽被用于维持到Gnutella网络的链接,所以速度可能会变慢,尤其是在拨号上网的情况下。这一问题正在被逐步解决。2.一些IT专家说使用Gnutella可能会给用户带来安全问题。3.缺少中央协调被认为会限制Gnutella网络的发展,但是依靠由软件开发者组成的松散团体的工作,网络的技术限制正被逐渐克服。在2001年7月,Gnutella网络已经能一次负担数万名用户,这比2000年12月的数字高20倍。4.该计划可能会成为令版权所有者长期头痛的问题。更新的Gnutella计划正在建立一个规模巨大、不断健全的网络。2001年6月,Download.com网站报告说在一星期内有近100万人下载了Gnutella的最新一代程序 Bare-Share和LimeWire。一些人认为像Gnutella这样的个人对个人系统除了交换音乐文件外还有其他一些用途,如搜索雅虎之类的网站上的信息。随着Gnutella工作的继续,LimeWire背后的公司在2001年夏季为关于Gnutella的最佳研究报告提供现金奖励 Gnutella网络看起来将成为因特网上一个永久的、标准化的软件系统。Gnutella网络的兴旺对于娱乐业是一个坏消息,后者曾认为它不用惧怕Gnutella,因为其技术问题将限制网络的规模。然而,2001年使用量的爆炸性增长导致对个别Gnutella用户侵权行为的尝试性起诉。但是,Gnutella的开发者不大会承担法律责任,因为其程序可以被用于许多其他用途,而且与Napaster不同,他们不需要维护任何有版权材料的数据库。
Gnutella文件共享体系架构的工作原理编辑本段回目录
最初的Napster迅速走红是因为它提供了一种独特的产品——您几乎不费吹灰之力就可以从一个巨型数据库中免费下载音乐。您不再需要到音像制品店去购买音乐唱片,不再需要为此付钱。同样,您也不再需要为了一张CD而去排队,也不再需要找一盘磁带来翻录。并且,几乎世界上所有的音乐都可以在此获得。
基于一开始Napster分发的产品是非法的这一特点,该网站的主要弱点就在于其体系架构——创始者设计整个系统的方法。一旦法院判定Napster涉嫌版权侵犯,下令关闭这个网站也就顺理成章了。
Napster涉嫌版权侵犯的事实对其用户来说无关紧要,他们中的大部分人都转向了另外一个新的文件共享体系架构——Gnutella。在这篇文章中,您将会了解到Gnutella与旧式的Napster之间的不同之处,正是这种不同使得Gnutella能在当今对自己不利的法律环境下得以生存。
Napster首先提出了对等文件共享的概念。旧版的Napster中(Napster在2003年以一个合法的付费音乐网站的身份重新面世),人们将他们想要共享的文件(通常为MP3音乐文件)存储在硬盘上并直接与其他人共享。用户运行一个用来实现共享的Napster软件,每一个用户计算机都成为了一个微型服务器。
如果您登录到旧版Napster下载一首歌曲,需要进行以下操作:
- 在计算机上启动Napster软件,此时您的计算机会成为一个可以让文件为其他 Napster用户所共享的微型服务器。
- 您的计算机连接到Napster的中央服务器,它将会告诉中央服务器您的计算机上有哪些文件可以共享。因此,Napster的中央服务器有一个完整的共享歌曲列表,其中列出了当时与 Napster连接的所有硬盘上每一首可用的共享歌曲。
- 然后,您输入有关一首歌曲的查询请求。假设您正在查找The Police乐队的歌曲“Roxanne”,Napster的中央计算机就会列出存储有这首歌的所有计算机。
- 您从列表中选出这首歌的一个版本。
- 你的计算机连接到存储这首歌的用户计算机,并直接从那台计算机上下载这首歌曲。
- Napster最终成长为可以提供数十亿首歌曲的网站,然而中央服务器不可能有足够的硬盘空间来存储所有的歌曲,也不可能有足够的带宽来处理所有的请求。
- Napster尝试利用允许朋友之间共享音乐的版权法漏洞。Napster背后的法律观念是:“所有人都是与朋友共享硬盘上的音乐。”法庭不同意这种逻辑,但是它给了Napster足够的时间来证明这种观念并使其壮大起来。
歌曲名中央数据库成了Napster的致命要害。法院下令Napster必须停止共享音乐时,由于中央数据库的缺失而导致整个原初的Napster网络的毁灭。
原初的Napster的消失,当时的状况让人感觉像是全世界有一亿左右的人渴望着能够共享越来越多的文件。故而出现另一个系统来填补这个空白只是时间的问题。
- 用户将想要共享的文件放到硬盘上,并使其可供任何其他人以对等方式下载。
- 用户使用一个Gnutella软件来连接Gnutella网络。
- 没有使用中央数据库以存储Gnutella网络中的所有可用文件,使用的是分布式查询法。这样,网络上所有的计算机都能告知彼此可共享的文件。
- 有许多不同客户程序可用于访问Gnutella网络。
Gnutella客户程序如何查找歌曲
既然没有中央服务器来存储所有可用文件的名称和位置,您的计算机上的Gnutella软件又是如何从别人的计算机上搜索歌曲的呢?这个过程是这样的:
- 您输入想要查找的歌曲或者文件的名称。
- 您的计算机至少知道网络上的另一个Gnutella计算机,其原因是您已经通过输入IP地址告诉它该计算机的位置,或者因为Gnutella客户程序中有一个预先编制的Gnutella主机的IP地址。您的计算机会把您输入的歌曲名称发送给它所知道的Gnutella计算机。
- 这些计算机搜索本地硬盘以用来查看是否有请求的文件。如果有,它们就会将文件名(以及计算机的IP地址)发送回请求者。
- 时,所有这些计算机还会将这个请求发送给与它们相连接的计算机,并重复这个过程。
- 每个请求都有一个TTL(生存时间)限制。一个请求在停止传播之前可能会传播六至七级。如果Gnutella网络上的每台计算机都只知道另外四台计算机,那么这意味着,如果传播至七级,您的请求可能会到达约8,000台其他的Gnutella计算机。
这种方法有一个很大的优点——Gnutella可以在任何时候工作,只要您至少能联系到另外一台运行Gnutella软件的计算机,您就能在网络中进行查询。任何一个法院命令都不能关闭这个系统,因为这个过程中没有可以控制一切的计算机。不过,Gnutella至少有三个缺点:
- 不能保证您想要的文件能在您可以联系到的这8000台计算机中获得。
- 查询文件时,如果您想要获得完整的响应,需要一定的时间。有可能需要1分钟或者更多的时间才能收到所有的七级深度的响应。
- 您的计算机是这一网络的一部分,它一直在应答和传送请求,也一直处在回送响应的过程中。您需要出让一些带宽用来处理来自所有其他用户的请求。
上图是一个较为典型的搜索截图。您所要做的全部工作就是输入您要查找的文件名(或关键字)。您也可以选择文件类型:音频、视频等或“所有类型”。XoloX客户程序发送出包含您的搜索字符串的信息,经过大约30至60秒,搜索窗口中就会出现搜索结果,这些结果来自数千台处理了您的查询请求的计算机。
您可能会在搜索窗口中注意到一个分数。这个分数代表存储有此相同文件的当前在线计算机的数量。选择一个分数值高的文件,可以增加您获得自己所需文件的机会。
在您的计算机中保存了这些文件之后,您就可以在XoloX目录和XoloX的“File”(文件)窗口中找到它们,然后您可以随心所欲地与别人共享这些已经下载的文件。为此,您首先需要在“Preference”(首选项)对话框中指定要共享的目录和文件类型。
您还可以控制当人们从您的计算机中下载文件时允许XoloX占用的输出带宽。-
这样能防止人们占用您全部的上行流量带宽。
Gnutella本身是合法的。没有法律反对共享无版权文件。当人们使用Gnutella分发具有版权的音乐或者电影时,它的使用就变成违法的了。就是这个问题使得Napster一度陷入困境。音像制品行业对Gnutella很恼火,但是目前还没有找到简易的方法来控制它。
攻击Gnutella的体系架构是破坏文件共享行为的一种途径。目前正在使用的有两种方式:
- 发送大量伪造的搜索包使Gnutella网络超负荷。
- 使Gnutella服务器充斥损坏的文件。
现在的争论在于文件共享到底造成了多少经济损失。共享的文件是赃物吗?还是像电台播放一样只是免费广告的一种形式?