纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。
有些网络(如Napster,OpenNAP,或IRC@find)的一些功能(比如搜索)使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。类似Gnutella或Freenet的网络则使用纯P2P结构来实现全部的任务。
历史
P2P架构体现了一个互连网技术的关键概念,这一概念被描述在1969年4月7日第一份RFC文档“RFC1,主机软件”中。而最近,在不用中心索引服务器结构实现多媒体文件交换的背景下,这个概念已经变的非常普遍了。
P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点依中央化程度 纯P2P: * 节点同时作为客户端和服务器端。 * 没有中心服务器。 * 没有中心路由器。 * 如Gnutella。 杂P2P: * 有一个中心服务器保存节点的信息并对请求这些信息的要求做出响应。 * 节点负责发布这些信息(因为中心服务器并不保存文件),让中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源。 * 路由终端使用地址,通过被一组索引引用来取得绝对地址。 * 如最原始的Napster。 混合P2P: * 同时含有纯P2P和杂P2P的特点。 * 如Skype。 依网路拓扑结构 结构P2P: * 点对点之间互有连结资讯,彼此形成特定规则拓扑结构。 * 需要请求某资源时,依该拓扑结构规则寻找,若存在则一定找得到。 * 如Chord、CAN。 无结构P2P: * 点对点之间互有连结资讯,彼此形成无规则网状拓扑结构。 * 需要请求某资源点时,以广播方式寻找,通常会设TTL,即使存在也不一定找得到。 * 如Gnutella。 松散结构P2P: * 点对点之间互有连结资讯,彼此形成无规则网状拓扑结构。 * 需要请求某资源时,依现有资讯推测寻找,介於结构P2P和无结构P2P之间。 * 如Freenet。相关概念 说到P2P,就不能不提BT,这个被人戏称为“变态”的词几乎在大多数人感觉中与P2P成了对等的一组概念,而它也将P2P技术发展到了近乎完美的地步。实际上BitTorrent(中文全称比特流,简称BT)原先是指是一个多点下载的P2P软件。它不象FTP那样只有一个发送源,BT有多个发送点,当你在下载时,同时也在上传,使大家都处在同步传送的状态。应该说,BT是当今P2P最为成功的一个应用。 如果解释一下的话,BT首先在上传者端把一个文件分成了多个部分,客户端甲在服务器随机下载了第N部分,客户端乙在服务器随机下载了第M部分。这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的第M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的第N部分。 有一句话可以作为BT最为形象的解释就是:“我为人人,人人为我”。而最初听到此概念时,有人对我说,别用BT,会坏你的硬盘的!大概指的就是前一句。现在看来,没有贡献怎么会有获取?这大概最可以概括BT下载传输的精髓。工具软件BTJoy,将这一技术以软件的形式完美起来,这个诞生仅有一年的软件已经迅速热遍了整个网络——对于BT下载的爱好者来说,120G的硬盘都可以被迅速塞满! 除了BT下载,另外一种下载方式就是利用Usenet上的资源。有人把他理解成p2p,其实并不正确。这种下载方式在国内并不为人所知,但在国外非常流行。主要原因是Usenet上的资源大多数是英文的或者其他语言,所以要求用户具有一定的英文水平。Usenet上的资源可以说是全球性的,而且下载速度极快,IP匿名,因此在西方国家是最受欢迎的网络下载工具。在新浪上可以下载到Usenet的工具,是非常好用的一款Usenet软件。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)