1.2.2分布式P2P
分布式P2P没有中心服务器,各对等体随机接入网络,通过与其相邻的对等体直接连接形成整个网络体系,每个对等体的功能相似、地位平等,其拓扑如图2所示。
由于没有中心服务器记录共享资源的索引信息等,对等体通过转发请求共享资源的查询包遍历整个网络获取共享资源,其流程如下:
(1)请求共享资源的对等体向相邻节点发送一个带有TTL的查询包。
(2)相邻的对等体根据收到查询包判断本身是否有共享资源,有则返回一个响应包,如果没有,便将查询包转发给相邻对等体,同时将查询包的TTL减1。其他对等体再重复上述过程,直至查询包的TTL减至零完成查询。
(3)请求共享资源的对等体收到响应包之后,则发送连接请求与其他对等体直接连接并传输文件。
分布式P2P无中心化的特点避免了单点失效的间题,一个对等体失效并不影响整个网络的正常运行,并且不容易受到网络攻击。但是由于没有中央服务器保存对等体共享资源的索引信息,当对等体要获取网络资源时,必须使请求包遍历整个网络才能得到结果,由此产生许多无效的数据包,因此这种模式占用带宽较大,而且需要花费很长时间才能有返回结果。分布式P2P模式的代表性软件是Gnutella等。
1.2.3混合式P2P
混合式P2P模式引入了超级对等体的概念,按其功能可将超级对等体分成索引对等体和搜索对等体等。混合式P2P将各对等体按性能分成普通对等体和超级对等体两类,超级对等体保存其他对等体的共享资源的索引信息,若干普通对等体以超级对等体为中心形成一个类似集中式P2P模式的小型网络,各小型网络再通过其超级对等体相连形成一个大的混合P2P(见图3)。
混合式P2P中的超级对等体即充当了集中式P2P的中心服务器,又起到了分布式P2P中普通对等体的作用,任何一个普通对等体搜索共享资源时都要通过超级对等体,其搜索步骤如下:
(1)对等体首先将请求查询发送到所属小型网络的超级对等体中,在超级对等体中搜索共享资源的相关信息。
(2)若超级节点能在其管辖区域查询到共享资源的索引信息,则返回查询信息。
(3)如果超级节点查询不到共享资源,则将请求查询包发送给相邻的超级对等体。
混合式网络结构综合了分布式P2P和集中式P2P两种P2P模式的特点,保留了分布式P2P无中心化和集中式P2P快速查找的优势。既能在一定程度上有效避免单点化的问题,又能在不占用大量带宽的基础上较快速的完成搜索。混合式P2P模式是目前最为流行的P2P模式,信捷职称论文写作发表网,其代表软件如BitTorrent.