Maze是北京大学网络实验室开发的一个中心索引与对等连接相融合的P2P文件共享系统,是CERNET上最大的非商业性、以科研为目的P2P系统。Maze在用户管理、信息检索上采用集中控制,中心索引服务器提供基于关键字的搜索,同时,还可以基于peer之间的好友关系,进行P2P搜索,类似于Gnutella的查找策略。网络上的一台计算机,不论是在内网还是在外网,可以通过安装运行Maze的客户端软件自由加入Maze系统,也可以自由退出该系统。
Maze的结构及核心技术
下图是Maze系统的结构图。在这个体系架构上,通过一系列的核心技术保证文件共享系统的提供高效可靠的服务。这些核心技术主要体现在如下方面:
Peer节点的发现。采用模拟信用卡的分布式认证算法,来保证用户认证的安全性和有效性,支持Peer节点的身份认证和任意两个节点间的通讯。
文件共享与传输。支持资源目录的浏览,确保资源可下载。通过MD5算法确认多个相同资源,以此提供多点并行下载功能,提高下载速度。其中还包括种子机制,帮助热点资源的快速扩散。
跨越防火墙技术。系统通过代理转发技术,解决了NAT问题,使得无论是内网还是外网的用户都建立联系,互相通信,传输文件。
基于关键字的搜索技术。通过中心索引服务器建立索引文件,支持基于关键字的匹配查找。
共享的激励策略。通过积分计算方法给那些愿意提供共享文件的用户增加积分,使得他们享有较高的下载带宽和较少的等待时间,以此鼓励对系统有贡献的用户。相反,对有自私行为的用户则已减少积分降低服务质量作为惩罚。
实现社会性软件的特性。社会性软件应具有帮助人们建立社会网络和自动组织群体的特点,Maze通过提供加入好友,查询好友,好友间通信等功能,在Peer间建立了基于好友关系的社会网络结构。
P2P搜索技术。采用类flooding策略,沿着好友关系链直接进行P2P形式搜索。
对不良文件的过滤功能。通过在中心索引服务器和各个节点自己的过滤服务来提供强大而灵活的过滤。
在Maze上正在开展的研究内容
随着Maze用户数的迅速增长,系统的规模越来越大,使得我们可以在Maze提供的真实的环境下,依据基于真实的数据开展科研工作,目前己经开展的研究有以下几方面:
1. 分析了Maze中节点的相互关系,获得很多有意义的结果,例如验证了Maze
的好友关系构成的社会网络符合小世界(small-world)现象。
2. 统计出了网络中资源的分布情况,包括类型的分布,大小的分布,数量的分布,访问频率,下载频率等。这些结论对于资源的管理、冗余控制、可靠性可用行性研究、建立生命周期的规律模型等都是很重要的依据。
3. 研究了Maze用户的行为特征,总结了free-riding现象发生发展的规律,这是P2P领域普遍关心的问题之一,尚没有很好的解决方案。我们的结论,有利于确定更有针对性的激励策略和建立更有效的管理模式。
4. 研究了P2P系统中用户的分类及其特征,对用户的可用行、文件的可用性有了新的认识。
5. 研究了节点的在线时间分布、文件流行度的变化规律,探索了P2P系统中存在的各种负载均衡的问题。
6. 研究了Maze中采用的用户激励机制模型。分析了现有的几种基于P2P系统的激励机制存在的问题,提出新的适用于实际系统的新的激励模型。
Maze从第一个版本发布到现在仅仅一年多的时间,速度发展之快大大超出人们的预期。注册用户达到1800,000人,最高在线用户达到40,000人,最多活跃用户数 8,000,索引文件数1.5亿,目录文件容量达200TB,平均每天有超过10万个查询请求,平均每天大概有100万个文件被下载。
Maze发出一个信号,使我们看到了P2P网络广阔的应用前景,以及Maze系统作为P2P科研平台的巨大潜力。