论文部分内容阅读
目前,互联网系统的模式正在发生从传统的客户机/服务器(client/server)模式到对等计算(peer-to-peer,亦简称P2P)模式的转变。P2P的核心思想是所有参与系统的节点(指互联网上的计算机)处于完全对等的地位,没有客户机和服务器之分,也可以说每个节点既是客户机,也是服务器;既向别人提供服务,也享受来自别人的服务。实际上,对等计算的概念在很早以前就已提出,但一直没有受到广泛的重视,主要是因为没有实际运行的系统作为背景。产业界和研究界都普遍认为在大多数情况下还是客户机/服务器模式更为合理。然而,随着PC技术和互联网(Internet)的发展,个人电脑的计算能力越来越强,接入带宽也逐渐增大,如何更好地利用所有节点(尤其是原先处于服务器地位的节点)的能力搭建更好的分布式系统自然而然地成为人们关注的问题。 由于系统中所有节点都是服务器,这样,将产生海量的数据。在如此海量的数据中,如何快速有效地检索到目的资源,就成为P2P面临的首要问题。为了对P2P的信息进行查找,通常都在实际P2P网络之上抽象出来一个逻辑层,称作Overlay层,它把底层物理网络中的P2P节点提取出来,重新组成一个新的逻辑层面上的网络。以Napster为代表的基于中央目录服务器的P2P系统和以Gnutella为代表的非结构化P2P系统不能提供有效且可扩展的检索机制。针对这个问题,近年来提出了CAN(Content-Addressable Network,内容寻址网络)、Pastry、Tapestry和Chord等采用DHT(Distributed Hash Table,分布式哈希表)技术的结构化P2P系统,DHT最基本的功能是提供资源的精确定位(Lookup)操作,这是目前扩展性最好的P2P路由方式之一。 然而现有的DHT系统在定位目标资源时,都存在寻路延时大、路由效率低下的问题,这是由于这些系统忽略了节点在地理上的邻近性:一般根据节点标识符NodeID来组织逻辑层的重叠网络,而标识符通过哈希节点的IP地址产生,这就使得节点在物理网络上的位置信息遭到破坏,重叠网络上的逻辑相邻节点在实际物理网络上可能相距甚远;另外不同节点的资源包括带宽、CPU处理能力、存储空间等存在着很大的差异,然而现有的大部分DHT系统并没有考虑这一点,而是将系统中所有节点都视为完全等同的。这样势必导致查找过程的实际时延较大,寻路效率低下。