日期:2023-01-24 阅读量:0次 所属栏目:计算机网络
1引言
P2P网络具有开放、动态、异质、节点对等、资源共享自愿等特点,其优势已经在文件共享、协同计算、分布式存储及应用层组播等应用领域得到了充分证实。然而,P2P网络也存在着很多问题需要研究,其中,由其自主性、动态性和异构性所导致的诸多数据污染、自由骑、公共悲剧等问题就是需要亟待解决的重要问题[1],这些问题的解决直接影响着P2P网络应用的有效性与可用性。全局信任模型[2]根据节点在网络中的行为与表现,确定其全局信任值高低,能够更有效地识别恶意节点和恶意群体,更好地帮助用户选取服务,确保节点在各种恶意攻击下具有更高的服务成功率。全局信任模型的理论研究已经有了显著成果,但是,其工程实现却很少涉及,本文结合已有的全局信任模型[3],设计并实现一种支持文件共享的P2P网络全局信任管理系统,验证其理论模型的有效性。
信任管理系统运行时需要调用P2P网络系统的某些功能,同时,在实现时又要尽量简化这些功能的调用接口,使得信任管理系统的实现独立于具体的P2P网络。文件、数据的分布式存储与共享是目前应用最多且最成功的P2P应用,同时分布式存储与共享技术已经成为大部分其它P2P应用系统的基本需求。Sun公司推出的已经成为P2P标准的JXTA[4]提供了对这一需求的支持,其中CMS(Content Manager Service,内容管理器)充当了这一角色,CMS为JXTA平台上的共享内容提供一套管理协议,因此,我们可以利用CMS迅速实现P2P网络中的文件分布式存储与共享。
本文以Ross模型[5]为核心思想,以JXTA工程API为技术基础,构建基于结构化P2P网络的文件共享网络,并在其中实现信任管理系统。底层的Internet不是文本的主要研究内容,不再作描述。但Ross模型的中间覆盖层描述太简单,不便于实现。本文将它分为两层:P2P覆盖层与P2P服务提供层;覆盖层的作用就是屏蔽底层网络的动态性与异构性,而服务提供层就是为应用层的服务需求提供标准接口;应用层就是文件共享应用,下面详细描述该系统原型的结构与实现过程。
2原型系统设计
基于已有的P2P网络层次体系结构[6],再结合Ross模型,本文提出原型系统的结构如图1,整个系统包括四层:底层网络、P2P覆盖层、P2P服务层以及P2P应用层。底层网络一般指Internet网,其主机具有自治性与动态性。P2P覆盖层是基于DHT[7]实现的,其主要功能是构建和维护P2P覆盖网络,屏蔽底层网络的动态性与异构性。本文采用基于超级节点的层次型覆盖网络,通过Chord协议[8],节点自组织成为两层结构的虚拟覆盖网络,实现资源的存放与定位。这种方法既提高了系统的稳定性又便于全局信任值计算。P2P服务层为最上层的应用程序提供一些服务功能,主要功能包括P2P索引,信任管理、激励机制等,这些功能以API的形式提供;最上层的应用程序通过调用这些API,实现数据对象的插入、查询与删除,以及节点的信任评价等任务。应用层程序是多样化的,主要有文件共享、瞬时通信、数据分布式存储等,这些程序是通过访问服务层与覆盖层的功能而实现的。
系统功能模块如图2,由图可知,系统由四个功能模块组成,其中对等点管理与资源管理两个模块是利用JXTA项目提供的API实现的,由于实现相对简单,这里不作描述;信任管理模块则是根据已有的理论模型而实现的,它们的实现过程将在下一节再作介绍。
3原型系统实现
与文件共享应用相关的程序在上节已经叙述了,这里不再重复。另外,覆盖层中的DHT也可以借助JXTA项目的相关技术实现,它们不是本文实现的主要内容,叙述从略。下面详细描述信任管理系统功能模块的实现方法。
4实验结果
假定一个P2P文件共享网络,网络初始拓扑随机,每个节点共享文件数为100左右,正常节点与恶意节点各占50%,正常节点提供真实文件,并提交公正的交易评价;恶意节点提供虚假的文件,并提交不公正的交易评价。然后,随着网络的演化,允许节点通过学习调整共享文件的真实性及评价的公正性。在这个网络中设计一个全局信任管理层,可望规范节点行为,最终提高系统的服务成功率。
从图4的观察可以得出结论,全局信任模型没有任何高信任节点集,实验初始阶段相当于随机模型。但是,只需要10个实验周期,就能达到很高的成功下载率(97%),表明该模型能够识别并抑制恶意节点与恶意群体。随机模型在较短的时间内无法得出节点的信任等级,对节点服务选择的指导性不大,成功下载率很低,即它无法识别恶意节点。
5结论
本文设计并实现了一种支持文件共享的P2P网络全局信任管理原型系统,它具有对等点管理、资源管理、信任管理等功能。该原型系统在由60台PC机、10台三层交换机及3台路由器组成的网络环境下测试,效果良好,性能较强,能穿越NAT,较好地验证了目前已有的理论方法与模型,但原型系统的功能有限,需要进一步改进。
参考文献
. In: Proceeding of 5th Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA, 2002, 102-115.