《1 引言》

1 引言

构造和使用 P2P 网络的动力源于对资源的共享。 P2P 网络技术的产生与发展,不仅仅只是一项新型的网络技术的革新,P2P 网络本身所具备的强大的网络规模可缩放特性、节点间的对等特性以及易于部署等特点,都将导致新型网络应用的出现,如广域网范围内涉及的资源数量以及网络节点的规模必然是庞大的,而结构化 P2P 网络技术则能够满足应用规模缩放性的服务需求,提供广域网范围内海量资源的整合与共享;构建即时通信、白板系统、语音通信、视频会议等强调节点间协同工作的应用,参与协同工作的计算机之间不再需要专门的服务器进行协同,进而自组织形成以特定兴趣为驱动的应用社区平台;更多其他特性融入到 P2P 网络技术中来,将为 P2P 网络应用内容提供更多的服务范围,比如移动性、智能性等特性的融入,等等。

P2P 网络应用除具有可缩放性、对等性、易部署性外,还必需满足传统分布式网络应用设计中所面临的服务需求[1 ~3] ,包括多媒体数据(视频、语音)的实时性要求、网络资源的管理、网络服务质量保证、多方通信、新型服务提供、可扩展性、开放性等,这些都是为了增强 P2P 网络应用的高可用性。

根据目前以及将来可能出现的应用及服务,结合资源管理方面的需求,针对 P2P 网络松耦合、自组织、可缩放等特点,建立 P2P 网络平台及其应用系统设计和实现的指导原则,并研究部署各类应用的可行性及解决方案,促进基于 P2P 网络技术的 Overlay网络的长期发展,同时,将增强 P2P 网络可用性的多方面因素放置在 P2P 网络的不同层次解决。

《2 面向服务的 P2P 网络体系结构分层参考模型》

2 面向服务的 P2P 网络体系结构分层参考模型

基于 P2P 网络技术构建的 P2P 网络应用平台涉及到对多种类型的网络资源的有效利用,包括计算资源、通信(带宽)资源、信息资源以及各种服务资源。将整个网络中的各类资源看成是一个逻辑整体,面向各种网络应用提供一个统一的抽象资源池,称为统一资源层。统一资源层可以直接向用户应用层提供资源调用的接口,也可以经过服务聚合层的资源整合及封装以服务的形式提供给上层用户。考虑到 A.Modarressi 等人关于下一代网络 NGN 的观点 [4] ,借鉴项目组在网络体系结构形式化方面的已有成果 FINA[5] (基于交互的网络体系结构框架模型)、INSA[6] (基于交互的网络服务体系结构模型),提出一种基于交互、面向服务的 P2P 网络体系结构 ISPNA ( interactive service -oriented P2P networks architecture)层次参考模型,如图 1 所示。

《图 1》

图 1 ISPNA 层次框架参考模型

 Fig.1 Reference model of ISPNA hierarchical framework

ISPNA 中的交互包括 3 个方面含义:水平交互、垂直交互、以及服务的构件化思想。

1)水平交互。 P2P 网络技术作为一种 Overlay 网络的实现方式,面临的关键问题是如何实现开放、不同类型 P2P 网络之间的资源共享、信息互通、服务互融。根据传统网络体系结构的成功经验,使用水平交互(对等层交互)来解决这一问题。

2)垂直交互。即相邻层交互,实现下层对于上层所能提供的调用接口。例如,统一资源层可以直接向用户应用层提供资源调用的接口,也可以经过服务聚合层的资源整合及封装以服务的形式提供给上层用户。同时,ISPNA 中各层对于其下邻层而言,分别向其上邻层提供增值(资源整合、服务组合)意义的服务。

3)构件化思想。新型网络体系结构及应用体系结构[7 ~9] 的研究都将构件化思想纳入其中。因此,ISPNA 也顺应这一发展潮流,使用以功能层次的自然划分作为定义构件类型的尺度,以具有独立的服务能力作为封装构件的标准,以相邻层构件之间的交互作为定制服务的指导原则的构件化思想。 ISPNA的每一层都为其上面的相邻层提供标准的服务构件,其中服务聚合层对于服务构件的合理组合尤为重要,从而使得应用平台能够满足服务可定制的用户需求。面向服务的 P2P 网络体系结构层次参考模型自下而上分为 4 层,依次是 P2P 连通层、统一资源层、服务聚合层、用户应用层。

