论文部分内容阅读
目前,大部分的大规模网络应用都采用C/S(Client/Server,客户/服务器)模式,在互联网上放置少量的服务器,为互联网中的客户提供服务,如为任何两个客户之间的通信提供中转的服务。近年来,随着通信技术与计算机技术的飞速发展,Internet规模不断扩大,连入Internet的主机数、上网的人数都在飞速增长,在网络边缘出现了大量的闲散计算和存储资源;另外,随着社会和网络的发展,人们对数据存储和传输、高性能计算等也有着迫切的需求,用户希望直接交换信息和数据而不必经由特定的服务器中转。显然,C/S模式无法利用客户端的闲置资源,同时也增加了中转服务成本,给用户节点直接通信带来了不便。因此,如何有效地利用网络边缘的计算和存储资源成为研究的热点。P2P(PeertoPeer,对等网络)技术出现的目的就是希望充分利用互联网中所蕴含的潜在计算和存储资源。
P2P是不同于C/S、B/S(Browser/Server,浏览器/服务器)和S/M(Slave/Master,主/从)等传统模式的通信技术,它最大的特点是抛开了应用服务器的束缚,系统中的各个节点是逻辑对等的,每个节点既是服务器,也是客户节点,节点之间可以直接通信、共享资源或协同工作。
由于系统中所有节点都是服务器,这样,将产生海量的数据。在如此海量的数据中,如何快速有效地检索到目的资源,就成为P2P面临的首要问题。为了对P2P的信息进行查找,通常都在实际P2P网络之上抽象出来一个逻辑层,称作Overlay层,它把底层物理网络中的P2P节点提取出来,重新组成一个新的逻辑层面上的网络。以Napster为代表的基于中央目录服务器的P2P系统和以Gnutella为代表的非结构化P2P系统不能提供有效且可扩展的检索机制。针对这个问题,近年来提出了CAN(Content-AddressableNetwork,内容寻址网络)、Pastry、Tapestry和Chord等采用DHT(DistributedHashTable,分布式哈希表)技术的结构化P2P系统,DHT最基本的功能是提供资源的精确定位(Lookup)操作,这是目前扩展性最好的P2P路由方式之一。
然而现有的DHT系统在定位目标资源时,都存在寻路延时大、路由效率低下的问题,这是由于这些系统忽略了节点在地理上的邻近性:一般根据节点标识符NodeID来组织逻辑层的重叠网络,而标识符通过哈希节点的IP地址产生,这就使得节点在物理网络上的位置信息遭到破坏,重叠网络上的逻辑相邻节点在实际物理网络上可能相距甚远;另外,不同节点的资源包括带宽、CPU处理能力、存储空间等存在着很大的差异,然而现有的大部分DHT系统并没有考虑这一点,而是将系统中所有节点都视为完全等同的。这样势必导致查找过程的实际时延较大,寻路效率低下。
本文在提高基于IPv6的DHT系统的寻路效率方面做了大量深入的研究。针对DHT系统存在的上述两个方面的问题,提出三种有效的改进方案,并通过仿真和分析阐明了这些方案能有效地改善现有DHT系统的寻路效率。
首先介绍J.Xiong等人提出的Chord6(ChordinIPv6)的思想。由于IPv6地址具有层次化聚类的特性,同一自治域内的主机通常具有一定长度的相同网络前缀,因而DHT系统中的节点可以从自己的IPv6地址前缀中获取位置信息。通过分段哈希节点的IP地址,使得同一个域内的节点能够聚类到一起,解决了DHT系统中逻辑网络与物理拓扑脱节的问题。
提出IPv6中基于节点异构的结构化P2P系统。将系统中的节点依据资源分为SN(SuperNode,超级节点)和CN(ClientNode,客户节点/普通节点),将同一个域的所有节点组成一个DHT系统,每个域选出一个RSN(RepresentativeSuperNode,代理超级节点),所有的RSN节点组成一个上层的DHT系统,不同域内的两个节点之间的通信通过RSN进行代理。能够有效地减小路由延时,提高路由效率。本文针对Chord构造了RCchord6(Resource-ConsideredChordinIPv6)系统,并通过分析和仿真验证了这种方案的有效性。由于DHT系统的相似性,该方案同样适用于其它的DHT系统如CAN、Pastry和Tapestry等。
在RCchord6中,每个域内NodeID最小的节点将存储大量的(Key,Value)对,并需要响应对应的查询请求,如果该节点是一个CN,将导致全局的路由效率低下,甚至使得该节点崩溃。针对这一点,本文提出该方案的一个简单的变型。本文以Chord为例,提出了RCchord6-Ⅱ系统,将每个域内NodeID最小的节点上存储的大部分(Key,Value)对都转移到该节点所在域的RSN节点上。通过分析和仿真验证了该方案的有效性,使得系统能够更加稳定地运行。
针对P2P的一个重要应用——文件共享,提出基于本地查询的结构化P2P系统。在文件共享系统中,每个文件都可能存在几个至几百个甚至更多的备份,如果本域内就存在目标文件的备份,每个用户都希望选择在本域内下载目标文件。文中以Chord为例,提出了LQRCchord6(LocalQueryResource-ConsideredChordinIPv6)系统,每个文件都在本域内保存对应的信息;查询目标文件时,首先在域内寻路,若找到目标文件,则直接下载;否则按照RCchord6-Ⅱ的方式继续寻路。通过分析和仿真,LQRCchord6的路由效率远高于Chord和Chord6,近似于甚至高于RCchord6-Ⅱ的路由效率;更为重要的是,减小了RSN节点的负载,减小了骨干网的带宽消耗,提高了用户下载文件的速率。
本文的第一章介绍了P2P的导入背景及其基本概念,并指出对于P2P系统中的海量数据,基于DHT的结构化P2P能够提供有效的管理机制和有效且可扩展的检索机制,强调研究IPv6中基于节点异构的结构化P2P系统的必要性和意义;第二章介绍几种典型的DHT系统:CAN、Pastry、Tapestry、Chord;第三章介绍利用IPv6地址聚类的特性对Chord的一个个改进系统——Chord6(ChordinIPv6);第四章基于IPv6地址层次化聚类的特性,综合考虑节点资源的差异,提出IPv6中基于节点异构的结构化P2P改进系统——RCchord6(Resource-ConsideredChordinIPv6),并提出了使RCchord6系统能够更加稳定的改进方案;第五章针对P2P的一个重要应用——文件共享,提出基于本地查询的结构化P2P系统——LQRCchord6(LocalQueryResource-ConsideredChordinIPv6);第六章总结全文,并指出了进一步的研究方向。