论文部分内容阅读
随着互联网的不断发展,出现了大量的对等网络结构的应用,如Maze、eMule、BitTorrent、ppLive等。由于对等网络系统具有良好的可扩展性、健壮性以及性能上的优势,它们越来越受到了人们的重视。在对等网络系统中,如何快速、准确地定位资源,在很大程度上决定了系统的优劣。系统中自治节点动态加入、退出系统,也给系统的设计提出了巨大的挑战。
结构化对等网络是近年来在学术界提出的一种完全对等的网络组织结构,结构化对等网络在理论上能够保证O(LogN)的查找效率。但是目前在实际运行中的结构化对等网络系统并不多见,一个主要的难题在于一般的应用程序编写人员没有足够的资源来构建一个底层的路由基础设施,从而阻碍了结构化对等网络的发展。
本文描述了一个基于结构化对等网络的路由基础平台Lunar,向上层的服务提供统一的系统API,为应用提供一个统一的网络视图,使得使用该系统的各个应用程序只需要关心自身应用的逻辑而无须考虑网络的拓扑结构。主要介绍了该平台中的核心模块:路由模块的设计和实现。详细讨论了在设计路由模块时的各种设计权衡:采用的路由模式、是否支持并发查询、节点间互联的方式、估计结点间延迟的算法。本文在一个已有的协议Kademlia基础上做改进,修改了其路由表的结构,加入了细致的路由表维护进程,使得该协议能够更好地适应不同的网络环境。最后,本文介绍了一个基于该平台的对等网络应用:P2PSIP。采用对等网络的底层结构,将传统的中心服务器结构的SIP系统,转化为完全分布式的系统结构。
本文中所介绍的对等网络应用平台Lunar,目前已经作为基础设施用于搭建小组内两个系统:分布式的存储系统Upstore和本文所描述的基于对等网络的P2PSIP系统。从这两个系统的反馈来看,采用本系统能够使得应用程序员更多的专注于他们所关心的上层应用。