《2.1 P2P 连通层》

2.1 P2P 连通层

P2P 网络技术作为整个网络应用的下层架构,维护节点间的逻辑互联关系,构成整个参考模型的连通层,为统一资源层的统一资源控制与管理子层提供可完成 P2P 语义路由的通信通道。 P2P 网络中资源与节点之间的关系又可细分为 3 层:a. P2P 传输层,处于模型中的最下层,负责节点间的数据传输,表示节点间的逻辑连接,可使用 HTTP/XML, TCP, UDP 等已有的通信协议来完成数据的传输或转发。 b. P2P 架构层,模型中各节点 nodeid(P2P 网络中节点的唯一标识符)间相对于集中式或层次结构是对等关系,各节点负载相同、重要性相同,通过节点转发,节点两两之间能相互通信;整个系统有很强的自组织特性,节点加入退出时,对节点以及在节点上的枙资源定位信息 objectid 枛维护不需要一个集中的协调者的统一控制。不同的 P2P 网络语义路由协议主要是架构层中节点 nodeid 的组织方式的不同(如,环型、树型、蝴蝶网型、超立方型等)。 c. 资源层,负责将网络中物理节点上的资源(如文件资源)的定位信息 objectid 散布到整个 P2P 网络中,使得在分布的环境中实现通过特定的 P2P 路由算法来定位目标资源。

《2.2 统一资源层》

2.2 统一资源层

统一资源层进一步细分为两层,包括本地资源控制、通信资源控制子层及统一资源控制与管理子层。

本地资源控制提供节点各类计算资源,包括硬件资源(CPU、存储器等)、软件资源(应用程序、执行环境等)和信息资源(结构化和非结构化的数据、媒体流等)的控制与管理,这些资源在地理位置上分散,从实现上来看,则分别由各自所在的计算机操作系统控制和管理。它们都是开展各类网络应用,包括复杂的网络计算的基本要素,如同生产活动中的各种生产要素。在面向服务的 P2P 网络体系结构模型中,采用自主计算模式,各节点自己管理本地资源,并向统一资源控制与管理子层实时主动地提供其资源的使用状态,同时接受上层下达的资源控制指令。

通信资源控制提供节点间的互连互通功能,向上提供具有不同服务质量、不同应用模式(点到点、端到端,以及多方通信等)的有差别的、或者是提供普遍的网络通信服务。

统一资源控制与管理子层屏蔽通信协议和计算资源实现上的差异,利用 P2P 连通层提供的语义路由来提供对物理资源的逻辑抽象和相应的资源管理功能,包括资源发布、发现和定位功能、访问控制等安全机制。抽象资源实体向上提供经过抽象的、统一的各类资源,如处理器资源、存储资源、数据资源等的具体功能,同时还具备使用这些资源时的性能特征,在衡量其访问性能时,还需要把网络通信因素考虑进去。

《2.3 服务聚合层》

2.3 服务聚合层

服务聚合层对于相对较为复杂的 P2P 网络应用平台的构建是极为重要的,如网络计算环境[10] 平台的构建。服务聚合层包括任务调度与控制子层、服务描述、发布及建构子层。

任务调度与控制子层对于上层所需要的各种服务接口,依据其性质,充分考虑下层抽象资源的实时应用状态,分解和建立各种任务,并调度各种资源来执行任务,从而完成特定的服务功能。通常某一类服务由若干个任务组成,每一个任务要利用到不同的资源,并且有各自的性能要求,这样,任务调度与控制层的功能,主要包括服务的组合与分解、任务的调度与协同等,从而为不同领域的问题求解提供支持。任务调度与控制层主要面向网络计算环境内部,是对服务具体有效实施的一种控制和管理。

服务描述、发布及建构则面向用户、面向分布式 P2P 网络应用。用于对服务的抽象描述、服务的(动态、个性)组合,既可以提供各种应用层服务接口(面向应用编程),也可以提供一个命令集(面向交互应用操作,类似 Shell)。向领域发展,定义各种领域专用的服务集,如高能物理、大气、天文、生物信息和石油地质等许多重大应用领域,从而为不同领域的问题求解提供支持。该层次的深入研究解决服务定制类的问题,提供面向特定用户的、可定制的应用服务,对上层所发起的服务定制需求进行控制。

