欢迎来到天天文库
浏览记录
ID:40751802
大小:238.96 KB
页数:5页
时间:2019-08-07
《Gnutella的构架及其工作原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Gnutellade的构架及其工作原理首先介绍Napster的体系架构与普通的实施一样,网站上有Web服务器负责维护信息并处理对信息的请求。Web浏览器允许个人用户连接服务器并查看信息。流量大的大型网站可能需要购买和维护数百台计算机来支持所有的用户请求。Napster首先提出了对等文件共享的概念。旧版的Napster中,人们将他们想要共享的文件存储在硬盘上并直接与其他人共享。用户运行一个用来实现共享的Napster软件,每一个用户计算机都成为了一个微型服务器。基本简单如下!你自己的计算机举例说明,如果您登录到旧版Napster下载一首歌曲,需要进行以下操作:1、计算机上启动Napster软件,
2、此时您的计算机会成为一个可以让文件为其他Napster用户所共享的微型服务器。2、您的计算机连接到Napster的中央服务器,它将会告诉中央服务器您的计算机上有哪些文件可以共享。因此,Napster的中央服务器有一个完整的共享歌曲列表,其中列出了当时与Napster连接的所有硬盘上每一首可用的共享歌曲。3、3、您输入有关一首歌曲的查询请求。假设您正在查找ThePolice乐队的歌曲“Roxanne”,Napster的中央计算机就会列出存储有这首歌的所有计算机。4、您从列表中选出这首歌的一个版本。5、的计算机连接到存储这首歌的用户计算机,并直接从那台计算机上下载这首歌曲。事实上Napster的创
3、始者采用这种方法有很多原因:一、Napster最终成长为可以提供数十亿首歌曲的网站,然而中央服务器不可能有足够的硬盘空间来存储所有的歌曲,也不可能有足够的带宽来处理所有的请求。二、Napster尝试利用允许朋友之间共享音乐的版权法漏洞。Napster背后的法律观念是:“所有人都是与朋友共享硬盘上的音乐。”法庭不同意这种逻辑,但是它给了Napster足够的时间来证明这种观念并使其壮大起来。这种方法取得了很好的效果并巧妙地应用了互联网体系架构,通过在数百万台计算机上分担下载文件的负载量,Napster实现了用其他任何方法都无法实现的任务。歌曲名中央数据库成了Napster的致命要害。法院下令Nap
4、ster必须停止共享音乐时,由于中央数据库的缺失而导致整个原初的Napster网络的毁灭。原初的Napster的消失,当时的状况让人感觉像是全世界有一亿左右的人渴望着能够共享越来越多的文件。故而出现另一个系统来填补这个空白只是时间的问题。Gnutella的体系架构最受欢迎的文件共享系统是另一个对等网络——Gnutella(或称Gnutella网络)。Gnutella与旧式Napster之间有两大相似点:1、用户将想要共享的文件放到硬盘上,并使其可供任何其他人以对等方式下载。2、用户使用一个Gnutella软件来连接Gnutella网络。Gnutella与旧式Napster之间也有两大不同:1、
5、没有使用中央数据库以存储Gnutella网络中的所有可用文件,使用的是分布式查询法。这样,网络上所有的计算机都能告知彼此可共享的文件。2、有许多不同客户程序可用于访问Gnutella网络。所以由于具有这两个特点,一个简单的法院命令很难关闭Gnutella,法院必须寻找一种方法在ISP和互联网的主干网级别上阻塞所有的Gnutella网络通信,才能阻止人们进行共享。Gnutella客户程序最初的Napster有一个“客户软件”——一个在用户计算机上运行以访问Napster服务器的软件。Gnutella提供了数十个客户程序。一些受欢迎的Gnutella客户程序有:uBearShareuGnucleu
6、suLimeWireuMorpheusuWinMXuXoloXGnutella客户程序如何查找歌曲,既然没有中央服务器来存储所有可用文件的名称和位置,您的计算机上的Gnutella软件又是如何从别人的计算机上搜索歌曲的呢?这个过程是这样的:u您输入想要查找的歌曲或者文件的名称。u您的计算机至少知道网络上的另一个Gnutella计算机,其原因是您已经通过输入IP地址告诉它该计算机的位置,或者因为Gnutella客户程序中有一个预先编制的Gnutella主机的IP地址。您的计算机会把您输入的歌曲名称发送给它所知道的Gnutella计算机。u这些计算机搜索本地硬盘以用来查看是否有请求的文件。如果有,
7、它们就会将文件名(以及计算机的IP地址)发送回请求者。u时,所有这些计算机还会将这个请求发送给与它们相连接的计算机,并重复这个过程。u每个请求都有一个TTL(生存时间)限制。一个请求在停止传播之前可能会传播六至七级。如果Gnutella网络上的每台计算机都只知道另外四台计算机,那么这意味着,如果传播至七级,您的请求可能会到达约8,000台其他的Gnutella计算机。很显然这是一个快速向数千台计算
此文档下载收益归作者所有