一、P2P技术概述

  对等网络(P2P,Peer to Peer)是一种 资源 (计算、 存储 、通信与信息等)分布利用与共享的网络体系架构,与目前网络中占据主导地位的客户机 服务器 (Client/Server,C/S)体系架构相对应。P2P可以用来进行流媒体通信(如话音、 视频 或即时消息),也可以传送如控制信令、管理信息和其它数据文件,具体的应用如Napster MP3音乐文件搜索与共享、BitTorrent多点文件 下载 和Skype VoIP话音通信等。开始的 互联网 基本的协议TCP/IP,它解决的是异机种计算机互联,所有设备的通信(Email、 Ftp 、bbs)都是对等的,它们是上下左右各向同性的。基于 Web 应用,使C/S结构获得巨大成功,人们通过Client上的浏览器来操作或访问远处的网站上的Server,用户所处理的数据与应用处理软件都存放在Server上。随着互联网应用的进一步普及,集中计算与存储及其C/S网络架构在功能上的缺陷正逐渐暴露出来。集中计算与存储的架构使每一个中央Server支持的网站成为一个个的数字孤岛。Client上的浏览器很容易从一个孤岛轻易跳到另一个孤岛,但是很难在客户端对它们之间的数据进行整合。网络的能力和资源(存储资源、计算资源、通信资源、信息资源和专家资源)全部集中在中央Server。在这种体系架构下,各个中央 Server之间也难以按照用户的要求进行透明的通信和能力的集成,它们成为网络开放和能力扩展的瓶颈。与C/S网络架构相反,P2P的网络架构在进行媒体通信时不存在中心节点,节点之间(Peer)是对等的,即每一个节点可以进行对等的通信,各节点同时具有媒体内容(Content)的接收、存储、发送和集成及其对媒体元数据(Metadata)的搜索和被搜索功能等。这种网络架构所带来的优点是P2P网络各节点的能力和资源可以共享,理论上来说网络的能力和资源是P2P各节的总和。内容不再集中在网络的中央Server,而是分布在靠近用户的网络边缘的各P2P节点上。P2P技术的应用使得业务系统从集中向分布的演化,特别是服务器的发布化,克服了业务节点集中造成的瓶颈,大大降低系统的建设和使用成本、提高网络及系统设备的利用率。

二、P2P技术体系结构与分类

  P2P技术存在三种结构模式的体系结构,即以Napster为代表的集中目录式结构、以Gnutella为代表的纯P2P网络结构和混合式P2P网络结构。从P2P技术的分代来说,到目前为止的P2P技术可分为四代:第一代P2P(中央控制网络体系结构),第二代P2P(分散分布网络体系结构),第三代 P2P(混合网络体系结构),第四代P2P(目前发展中P2P技术)。

   2.1  第一代P2P(中央控制网络体系结构——集中目录式结构)

  集中目录式结构采用中央服务器管理P2P各节点,P2P节点向中央目录服务器注册关于自身的信息(名称、地址、资源和元数据),但所有内容存贮在各个节点中而非并服务器上,查询节点根据目录服务器中信息的查询以及网络流量和延迟等信息来选择与定位其它对等点并直接建立连接,而不必经过中央目录服务器进行。集中目录式结构的优点是提高了网络的可管理性,使得对共享资源的查找和更新非常方便;缺点是网络的稳定性(服务器失效则该服务器下的对等节点全部失效)。

   2.2  第二代P2P(分散分布网络体系结构——纯P2P网络结构)

  纯P2P网络结构也被称作广播式的P2P模型,它没有集中的中央目录服务器,每个用户随机接入网络,并与自己相邻的一组邻居节点通过端到端连接构成一个逻辑覆盖的网络。对等节点之间的内容查询和内容共享都是直接通过相邻节点广播接力传递,同时每个节点还会记录搜索轨迹,以防止搜索环路的产生。纯P2P网络结构解决了网络结构中心化的问题,扩展性和容错性较好。由于没有一个对等节点知道整个网络的结构,网络中的搜索算法以泛洪的方式进行,控制信息的泛滥消耗了大量带宽并很快造成网络拥塞甚至网络的不稳定,从而导致整个网络的可用性较差,另外这类系统更容易受到垃圾信息,甚至是病毒的恶意***。

   2.3  第三代P2P(混合网络体系结构——混合式网络结构)

  混合式网络结构综合了纯P2P去中心化和集中式P2P快速查找的优势。按节点能力不同(计算能力、内存大小、连接带宽、网络滞留时间等)区分为普通节点和搜索节点两类。搜索节点与其临近的若干普通节点之间构成一个自治的簇,簇内采用基于集中目录式的P2P模式,而整个P2P网络中各个不同的簇之间再通过纯 P2P的模式将搜索节点相连起来。可以在各个搜索节点之间再次选取性能最优的节点,或者另外引入一新的性能最优的节点作为索引节点来保存整个网络中可以利用的搜索节点信息,并且负责维护整个网络的结构。由于普通节点的文件搜索先在本地所属的簇内进行,只有查询结果不充分的时候,再通过搜索节点之间进行有限的泛洪。这样就极为有效地消除纯P2P结构中使用泛洪算法带来的网络拥塞、搜索迟缓等不利影响。同时,由于每个簇中的搜索节点监控着所有普通节点的行为,能确保一些恶意的***行为能在网络局部得到控制,在一定程度上提高整个网络的负载平衡。

   2.4  第四代P2P(发展中的P2P技术)

  应该说第四代P2P并没有形成真正的代,而是在原有技术的基础上作了改进,提出和应用了一些
新技术 措施。典型的有:
  (1)动态口选择之一。目前的P2P应用一般使用固定的端口,但是一些公司已经开始引入协议可以动态选择传输口,一般说口的数目在1024~4000之间。甚至P2P流可以用原来用于HTTP(SMTP)的口80(25)来传输以便隐藏。这将使得识别跨运营商网络的P2P流,掌握其流量变得更困难。
  (2)双向下载。eD和BT等公司进一步发展引入双向流下载。该项技术可以多路并行下载和上载一个文件和/或多路并行下载一个文件的一部分。而目前传统的体系结构要求目标在完全下载后才能开始上载。这将大大加快文件分发速度。
  (3)智能结点弹性重叠网络。智能结点弹性重叠网络是
系统应用 P2P技术来调度已有的IP承载网资源的新技术,在 路由 器网络层上设置智能结点用各种链路对等连接,构成网络应用层的弹性重叠网。可以在保持互联网分布自治体系结构前提下、改善网络的 安全 性、QoS和管理性。智能结点可以在路由器之间 交换 数据,能够对数据分类(分辩病毒、垃圾邮件)保证安全。通过多个几何上分布的结点观察互联网,共享信息可以了解互联网蠕虫感染范围和性质。提供高性能、可扩张、位置无关消息选路,以确定最近的本地资源位置。改进内容分发。使用智能结点探测互联网路径踪迹并且送回关于踪迹的数据;解决目前互联网跨自治区路径选择方面存在的问题。实现QoS选路,减少丢包和时延,快速自动恢复等。