《2.4 用户应用层》

2.4 用户应用层

应用层基于下层的服务集,提供支持各类网络应用开发的各种工具集。该层次更为深入的研究应该能够解决用户管理类问题,采用用户标识和其物理位置相分离的网络编码方式[11],以支持 P2P 网络应用用户的动态性及可管理性。

《3 面向服务的 P2P 网络体系结构框架模型的形式化描述》

3 面向服务的 P2P 网络体系结构框架模型的形式化描述

以基于 P2P 网络技术的网络计算平台的构建为应用参考场景,对基于交互、面向服务的 P2P 网络体系结构 ISPNA 框架模型进行形式化描述,见图 2。

《图 2》

图 2 ISPNA 框架模型的形式化描述

Fig.2 Formalization of ISPNA frame model

定义 1 资源实体构件资源实体构件(REC, resource entity component )是网络计算的基本单元———资源的抽象。定义为一个四元组 REC =(RB,RP,RC,RRL),其中 RB 为资源基本单元集合,可分为计算资源、存储资源、带宽资源、信息资源等;RP 为资源存取、控制协议集合;RC 为各类通道集合,对应于 P2P 语义路由通道;RRL 表示 REC 中各组成元素的关系,即 RB 通过与 RP 的交互来实现资源的发布、存取等基本资源定位机制,RP 通过与 RC 的交互实现该资源实体与对等层网络实体之间的协议交互,完成资源的语义路由功能。

定义 2 服务实体构件服务实体构件(SEC,service entity component)对应于网络计算平台中具有特定功能的资源管理、任务调度服务模块的抽象,服务实体通过连接件来完成服务组合,进而满足领域应用的需求。可定义为五元组 SEC =(SF,SP,SR,SS,SRL),其中 SF 为服务集合,对应于网络计算中的资源管理、子任务调度等功能服务模块;SP 为服务实体的发布、存取等协议集合;SR 表示基本服务实体与资源实体的交互原语集合;SS 为组合服务与基本服务的交互原语集合,负责网络计算任务调度中的任务分解、分配(dispatch)、子任务结果合并等组合服务模块; SRL 表示 SEC  中各成员的相互关系, SF 通过与SP 的交互来实现网络计算中资源管理、子任务调度等基本服务模块,FS 通过 SS 完成服务的组合及组合服务的发布、定位机制,SP 通过与 SR ,SS 的关联对等交互完成对等层次服务实体的交互工作,为用户层提供基本接口。

定义 3 用户实体构件用户实体构件 UEC,user entity component)是网络计算平台中面向用户的工具集抽象,为网络计算平台的最终用户提供统一的编程接口。

定义 4 垂直交互连接件垂直交互连接件(VIC)是相邻上下层实体之间的垂直交互行为的抽象。是上层实体对下层实体的具体调用行为。

定义 5 水平交互连接件亦称为协议交互连接件(PIC),是对等层实体件交互行为的抽象。水平交互连接件提供了网络计算平台中各对等层实体间的通信协议。

可以认为,垂直交互连接件的作用在于,对于 ISPNA 中 N  层实体集为 N +1 层实体提供 N 服务,这种服务又是 N - 1 层服务的增值,它不仅包含了 N - 1 层实体所提供的服务,还增加进 N  层服务提供的新内容。

将构件化思想引入到复杂的新型 P2P 网络应用的构建中来是非常必要的,以网络计算平台的构建为例,构件化思想易于实现用户对应用服务可定制性需求的实施。整个网络计算平台建模的过程即是构件与连接件的组合过程,网络计算平台形式化模型中将服务(包括资源)组合与协议交互分离开,这样,当资源描述、服务组合策略或交互协议等相关技术发生改变时能够相对容易地进行可替换操作。

