BW(JXTA book的作者)给出这样一个定义-P2P使得任何网络装备可认为其他网络装备提供服务(Peer-to-peer technology enable any network-aware device to provide services to another network-aware device)
我个人的懂得是P2P网络是-一个网络中的所有节点(装备)的角色、行动、义务和任务都是平等的(对等的)
望一下我们现今的网络构造-
大多数情形下,我们使用一种称之为客户机/服务器(Client/Server,简称C/S)的网络模式好比流行的WWW,各种网络游戏等它们的共同特色是
都须要有一个中央服务器来处置绝大部门的运算工作
客户端和服务段处在完全不同的角色中客户端更被动,通常是发送一个恳求而服务端处在一个安排的位置,获取这个恳求,入行盘算,然后返回一个成果来相应这个恳求
即便如Email这种望上去比拟不同的网络利用,也对Client和Server有着显明得分工
这类网络利用模型有着一个显明的毛病就是-跟着服务的客户数量标增多,服务端所须要占用的资源也随之增添,显而易见最终制约了client的数量标增添
(这种集中式的模型好像违反了Internet的初衷,the ARPANET)
并且,我们须要许多暗藏在Internet深处的服务的支撑才能获取我们须要的服务,如DNS,如路由这也就是为什么即便每台机器都开设一个web server,也无法被全体被拜访到(因为IP地址的限制,不可能每台机器都有一个静态的IP或是因为内部网络的原因,也许即便您有一个静态不变的内部地址,也可能没有一个路由达到您的机器或是拜访被防火墙过滤9)
并且因为现在的Internet过火的依赖于DNS和网关,只要其中有一个服务出了%26quot-问题%26quot-,相应的其他任何服务就都无法获得
%26quot-Edge of Internet%26quot--
另一个有趣的现象是-因为刚才所说的DNS和路由的限制,可能有数以亿计的连在Internet上的盘算机无法被其他机器拜访这些盘算机组成了所谓的%26quot-Edge of Internet%26quot-(它们属于Internet的一部门,却不被整个Internet认可,就像处在社会边沿一般充斥着矛盾和孤寂)我们来做个盘算-
假设同时只有1千万台100MHz的盘算机衔接在网络上(事实上遥不只这些),每台可以提供100兆的空余空间、1000bps的空余带宽和10%的空余CPU时光因此这些机器总共提供了10PB(10^15bytes)的存储空间,100亿bps的带宽(大约是1.25GBps)和10万MHz的盘算才能!这是多么可观的数字,如果都能加以利用,或是只是开发其中的一部门…….
Google的麻烦-
我们通常使用的Google就是一个有名的集中式网络服务的例子Google中检索的信息依赖着一个宏大的数据库(大于1.6 billion,即便这样Google所保留的数据也只占整个Internet的很小一部门,几个数量级的差异)这个数据库必需每天更新,以保证信息的即时性,即便这样Google方便一遍整个Internet也须要十几天的时光如何能更好的提供搜索服务是良多现今的搜索引擎始终没有措施解决的问题除此之外,Google还有良多麻烦-
Google的服务是树立在一个庞大数量标Linux集群上的(超过10000台)保护这么庞大的一群主机就够受的了
一旦Google产生了故障,所有的服务就都玩完了不要说Google产生故障,如果DNS,路由等除了或者或那的问题……
因为Internet中数据的数量庞大且种类多样Google不仅无法提供一个正确的索引,也无法提供一个完全的索引
Google只能望到%26quot-静态%26quot-的数据,它无法拜访到处在数据库里的数据
P2P的许诺(宣言)
提供一个真正的完全平等,自由的互联网
使用很少的资源耗费而提供高可靠性的服务
这好像非常抽象,事实上连我自己也不太明白我在说些什么举个例子先-
音乐喜好者kert想在Internet上找一首歌,%26quot-Sex Pistol%26quot-的%26quot-My way%26quot-通常他使用Google来搜索相干的要害字%26quot-Sex Pistol%26quot- +%26quot-My way%26quot-因为只是简略的依赖要害字匹配的方法,Google通常会返回几百或是几千条匹配的记载,当然包含不相干的那些(绝大多数,尤其是当您的要害字中呈现诸如Sex之类的词汇)作为一个音乐喜好者,kert通常会耐着性子在这几千条记载中细心寻找(头晕),有时找到一个可能性极大的链接却因为链接失效而伤心想象一下,Google已经是世界上最好的搜索引擎之一了
如果换成一个P2P网络利用又会如何?P2P网络会将kert的搜索恳求发送给每一个衔接在网络上的节点(peer),每个节点会在自己所管理的资源中查找是否含有匹配的对象,然后对kert的恳求做出答复和那种集中式的搜索服务比拟,将相应交给每一个节点的利益是显而易见的-
因为响应由节点即时完成,而不是像集中式的服务那样将在可能已经由时的数据中追求谜底这种方法更正确,不会呈现让人沮丧的过时衔接另外因为是由节点自由处置恳求,而非传统的在静态网页中寻找谜底,正确水平更高
恳求散布到了Internet的每个角落,信息更完全,当然得到成果的可能性就越大
恳求散布到了Internet的每个角落,不须要大批的主机群,不会有网络梗阻
kert很确定这个世界上有与他喜好雷同的fans,因此他信念十足-)
刚才我们提到,一个恳求会发送至P2P网络中的每个节点这好像很不可思议,但是事实上(至少在理论上)这是P2P网络的特性之一因此在P2P网络中,您所享受的服务的是一个由成千上万台盘算机组成的cluster提供的多么神奇而令人高兴!
即便是最基础的%26quot-路由%26quot-服务,也是有所有节点共同提供的因此不在会有因为某个结点的故障或是人为原因而造成的无法链接的现象了您面对的是一个友善、自由、平等的群体而非强权(路由)和独裁(DNS)
from-javaresearch.org
参考文献-http-//www.matrix.org.cn/resou
转载请注明出处。