论文部分内容阅读
结构化对等覆盖网络(overlay network),如CAN,CHORD,Pastry和Tapestry,为非中心化存储和内容发布等大规模分布式应用提供了可扩展的、健壮的资源定位和路由服务。这些覆盖网络利用分布式哈希表(Distributed Hash Table,DHT)把关键字映射到覆盖网络的节点中。以Chord协议为代表的基于DHT的资源定位算法因而受到广泛研究。Chord协议为每个节点和数据分配一个在名字空间中唯一的m位(二进制)标识符(通常采用一致性哈希算法如SHA-1来分配),所有可能的2m个标识符构成一个一维的标识符环。根据这个标识符环,可以在实际物理网络之上构建逻辑覆盖网络。 但是,使用Hash函数造成了逻辑覆盖网络与底层物理网络常常出现较大的不一致。比如,IP地址为59.64.157.38和59.64.157.39的两个节点N1和N2在实际物理网络中距离很近,一般情况下是在同一个局域网中,但是,所产生的标识符Hash(59.64.157.38)和Hash(59.64.157.38)却差别很大,从而使得两个节点在逻辑覆盖网络中的距离很大,N1寻找N2的路由过程可能要经过广域网。为此,本文提出一种使用结构化节点ID的方法,在原有的节点ID基础之上附加一些信息,使物理网络中邻近的节点在逻辑覆盖网络中尽量接近,上述N1寻找N2的过程将避免访问广域网,减少资源开销。 本文在对Chord协议进行认真研究的基础上,提出使用结构化节点ID的改进方案,并设计实现迭代式Chord模拟器进行实验分析。实验结果表明,采用结构化节点ID后,可以提高Chord网络的查询效率,减少节点加入和退出Chord网络时转移数据的开销。最后,本文将使用结构化节点ID的改进方案应用到基于P2P和GIS的信息交流系统(Peer-to-peer and GIS based Information Exchange System,以下简称PGIES)的原型系统,以改进方案为基础进行底层对等网络通信模块的设计和实现。