ISPNA 框架模型提出的意义在于:从 P2P 网络应用平台构建的角度出发,a. 保证了各层的独立性,通过规定一层向其高一层提供的服务与这些服务的执行无关,可实现整个 P2P 网络应用的开放性,提高了以 P2P 网络技术为基础的 Overlay 网络应用的灵活性,可以适应不同的网络环境;b. 分层原则可有效地防止整个网络应用平台在功能复杂后由于不同实体之间的相互调用而引起的死锁现象。从 P2P 网络技术本身和 P2P 网络应用之间的关系来看,ISPNA 体现了二者之间的分离,P2P 网络技术更确切的定义应该是一种新型的网络中间件技术,P2P 网络应用只是基于 P2P 网络技术构建的一类分布式应用系统,提升了二者之间的抽象级别,能够有效地简化应用的具体开发过程,这还将有利于 P2P 网络研究工作者从不同的层次对 P2P 网络的关键技术进行研究,同时能够明确所研究的关键技术在整个 P2P 网络应用平台中所处的层次和地位。

《4 P2P 网络应用平台构建中关键技术》

4 P2P 网络应用平台构建中关键技术

对于文件资源共享、网络存储等相对较为简单的 P2P 网络应用来讲,所涉及的关键技术包括: a. 对应于 P2P 连通层的有 P2P 网络拓扑结构的研究,P2P 网络路由机制的研究,网络节点命名规则的研究、节点动态加入、离开、稳定性检查等管理方式的研究,以及网络错误恢复等等关键技术;b. 对应于统一资源层的有不同系统之间通用的资源描述方案的研究,即资源元数据组织与表示的研究,在已有通信协议(HTTP,TCP,UDP,SOAP/XML 等)的基础上进行节点间握手机制等通信协议的研究。 c. 对应于用户应用层的有资源的访问效率的研究,以网络存储为例,在文件资源的存取过程中期望能够采用流水、并行以及选择传输路径的方式来加快数据资源的访问速度;以文件共享应用为例,让多个节点并发地向一个节点同时传输一个文件不同的部分。文件资源共享、网络存储等相对较为简单的 P2P 网络应用在服务聚合层并没有太多考虑。

 资源管理、任务调度是网络计算环境、普适计算应用中两类最基本的功能模块,任务调度模块主要将复杂的科学计算任务分解为不同的子任务,并提交到相应的资源节点上去,并能够在子任务完成后,负责运算结果的合并与优化,任务调度所提供的服务质量依赖于资源管理的有效性。 ISPNA 框架模型实现将任务调度与控制模块纳入服务聚合层,该层中强调的关键技术有:大型计算任务的分解、调度与协同,此处关键技术的研究可以借鉴并行计算领域的研究成果;向用户应用层提供的服务描述、发布及建构,这里服务指的是通过调度各种资源来执行任务,从而完成特定服务的功能实体,通过服务组合的深入研究以解决用户服务定制类的问题,从而提供面向特定用户的、可定制的服务类型,并能够对上层应用所发起的服务定制需求进行控制。该类 P2P 网络应用中涉及资源管理问题的研究内容同其他 P2P 网络应用是一致的。

P2P 网络及其应用技术所面临的很多关键技术问题都可以利用分布式系统中的已有研究成果、研究方案的思路来解决,如网络存储中元数据单元的并发控制、事务处理等基本操作所面临的死锁、冲突等问题。但是,很多关键技术的传统解决方案由于没有考虑 P2P 网络自身的特性,并不能很好地适应 P2P 网络及其应用本身。

分布式 P2P 网络应用的设计还必需考虑网络安全的问题,安全管理问题涉及的范围较广,所需要考虑的安全因素是多层次的。用户应用层所需考虑的安全问题类同于传统分布式应用平台,包括身份认证、授权、数字证书等;统一资源层考虑的安全问题有资源访问安全、数据存储安全等;P2P 连通层需考虑路由安全等。传统的安全方法应用于 P2P 网络及其应用,能有效地解决一部分安全问题,但 P2P 网络的分布式对等特性,使得集中式的安全控制方案不再适用。这需要用新的思路来解决 P2P 网络安全问题。基于对网络安全的本质是信任关系的建立 [12] 这样观点的认同,通过构造一个 P2P 网络节点间的分布式信任模型,来建立和管理 P2P 网络中信任,进而解决 P2P 网络安全的问题。同样,信任模型的研究涉及用户应用层、统一资源层等多个层次。

以上所述 P2P 网络应用平台构建中的关键技术的研究,出发点都是为了能够有效地增强 P2P 网络及其应用的功能及性能,即增强 P2P 网络及其应用的可用性。将增强 P2P 网络可用性所需要考虑的多方面因素放置在 P2P 网络的不同层次予以解决,有利于从宏观上把握需要解决的问题。

《5 增强结构化 P2P 网络可用性的关键技术》

5 增强结构化 P2P 网络可用性的关键技术

下一代网络及其应用将呈现大规模分布式、全球性共享、全球性计算和全球性存储等特征,而突破了网络规模限制的结构化 P2P 网络技术是当前最适合下一代网络及其应用发展趋势的底层支撑技术。在结构化 P2P 网络中,自组织管理模式提供了网络的鲁棒性、网络规模的可缩放性,代价是较低的 P2P 语义路由效率、节点行为的随意性、自私行为的无法控制以及网络的安全性缺乏保障。自组织管理模式对 P2P 网络的影响,具体体现在:P2P 连通层的路由延迟;统一资源层由于节点的随意性所导致的资源的不稳定性等等。

结构化 P2P 网络技术中,由于节点仅存在局部视图的限制条件,增强 P2P 网络可用性的解决方案如何能同时维护整个 P2P 系统的自组织特性及规模可缩放性两个方面的特性。对照 ISPNA 层次框架参考模型,图 3 明确了结构化 P2P 网络技术中需要研究的可用性增强的关键技术。首先是 P2P 架构层次的 P2P 路由效率的研究,路由算法是结构化 P2P 网络技术研究的核心,在实现 P2P 网络互连互通基本要求的基础之上,必需兼顾路由效率的问题。其次是资源层次的 P2P 网络信用模型的建立,通过对 P2P 网络节点自私行为的研究,建立一套行之有效的激励机制来约束节点在自组织管理模式下的行为,从而保证 P2P 网络中整体资源的稳定性及可用性。

《图 3》

图 3 结构化 P2P 网络可用性增强的关键技术层次关系图

Fig.3 Hiberarchy of usability enhanced technologies in structure P2P networks

《6 结语》

6 结语

在物理网络实现了相对高速的传输以及节点具备高速的计算能力之后,以 Overlay 覆盖网络为基础的网络模式将成为网络发展的主要形式。 Overlay 覆盖网络是由端节点在物理网络通信基础设施之上构建的一层虚拟网络。由于是在上层实现各类资源的管理,这种资源管理方式较之于“改造网络本身实现资源整合”的方式的最大优势在于在增强网络功能及性能的同时,不必改造网络基础设施,服务成本低、更加灵活,且有利于处理互联网中的“扭斗”(Tussle)问题[13] 。 P2P 网络作为一种典型的Overlay 网络实现技术,具有自组织、可缩放性、对等、易于部署等特点,使得在互联网上部署一个廉价的、可用的、具有一定服务质量(QoS)保障的分布式计算环境成为可能,在普适计算、网络存储、网络计算环境的构建、协同工作、应用层多播服务等应用场合有着广泛的应用前景。同时,P2P 网络技术也对互联网乃至整个社会产生了深刻的影响。

提出了一种面向服务的 P2P 网络体系结构框架模型,对各层次的功能进行了分析,并对框架模型进行了形式化描述,明确了各层次之间的交互关系,并将构件化思想应用于体系结构的服务组合中,有利于满足 P2P 网络资源整合过程中的服务定制的需求。对照面向服务的 P2P 网络体系结构框架模型,从全局角度对 P2P 网络技术进行研究,分析出 P2P 网络中可用性增强的关键技术及相互之间的层次关系。结合 P2P 网络松耦合、自组织、可缩放等特点,对 P2P 网络技术中增强其可用性需要解决的关键问题进行分析。并在此基础上,以结构化 P2P 网络技术为研究对象,将增强网络可用性所需要考虑的多方面因素放置在 P2P 网络体系结构的不同层予以解决,从宏观上把握需要解决的问题。

 致谢衷心感谢导师顾冠群教授对本文工作所提出的宝贵意见!