混合对等网络

2024-09-08

混合对等网络(共7篇)

混合对等网络 篇1

1 引言

对等网网络体系结构的发展主要经历了三个阶段。萌芽阶段:这时候的协议多是Client/Sever运行模式,以集中目录式对等网络模型Napster为代表;非结构化网络协议的出现,该阶段提出了很多新型的网络模型,其中以Gnutella网络模型最具有代表性并且也得到了广泛的应用;混合式网络模型的出现,以Kazaa为代表的网络模型虽然存在一些问题但比前几个阶段的网络协议具有更多的优势。各种模型各有优缺点,多种网络结构依然共存,甚至呈现相互借鉴的形式。本文将对混合式对等网络的网络模型进行分析。

2 混合式对等网络模型

由于集中式和分布式模型各有缺点,考虑到不同节点能力上可能具有的差异性,在分布式P2P模型基础上,结合前两者的优点,提出了混合式P2P模型。这种新型网络模型,可尽量减少系统中需要远距离交互的对等点数目,做到检索尽可能少的对等点就能够满足尽可能多的请求,以降低每一检索过程在网络中产生的总负载量。在这种模型中,将用户节点按能力分类,用一些节点完成特殊的任务,如搜索和索引。用户节点被分为三类。

2.1 普通节点

任何加入P2P网络的用户节点都可以是普通节点。对于普通节点没有能力上的要求。每个普通节点都必须选择若干个搜索节点作为父节点,并在加入和离开网络时通知父节点。普通节点通过索引节点来发现搜索节点,并通过搜索节点搜索共享资源。找到共享资源后,实际的数据传输发生在普通节点之间。

2.2 搜索节点

搜索节点管理着大量用户节点以及这部分用户节点共享的文件列表,其功能与集中模型中的中心目录服务器相似。搜索节点用于处理用户的搜索请求,并从其子节点(普通节点)的共享文件列表中搜索。这要求搜索节点具有较大的网络带宽以及较强的处理能力。

2.3 索引节点

索引节点需要维护可用的搜索节点信息列表,处理来自其它节点的查询请求。索引节点要求具有较大的内存以及较快的连接速度。一个节点可以既是搜索节点又是索引节点。普通节点可以选择3个搜索节点作为它的父节点,如果父节点接受该普通节点作为它的子节点的话,那么该普通节点就可以提交其所要共享的列表给它的父节点。在缺省的情况下,搜索节点可以最多维护500个子节点。在第三代P2P的软件体系结构中,采用了混合式P2P。这种模式,只是搜索和所需资料相关的地址,至于普通到底连接下载了什么内容则和它无关。这种模式的关键之二是引入搜索节点,搜索节点管理着所属普通的文件列表。普通节点通过索引节点获得搜索节点信息,之后普通节点就与获得的搜索节点相连,每一次查询都通过该搜索节点进行。当用户发出搜索请求后,如果和普通节点直接相连的搜索节点查询结果达到100个(这里的100个搜索结果,可以由用户自己来设定)就停止;如果不足100个,就向相邻的搜索节点发出请求,如果查询结果还不够,就继续向外快速发散,直到所有的搜索节点都被搜索到为止。若所有的搜索节点都被访问过,就意味着整个网络上的节点都被搜索到了,其速度要比纯P2P模式快得多。Kazaa是这种模型的主要代表。这种模型如图1所示。

Kazaa对Gnutella做了进一步的改进。由于系统中的大多数节点的动态性都很高,因此覆盖网中节点的指针就必须频繁更新,去除掉那些已经离开系统的节点,补入新的在线节点。

人们从Napster和Gnutella的实际经验中得知,在P2P文件共享系统中节点的性能差异很大,有的节点性能很强,并且很稳定,每次上线之后能保持很长的在线时间,我们称之为超级节点;而更多的节点性能低,且加入系统后很短时间(很多只有几分钟)就离开系统,我们称之为普通节点。这样,Kazaa利用系统中的超级节点(搜索节点或索引节点)搭成系统的主干框架,而普通节点附属在临近的超级节点上。也就是说:Kazaa把节点分为超级、普通两种,超级节点之间搭建类似于Gnutella的覆盖网,而普通节点只连接一个或几个超级节点,并把自己的元数据(即共享文件的列表)发送给超级节点,文件搜索只在超级节点上进行。这样Kazaa获得了比Gnutella更高的稳定性和搜索效率。混合式P2P结合了集中式和分布式P2P的优点,在设计思想和处理能力上都得到了进一步的优化。它达到了以下的目的:混合式P2P体系结构融合了现今主流P2P网络,增强了网络的可扩展性。针对存在的绕路问题和主干网超荷负载的问题提出了一套在Internet网络上切实可行的P2P网络方案。在网络体系结构中加入相应的管理机制,增强了网络的可管理性,避免了P2P网络一直存在的管理混乱和商业价值不高的缺点。在网络体系结构中加入的新型关键值匹配方案,保证了网络的透明性,为用户提供了更好的服务。混合式P2P网络模型作为P2P模型中的一种,其自身的技术应用,也就是P2P技术的应用。其主要应用包括:文件交换、资源共享、对等计算、协同工作、实时通信技术、信息检索技术、网络游戏、基于Internet存储系统和操作系统以及对P2P开发平台的研究和P2P安全框架的构建等。

3 Kazaa网络模型的特点

集中式P2P有利于网络资源的快速检索,但是其中心化的模式容易遭到直接的攻击;分布式P2P具有去中心化的优势,解决了抗攻击问题,但是又缺乏快速搜索。结合前两者的优点,提出了混合式P2P模型。

这种结构根据节点的性能分类,分类为普通节点和超级节点(Super-Node),普通节点在网络中的性能比较低下,而超级节点则恰好相反。这种P2P结构的主要构造机理就是使得某些节点能够担任特殊的任务,即采取一个Super-Node管理多个普通节点,而各Super-Node采用纯分布式的P2P结构进行互联,而实现彼此之间的交互,也可实现系统的可扩展性。这种结构的优点是可以有效的缩减传统Napster等集中式P2P系统中中央服务器的规模,有效的控制系统的瓶颈的产生,由于各Super-Node采用纯分布式的P2P结构进行互联,因此,只要有新的节点想加入到该系统中来,可以直接查找附近的Super-Node,申请加入到该Super-Node,另外,也可以把一个机构内部的网络构造成一个或多个Super-Node,再使这些Super-Node和原有的某些Super-Node采用分布式的P2P技术交互,从而实现新老Super-Node之间的交互,进一步实现系统的可扩展性。

混合式P2P体系结构具有的特点:有利于网络资源的快速检索,提高了信息的查找速度,提高了资源的利用率,使网络资源得到有效的利用;提高了网络的可扩展性,促进了计算机网络的发展;解决了网络的抗攻击性问题,为信息的安全传输提供了保障,有效的解决了人们关心的安全问题;彻底的使“内容位于中心”模式转变为“内容位于边缘”模式,体现了对等网的关键所在。

4 结束语

P2P技术应用成功与否,效率的高低取决于如何快速准确的资源定位以及资源的传输时间,对于资源的传输时间可以从传输介质这方面加以提高,而高效准确的资源定位,就离不开采用何种方式来构建对等网络,从最初的集中式到分布式,再到目前比较成熟的混合式对等拓扑结构,P2P网络模型越来越成熟,应用范围越来越广泛,这都是P2P拓扑结构不断改进的结果。

摘要:作为改变现有Internet应用模式的主要技术之一,计算机对等网络(P2P)是目前新一代互联网技术研究的热点之一,而P2P网络模型研究是对等网网络技术研究的重要环节。对等网络主要指计算机之间以对等的方式形成的网络连接,弱化或取消了服务器的作用。与传统的C/S模型相比,它在网络资源利用率,消除服务器瓶颈等方面有明显的优势。本文介绍了Kazaa的系统模型,并对它进行了分析研究,并介绍了对等网的应用以及给我们带来的影响。

关键词:对等网(P2P),网络模型,Kazaa,混合式

参考文献

[1]雷葆华.P2P网络的关键技术与应用.中国电信股份有限公司北京研究院,2005.

[2]王丹,魏红.P2P模式的系统结构研究[J].沈阳航空工业学院学报.2003.

[3]张联峰,刘乃安,钱秀槟等.综述:对等网(P2P)技术[J].计算机工程与应用,2003.12.

[4]丁丽萍.Android操作系统的安全性分析[J].信息网络安全,2012,(03):23-26.

[5]吴轩亮.三网融合下城域网DDoS攻击的监测及防范技术研究[J].信息网络安全,2012,(03):45-48.

混合对等网络 篇2

网格计算平台可以共享与聚集处于多域范围内的、地理位置分布的计算资源、数据资源与存储资源,是目前很常见的一种分布式计算模式。但是当前的网格或分布式计算系统往往采用了集中式或半集中式的结构,很难把计算的规模扩展到大规模的因特网上。对等计算模式由于采用了非集中式的结构,充分利用当前的网络带宽,可以把处理网络边缘的、使用效率低的空闲计算资源聚集到计算平台中来,某些文献上也把它们称为P2P-Grids桌面网格[1,2,3],是一种较好的网络拓扑结构与平台。P2P-Grids也有利于系统的可扩展性,同时也可以克服集中式的系统的单一失效点问题,使系统具有稳健性。

桌面网格共享的计算资源主要是桌面PC机,把PC机作为对等网络中的对等实体,随着网络带宽的提高与各种新网络协议的出现,近年来桌面网格也被广泛应用,通过运行计算量大的、分布式的应用,来充分共享大规模因特网上的计算资源,如ShareGrid[1]、Alchemi[2]、WSPeer[3]、OurGrid[4]、P3[5]等项目都是典型桌面网格的例子。

本文提出的UDGP就是一种利用对等网络技术来构造的非集中式的桌面网格计算平台,它把平台中的节点划分为工作机对等实体、管理机对等实体、应用程序对等实体,共同的协同与合作,完成一个并行分布式应用问题。

UDGP平台由于结合了网格技术与对等网络的优点,所以具有可扩展性、非集中性、鲁棒性强、高效性的特点。运用了一个混合式非结构化对等网络的JXTA通信库,组织UDGP平台中的节点,高效率地实现消息的路由、资源的发现。最后对该桌面网格平台的性能进行了实验与分析,以生物信息学多序列比对作为并行案例程序,模拟实验结果证明了平台的正确性与高效性。

1 UDGP平台的设计

1.1 平台概况

UDGP是建立在对等网络JXTA协议标准上的,属于一种混合式的非结构化的对等网络。在JXTA协议中,具有两个类型的对等实体:普通实体与集合对等实体,通过比较与类比,把UDGP平台中的实体组织也分为为工作机对等实体与管理机对等实体,应用程序对等实体是完成应用的提交与控制的主控机,有别于纯非结构化对等网络。和结构化对等网络比较起来,尽管这样的设计在服务的调用、消息的路由上有时候要经过管理机,但是在某种程度上处理了对等网络的安全性与可信誉机制问题,控制了对等网络的搭便车行为[4,5,6]。

因为UDGP平台使用一个混合式非结构化对等网络结构,大部分对等实体都平等地进行消息路由与通信。但是管理机对等实体是用来执行任务工作组之间的消息路由的,消息的路由的过程就是平台中网络资源的发现过程。由于借助了JXTA框架,这使系统具有自组织特性与安全性。

1.2 对等实体的组织

UDGP平台的对等实体组织如图1所示,包括管理机对等实体、工作机对等实体和应用程序对等实体。因特网上的空闲计算资源都可以作为某种角色的节点加入到UDGP平台中来。为了使平台达到可扩展性和鲁棒性强的特点,平台可以由多个管理机对等实体组成,每个管理机下属聚集着一些工作机节点。每个管理机及下属的工作机形成一个任务执行工作组。在这个工作组里,工作机可以直接与组内的其他工作机协同与合作,也可以与该组的管理机通信与合作。

UDGP在构建时,因特网上的空闲计算资源以浏览器的方式访问UDGP的客户端界面,作为一个工作机实体启动,搜索平台中的可用的管理机实体,如果搜索到一个管理机,工作机将与其建立网络连接,并开始通信与准备接收任务相关的数据与代码。管理机节点下属的工作机数量有一定的限制,当达到一定的数目时(总节点数一般不超过100),管理机节点将拒绝工作机再加入任务执行工作组,这样设计的目的是防止工作组里的管理机负载过多。当工作机节点进入工作组后,在管理机的分派下开始执行应用程序的工作单元。桌面网格中的工作单元是一个很重要的概念,因为适合在桌面网格上运行的应用往往是计算密集型的粗粒度的并行,一个大的任务能够被划分很许多独立的子任务,子任务之间很有数据依赖关系,所以某些文献上把其称为工作单元。

如果在某个时间段内,一个工作机节点不能连接到管理机节点,它将作为新的管理机节点角色启动,监听与等待其他的工作机来加入形成新的工作组。这种设计使得UDGP平台具有自组织特性,自动地划分并形成多个工作组,同时使平台具有稳健性,克服单一失效点问题;也具有可扩展性使其规模很容易扩展到大规模的因特网上。UDGP平台在初始化时,第一台主机将自动作为一个管理机角色,开始接收工作机的加入。随着新的机器加入到平台中来,新的任务执行工作组是自然形成的。当一个管理机由于网络或物理故障退出平台,它下属的工作机将自动去寻找平台中的其他管理机节点,或其自己形成一个管理机节点,来等待新工作机的聚集,这样某些节点异常退出就不会影响平台的应用执行。

1.3 平台的工作机制

为了使用UDGP平台解决一个并行分布式计算问题,应用程序对等实体将提交一个任务集,它将随机地把任务集分派给一个管理机节点。管理机节点将把该任务集划分为了若干个比较小的工作单元,该工作单元是UDGP平台并行执行的单元。管理机保持了一个有限的任务集的计算量,并把这些工作单元分发与调度给下属的工作机节点执行。如果当前的任务集的计算量太大,管理机在划分工作单元的过程中,将保留一部分工作单元,并把剩下的工作量分派给其他的管理机节点。如果没有更多的计算资源,没有执行完的任务集将返回给应用程序实体。提交给平台的所有的任务集与工作单元都具有全局唯一的ID号,这样管理机节点使用该ID号来区分它自己所处理与接收过的任务集。当一个工作机节点完成工作单元计算后,它将返回该工作单元的临时结果到管理机端,随后管理机将把该结果前传到应用程序对等实体,如图2所示。

图2中描述了平台的工作机制:应用程序实体提交了任务集,任务集被划分为1000个独立的工作单元,该1000个工作单元将被7个任务执行工作组来并行执行。工作组A,B,C三个工作组自己保留100的工作单元,这些工作单元由下属的工作机来执行。工作单元没有继续下传,因为工作组E,F和G已经有足够的计算能力,可以处理工作组A,B,C剩余的700个工作单元。图中的工作组D不再划分任务集,即到了工作组D上未处理完的工作单元将返回到应用程序实体。

2 UDGP平台的实现

2.1 UDGP的实现模块设计

UDGP平台的实现采用的是Java语言,有了Java及JXTA的字节码技术可以使UDGP平台聚集各种软硬件与操作系统组成的网络资源。Java内置对安全性功能也可以防止恶意的工作机访问网络资源的可执行字节码(Jar包)。另外Java的流处理技术与对象序列化技术可以把UDGP网络中的节点的软件信息与硬件信息进行封装,很方便在各种节点之间进行传输,编程方便。根据UDGP平台的节点角色及工作机制,把UDGP平台的实现模块分为几个部分,如图3所示。

UDGP平台的Java主类用来配置系统并发起工作机节点与管理机节点,启动用户界面模块。 用户自定义的配置选项被装载到该主类中,而且该主类初始化了JXTA协议环境,加入到默认的任务执行工作组。主类也是UDGP平台的应用程序实体的入口,当应用程序实体启动时, 它将创建和发起一个新的工作机对等实体模块的主类,这在后面有详细的描述。

2.2 工作机对等实体

工作机对等实体模块实现了工作机的功能,当UDGP平台的主类被执行后,工作机模块主类的实例将创建并启动一个独立的线程。当连接到一个管理机时,工作机将周期性地轮询管理机并获取工作单元。工作单元被封装成Java对象。工作单元对象通过管理机来创建,被序列化并且通过字节码的流对象传输到工作机端。通过调用管理机端的run()方法,工作机将以线程的方式执行工作单元的字节码。当工作单元在执行的过程中,通过发送心跳消息给管理机,确定自己的存在。

工作机也周期性地检查工作单元的执行结果是否被返回到管理机端。工作单元被执行完后,返回的临时结果也是序列化的对象。当工作机端没有可以执行的工作单元时,它将启动一个负载Benchmark程序,用来标识一个工作机当前的性能情况。该Benchmark程序的运行结果被发送到管理机端。被传输到工作机端的工作单元的可执行字节码只包括对象的域(数据),不包括对象的方法(代码),为了能够重新创建任务对象的相应的Java代码,该功能必须启动到工作机端。

所有的传输到工作机端的类都需要经过UDGP的类装载模块完成。通过使用一个自定义的类装载器,将创建一个沙漏式的环境,可以避免这些代码访问本地机器的私有资源,这里体现了UDGP平台的安全性,由JXTA提供。UDGP平台的类装载器维持了一个Jar代码的存储器,这些存储器可以包括不同的版本的Jar包,即允许存储应用的不同的代码版本。代码存储器也可以作为Jar的缓存。对于工作机端的代码存储器将不会传输到别的机器,因为它们在工作机端已经是可以执行的了。

2.3 管理机对等实体

应用程序对等实体作为提交工作的一个部分,将上传一组Java包到管理机端,这里包括所有的可执行串行代码。管理机端将根据需要把Jar包传输到工作机端,当工作机在某个时间段内找不到管理机时,它将创建一个管理机模块的主类,启动管理机端的线程。在开始的时候,管理机端开通两个JXTA管道,第一个管道用来与工作机端建立起连接;第二个管道是用来与应用程序实体提交任务的数据传输通道。

新加入的工作机试图连接管理机,当管理机下属的工作机没有达到数量限制情况下才接收。和前面所描述的一样,当空闲的时候,工作机周期性地轮询管理机获取计算任务,该轮询类似于分布式系统中的心跳机制。如果一个工作机处于非空闲状态,它将不去轮询管理机;如果是已经连接上的,在经过某个时间段后,将断开与管理机的连接。

2.4 应用程序与监控

应用程序对等实体的功能是实现并行应用任务的提交, 任务集将被提交到管理机端。每个任务集都对应着一个任务描述文件, 该任务描述文件相当于传统并行计算环境下的作业说明书。 应用程序节点寻找网络中的管理机节点, 一旦管理机节点被找到,任务集将被提交到新发现的管理机端。

应用程序开发员可以在应用程序实体上注册一个监听对象, 当工作机端的工作单元的结果返回后或任务集不能被提交时,该监听对象将被确认。任务集在应用程序实体上保存一段时间,随后将继续提交到管理机端。

系统的监控模块是由应用程序监控类完成,它用来提供网络与系统的状态监视。应用程序模块在执行时将自动启动一个监控线程,如果一个管理机开始工作,本地的监控线程将周期性地查询管理机的状态,发送这些状态到UDGP平台中的其他监控线程,这些机器的硬件信息与软件信息都是通过JXTA的管道发送的。监控线程也维持一个平台中所有的管理机的列表,根据每个管理机的负载与性能进行排序。由于平台中的管理机的数目十分多,所以监视的都是最近时间段的一些信息。

2.5 界面与通信协议

UDGP应用程序对等实体可以通过一个网页控制应用界面模块,在开始的时候, 应用将在本地主机上启动一个小的Web页面,通过这个界面,用户可以开始与停止本地的工作机与管理机节点, 把各种角色的机器连接上JXTA网络, 界面模块里也有状态信息页面, 该页面提供了当前的工作机的负载统计信息,也提供了管理机节点的状态信息, 该信息是由监控线程完成的。通过使用配置页面, 用户可以改变平台的配置。

除了JXTA协议外的通信过程,协议设计都是简单化原则,基本文本文件。虽然当前有一些比较新型的网络协议, 例如RMI与JMS,RPC等,但是由于这些协议都是开发源代码, 本身可能存在有一些问题, 所以UDGP平台除了JXTA外,使用了内部自定义的通信协议,使用这些文本式的协议既方便了调试也容易实现,图4显示了文本通信协议的例子。

3 测试与性能分析

3.1 测试环境与评价标准

机器的软硬件配置如表1所示, UDGP的硬件网络拓扑如图5所示。把JXTA框架中的一系列的Jar包与支撑UDGP平台运行的Jar包直接复制到JRE运行环境中,通过浏览器即可把各种角色的节点加入到UDGP平台中来。应用程序对等实体提交并行任务,即可以启动UDGP平台的运行。

测试UDGP平台的性能的并行案例程序选择了生物多序列比对ClustalW算法[7]。评价目标为UDGP平台的可扩展性、非集中性、稳健性、高效性等,稳健性与高效性通过计算时间来体现;可扩展性与非集中性通过加速比来体现。

3.2 性能分析

在多序列比对的ClustalW算法测试时,根据选取好的50条SARS冠状病毒序列,序列的数据可以从基因数据库中进行下载[8]。可以从用户先设置好序列文件,序列文件作为代码单元的数据,包括数据文件(**.seq)和参数文件(**.parm)。其中前者为代码单元要进行比对的序列对象数据,包括N(N>=2)条基因数据;而后者则包含一些比对过程中所需的简单参数。在UDGP平台的工作机节点个数n(n=8、16、24、32、40)的情况下进行了测试。当任务提交后,平台的管理机对等实体将各个序列分配在工作机节点上进行比对。当所有的代码单元完成后,应用程序实体进行处理,最后得到比对结果。经过测试,在计算时间上,系统可以稳定运行72个小时。最终的结果文件包括:**.dnd和**.aln两个文件。其中前者为向导树文件后者为序列结果文件。**.dnd和**.aln两个文件可以采用生物信息学里的软件查看,如 TreeView等。

经测试,整个过程需进行总共1225次双序列比对。试验中性能最好的一台PC完成一个工作单元需要大约30分钟,而性能较差的PC则需要约54分钟,计算后得出运行一个工作单元平均需要大约42分钟。在UDGP平台工作机节点数不同的情况下,计算的加速比如图6所示。

由图6分析,计算加速比随着工作机节点数的增加而增加,在工作机节点数为8时,计算加速比为5.7,在工作机节点数增加到40时,计算加速比为30.6。加速比的变化基本正比于工作机节点数的变化,加速比曲线出现的一些波动是由工作机节点和网络状态的不稳定造成的,从规模来看,当工作机数量达到很多的时候,加速度提高比很明显,基本接近于理想值,这也证明了桌面网格平台在时间长、规模大的情况下,有时性能也可能达到集群或网格计算模型的速度。该实验也表明本平台的稳健性、可扩展性。

4 相关工作

非结构化对等网络例如Gutella或Napster等,并不把应用层的覆盖网络形成为一个有组织的结构,每个对等实体维护一个活跃邻居列表,但是由于缺少结构,所以其并不知道它要查找的资源的具体信息,所以该对等实体是通过广播的方式来查找的。为了限制网络的跳数,所以动态查询或TTL被设置出来,非结构化对等网络可以充分利用网络的带宽,具有非集中性、稳健性、规模大、可扩展性的优势。

结构化对等网络有Chord与Pastry等,通过把应用层的节点形成一个有组织的网络(环状或立方体),目的是为了满足查找的高效率,在结构化对等网络里只需要O(logn),而非结构化对等网络里需要O(n)的复杂度,但是结构化对等网络具有维护结构的开销,而且其大多情况应用在文件与数据共享平台,对于桌面网格计算,往往不合适。

目前有很多利用非结构化对等网络的构建的桌面网格平台。OurGrid[4]项目使用一种轻量级的P2P方式来发现空闲对等实体,形成一个网格计算平台,它强调的是分布式代码的执行,OurGrid能够自动把任务分发与调度到空闲对等实体上,同时使用一些了解网络状态的全局超级节点来控制负载的均衡,这样可以有效地防止对等网络中的搭便车行为。OurGrid项目的另外一个特点是处理的是数据依赖很小的主—从风格的并行应用。

ShareGrid[1],Alchemi[2], WSpeer[3]等项目都试图克服对等网络的安全性与可信誉机制差的缺点,尽量摈除搭便车行为,发挥网格平台的稳健的面向服务的资源管理框架的优势,资源管理与调度、服务发现是这类平台的关键技术。

P3[5]、SP2A[9]、JNGI[10]、Pawn[11]等也用到混合式的非结构化对等网络JXTA框架,支持节点的直接或间接通信,具有分布式多应用支持和容错性特点,与UDGP平台比较起来,其编程接口与应用范围具有一定的限制。

本文的UDGP平台与Gutella等纯非结构化对等网络不同,采用混合式对等网络的JXTA技术与非集中式的结构,与上面的项目比较起来,通过利用对等实体监控、文本通信协议等高级技术,发挥了对等网络的优点,可以把网格扩展到大规模的因特网上,是构建桌面网格的一种新方法。

5 结 语

本文利用对等网络可扩展性好的优势,采用非集中式结构,描述了基于混合式非结构化对等网络的桌面网格平台UDGP的设计、实现与性能评估。UDGP平台由于结合了网格技术与对等网络的优点,利用了对等网络的JXTA框架,所以具有可扩展性、非集中性、鲁棒性强特点。通过构建测试环境,以基因多序列比对的作为案例程序,验证了UDGP平台的正确性与高效性。下一步的工作是研究管理机端的调度机制与工作机端的负载均衡机制,从而充分提高因特网上的空余计算资源的利用率。

摘要:利用非结构化对等网络的可扩展性与非集中性的特点,设计与实现了一个基于混合式非结构化对等网络的桌面网格平台UDGP(Unstructured P2P Desktop Grid Platform)。UDGP平台中的节点角色分为工作机对等实体、管理机对等实体、应用程序对等实体,共同的协同与合作完成并行分布式计算。利用了一个通用的混合式对等网络通信库JXTA,JXTA框架方便了对等实体直接或间接的通信,保证了对等实体组的自组织特性与安全性。构建了平台的测试环境,以生物多序列比对作为案例程序,实验结果表明UDGP平台的加速比与计算时间比同类系统性能较好,具有稳健性、高效性与可扩展性的特点。

关键词:桌面网格,对等网络,非集中式系统,资源共享,可扩展性

参考文献

[1] Anglano C.Canonico M,Guazzone M,et al.Peer-to-Peer Desktop Grids in the Real World:The ShareGrid Project[C]//Proceedings of 8th IEEE International Symposium on Cluster Computing and the Grid,2008,8:621-626.

[2]Luther A,Buyya R,Ranjan R,et al.Alchemi:A.NET-Based Enter-prise Grid Computing System[C]//Proceedings of the 6th InternationalConference on Internet Computing(ICOMP'05),2005:27-30.

[3] Harrison A,Taylor I.Dynamic Web Service Deployment Using WSPeer[C]//Proceedings of 13th Annual Mardi Gras Conference-Frontiers of Grid Applications and Technologies,Louisiana State University,2005:11-16.

[4] Andrade N,Costa L,Germoglio G,et al.Peer-to-peer grid computing with the ourgrid community[C]//Proceedings of the SBRC 2005 - IV Sal~ao de Ferramentas,2005.

[5] Shudo K,Tanaka Y,Sekiguchi S.P3:P2P-based Middleware Enabling Transfer and Aggregation of Computational Resources[C]//Proc. of the IEEE International Symposium on Cluster Computing and the Grid,2005,1:259-266.

[6] Fox G,Pallickara S,Rao X.Towards Enabling Peer to Peer Grids[J].Journal of Concurrency and Computation:Practice and Experience.ACM JavaGrande ISCOPE Special Issue,2004.

[7] Thompson J D,Higgins D G,Gibson T J.CLUSTAL W:improving the sensitivity of progressive multiple sequence alignment through sequence weighting,position-specific gap penalties and weight matrix choice[J].Nucleic Acids Research,1994(22):4673-4680.

[8] EMBL database 2010.http://www.ebi.ac.uk/embl/ index.html.

[9]Amoretti M,Zanichelli F,Conte G.SP2A:a Service-oriented Frameworkfor P2P-based Grids[C]//Proceedings of 3rd International Workshopon Middleware for Grid Computing(MGC05),November 28th--De-cember 2nd,Grenoble,France,2005.

[10]Verbeke J,Nadgir N,Ruetsch G,et al.Sun Microsystems,Inc.,Frame-work for peer-to-peer Distributed computing in a Heterogeneous andDecentralized Environment[C]//Proc.of the third International work-shop on Grid Computing(Grid 2002),2002:1-12.

对等网络的应用研究 篇3

对等网络的应用场景主要分为三大类:内容共享和文件共享、分布式计算以及协同工作和消息通信。

1.1 内容共享的应用

这一类应用是在端点之间共享各自的存储空间。

在内容共享方面, Napster网站要做的仅是维护一个“谁拥有什么MP3”的中央列表, 共享的文件仍然存放在各自的硬盘中。当有用户请求下载某个文件时, 只需打开Napster工具, 通过Internet连接登录到中心服务器;中心服务器会在当前在线用户的索引中查找, 然后显示拥有这首歌的所有当前用户清单, 用户单击清单上目标用户的名字即与该用户打开一个直接连接, 服务器在端点之间建立连接后即退出, 这样用户就可以直接从目标机器上下载文件。

1.2 分布式计算

这一类应用是在端点之间共享各自的CPU周期, 将复杂的计算问题分解为几块能同时运算的并且之间交互较少的运算块。SETI@Home是这种共享CPU周期的最好的例子。加入SETI@Home的端点, 登录SETI@Home的服务器后, 服务器就可以在端点空闲的时候发送计算任务, 由空闲端点完成一些计算。

SETI@Home模式和传统的C/S模式的计算截然不同:传统的C/S模式中, 客户端将自己计算的请求发送给服务器, 由服务器完成计算, 并且把结果返回给客户端。而SETI@Home模式是由服务器将计算任务进行划分, 分解为多个子计算任务, 服务器将这些计算子任务分派给网络中空闲的端点, 由这些端点完成计算, 并且端点把计算结果返回给服务器, 由服务器完成计算结果整合工作。

1.3 协同工作

这一类应用是在端点之间共享各自的工作空间。协同工作是人对人的活动, 对等网络模型可以模拟这样的活动。由Groove Networks开发的Groove就是这样一个分散的能使小组之间交互的协作平台。Groove框架是一种网络中断时有服务器干涉的对等网络。它提供可下载的客户端软件, 该软件允许用户与网络上的其他人一起建立所谓的“共享空间”, 而且Groove对包括达成通信协作的最初请求在内的所有通信都进行加密, 以确保共享空间的安全。

与C/S和基于Web的解决方案不同, Groove并不需要中央管理或服务器资源。Groove的共享空间是动态的, 并且一旦用户确定没有使用这些空间的必要, 它们可以立刻注销, 从共享空间中消失。而且Groove并非基于某个固定的界面来建立协作, 而是使用XML来显示信息并只传递在工作组协作中发生变更的部分。

1.4 应用分类比较

针对以上三种应用, Kant等人提出了一种从技术角度的分类比较框架。在该框架中, 包括以下五个纬度:

1) 资源的存储方式。根据资源所处位置的组织方式不同, 可以分为两类:

(Ⅰ) 分散的:资源的存储由请求端进行控制, 即由请求端来决定或者由请求端已知的辅助结点来决定资源被存储的位置。

(Ⅱ) 有组织的:资源被定位在一个或多个全局已知的位置或结点上。通常, 每个资源都对应一个“句柄”, 用户根据句柄访问相对应的资源, 但是, 如果资源被分布在多个结点中, 则存在句柄和地址链接的问题。

2) 资源的控制与管理方式。根据资源的元数据或者控制信息的管理方式不同, 可以分为两类:

(Ⅰ) 分散的, 由端点自行控制与管理元数据。

(Ⅱ) 有组织的, 元数据由一个全局已知的结点管理与控制, 呈现一种有组织的控制管理结构, 如树状的组织结构。

3) 资源的使用方式。根据资源被使用的作用, 可以分为两类:

(Ⅰ) 孤立式, 端点孤立地使用资源, 此时, 端点之间不存在消息交互或内部依赖。

(Ⅱ) 协作式, 端点提供的资源可以通过端点之间的交互实现协作使用, 例如多点传送、同步等。

4) 全局状态控制方式。根据应用对全局状态控制的需求不同, 可以分为两类:

(Ⅰ) 松散的, 这样的应用并不需要维护一个对等网络的全局视图, 并且不需要进行与一致性、同步、局部自治相关的工作。

(Ⅱ) 紧密的, 需要维护一致性等问题。

5) Qo S约束。根据资源使用时对Qo S的要求不同, 可以分为三个程度:

(Ⅰ) 微弱的, 不需要考虑Qo S的需求。

(Ⅱ) 适度的, 需要考虑较好的响应时间和成功率的Qo S需求, 多面向在线请求/回复这类的应用。

(Ⅲ) 严格的, 面向传输连续的字节流应用, 这样的应用通常需要考虑较高的Qo S需求, 例如实时的音频和视频传输。

2 对等网络的适用范围

尽管在资源共享的问题上, 对等网络有许多优势, 但是, 并不是所有的应用都适合使用对等网络, 有的应用问题并不值得使用对等网络。Roussopoulos等人对该问题进行了研究, 使用一个五层的决策树对问题进行了划分, 并且, 讨论了适用对等网络的问题类别。

该决策树中, 使用了以下五个判定条件:

1) 预算 (budget) :如果一个解决方案的预算非常充足, 设计者可能不会考虑花费时间解决实施对等网络方案产生的问题。如果预算有限, 尽可能地降低单个端点的开销。这是选择对等网络体系结构的关键动机。

2) 资源与共享者的相关度 (relevance) :即端点对其他端点的数据感兴趣的概率。如果相关度高, 对等网络自然适合这类问题;如果相关度低, 就无需使用对等网络。

3) 相互信任度:端点之间的相互信任度也会影响对等网络的选择。在对等网络系统中相互不信任造成的开销很高, 并且需要通过特殊的问题需求进行证明。

4) 系统的变化率:系统的参与者、资源和参数有可能趋于稳定或者快速变化。对等网络系统中快速的改变可能难以提供一致性的保证, 也难以抵御外界攻击。

对等网络信任评价模型研究 篇4

由于具有开放、灵活与健壮等特性, P2P系统逐渐成为互联网上重要的应用之一[1]。但同时由于P2P系统的匿名性和开发性, 导致其产生虚假评价, 造成正常服务不能被检索到。如何实现一种机制将P2P网络中的不良用户进行隔离, 规避此类用户带来的安全风险, 是P2P网络安全面临的主要问题。

在传统的网络环境中, 往往通过可靠的网站保证服务的可靠性, 但这种集中式的信任机制并不适合于P2P网络。传统的网络环境类似于商场和人之间的关系, 而P2P网络更类似于人与人之间共享服务, 借鉴人际网络中的信任关系建立有效的信任模型, 能够有效地抑制节点服务滥用与欺诈等恶意行为。

目前的信任模型主要工作集中在服务质量上, 根据服务的相关性以及服务完成的质量, 对服务的信任等级进行更新, 这样可以在一定程度上抑制节点的一般恶意行为, 但没有考虑到作出评价节点自身的公正性与客观性问题, 例如某个节点为提高其自身服务的访问量, 对其他提供同类服务的节点进行恶意评价。甚至通过群体进行协同作弊, 严重危害到P2P网络的公正性和客观性, 以致造成网络运行效率低下、服务搜索时间过长等问题。

本文针对上述问题, 提出一种结合用户评价可信性的服务选择方法, 在考虑用户评价的可信度的同时, 对用户搜索行为进行聚类, 以降低群体欺骗对网络造成的影响。在服务使用完成后, 首先根据服务使用节点的评价, 更新服务使用节点的可信度, 然后再根据服务使用节点的可信度, 更新服务提供节点的可信度, 以确保服务搜索评价的公正性和客观性。

本文第1节给出了信任评价模型的描述和相关策略;第2节给出了信任评价方法;第3节给出了相关研究工作;第4节总结本文并指出下一步的工作。

1 信任评价模型

在社会活动中, 人们在交易之前通常会根据双方直接交易的历史记录或者朋友的推荐信息, 对交易活动的可靠性进行评价, 同时对评价的客观性进行判断。在对等网络环境中, 节点在进行服务反馈评价时, 判断评价节点自身的可信程度, 可以有效的降低恶意评价对服务选择的影响。本节将给出服务评价信任模型 (Service Evaluation Trust Mode, 简称SETM) 的描述和相关策略。

定义1服务评价信任模型PN= (Ni, T, P) , 其中Ni为网络节点的集合, 节点在网络中共享或消费服务, T为各节点之间对提供的服务的一种信任度量, P为网络中的相关策略。

定义2信任度T是一个节点对另一个节点提供服务的信任程度的度量, 本文中信任度分为直接信任度和间接信任度, 且0≤T≤1。

定义3节点Ni维护一个邻居列表, 当节点Nj在Ni邻居列表中, 则称相邻。

定义4直接信任度是节点对相邻节点的信任程度, 假设节点S、C相邻, 节点S提供服务, 节点S自身提供服务的信任度为Ts, 那么节点C对节点S的信任度为

定义5间接信任度是节点对不相邻节点的信任程度, 假设节点i、j、k, i与j、j与k相邻, 但i与k不相邻, 那么节点i对节点k提供服务的信任程度为

1.2 模型策略

SETM模型中定义的相关策略用于模型的构建和管理, 下面阐述各个策略。

策略1:服务发布策略

在对等网络中, 服务如何被检索是首先要解决的问题。本文中, 使用服务发布方法, 当提供服务的节点S加入到网络中时, 节点S向外发布服务k次服务, k可表示为γn, 0<γ<0.1为发布常数, n为网络节点数。节点C接收到信息后, 将节点S列入到邻居列表中, 并记录节点S提供的服务和以及节点C对节点S的信任度Tcs。该网络建立过程类似自组织推荐网络的构建过程, 具体过程可参见文献[2]。

策略2:信任度更新策略

在对网络中提供服务的节点进行评价时, 通常人们都假设评价是公正的, 没有考虑到评价本身的可信度问题。本文中, 考虑到评价本身的可信度, 使用以下公式更新评价节点本身的可信度以及服务节点S的可信度:

Ts (n) =Ts (n-1) * (1-Tc (n) ) +Tc (n) *Ts (c) (4)

其中f (x) =ke-x为时间评价函数, k为常数, x≥0, x=m/T, x为单位时间内的恶意评价次数。本文中, k取1.2, 当单位时间内没有恶意评价x=0, f (x) =1.2, 当更新Tc (n) >1时, 取Tc (n) =1。

这样当一个节点, 作出大量恶意评价的时候, 其本身可信度会迅速降低, 以致其产生的恶意评价影响较小, 从而保证评价数据的公正性和客观性。

策略3:聚类策略

聚类分析是一种没有预先指定类别的无监督分类法, 常常用于了解数据的分布或进行数据的预处理。一个好的聚类方法能够产生高质量的聚类结果, 聚类结果的好坏取决于该聚类方法采用的相似性评估方法以及该方法的具体实现[3]。本文中, 对节点的评价行为进行聚类分析, 以便发现群体性的恶意评价行为。例如, 当网络中某些节点想提高某一服务节点的可信度, 同时降低提供同类服务的其他节点的可信度, 这样的节点在服务搜索行为上会有共同点, 通过聚类分析可以及时发现这样的群体, 及时降低群体的可信度, 以使其群体评价行为不可信。本文采用文献[4]提出的样本线性化程度的聚类方法, 用于实现拒绝服务攻击输入-输出映射关系的合理划分, 把输入空间划分为多个子空间, 然后在每个子空间采用多元线性回归方法对样本的输入-输出关系进行拟合。

本文中, 当某一群体的进行恶意评价时, 在更新该节点的可信度的同时, 使用下式降低其他节点的可信度:

式中:当群体进行恶意评价时, 一个节点做出恶意评价后, 其他节点可信度同样受到惩罚, 但其降低速率是恶意评价节点的一半。这样, 当群体进行恶意评价时, 整个群体的可信度会迅速下降, 进而使群体的恶意评价降到最低。

2 基于SETM模型的信任评价方法

2.1 问题描述

本文主要给出了基于SETM模型的信任度评价方法, 在进行网络服务选择的同时, 如何结合服务节点的可信度, 进行可信服务选择的问题, 以及在对服务进行评价的同时, 如何考虑评价来源的可信性也是要考虑的一个主要问题。

2.2 算法基本思想

本文, 基于文献[2]中的ABSDA服务的搜索算法, 考虑到服务节点评价的可信性, 提出了基于服务评价的服务搜索算法。在本算法中, 首先对邻居列表中的社交度与信任度进行计算, 采取乘积的方式计算邻居的信任社交度SIGT:

SIGT (i) =SIG (i) *T (i) (6)

然后根据SIGT使用公式 (7) 进行路由选择, 直到查找到目标节点。

在路由成功后, 根据服务使用节点对服务提供节点的评价, 使用公式 (3) 、 (4) 对节点的信任度进行更新, 在更新过程中使用聚类策略对同一恶意评价群体信任度进行更新, 以便迅速降低群体欺骗造成的影响。

2.3 算法描述

基于SETM模型的信任评价算法的形式化描述如下:

上述算法同时结合了蚂蚁寻路行为和信任度评价算法, 具有良好的动态性。根据节点的恶意评价, 更新相关节点的信任度。同时根据聚类关系, 对恶意评价群体进行信任度惩罚, 降低了恶意评价的影响。这样的算法可以良好的适应动态、开放的环境, 提高了正确服务查找的概率。

目前, 不少研究集中在对等网络的信任机制研究上, 但大部分研究都没有考虑到做出评价节点自身的可信度问题。文献[5]给出了一种基于节点评分行为相似度加权推荐的对等网络环境下的全局信任模型, 用于量化和评估节点的可信程度, 一定程度上解决了信任值高的节点其推荐也更可信这个假设问题。但该模型使用全局信任值迭代求解算法的收敛性, 由于对等网络的高度自治, 导致全局数据搜索和计算依赖于超级节点, 因此应用具有一定的局限性。方群等人基于数据压缩领域中的行程编码理论提出一种RunTrust动态信任模型[6], 以系统收益衡量节点合作成果, 以经过压缩的节点合作记录作为信任评估依据, 既增加了评估依赖的信息量, 也保留了时间维度, 提高了信任度评估的准确性和动态恶意行为的判别能力, 但是该方法在信任数据压缩存储技术的研究仍处于探索阶段, 行程编码的描述能力也比较有限。胡建理等人提出一种基于节点反馈可信度的分布式P2P全局信任模型[7], 用于量化和评估节点的可信程度, 并给出了模型的数学表述和分布式实现方法。但该方法只考虑到对恶意节点的惩罚措施, 致使一个节点作弊后其行为就永远不再可信。

4 小结

针对现有对等网络没有考虑评价节点来源可信度问题, 本文提出了一种种基于评价的信任度更新算法, 并给出了相关策略。该方法结合评价来源节点的可信度, 对服务提供节点的可信度进行更新, 同时使用聚类算法对搜索行为进行聚类, 避免群体欺骗的可能性。

在未来工作中, 需要结合搜索行为的特性, 改进聚类算法, 进一步提高信任度更新的准确性。另外, 在搜索过程中可能会因为某些节点信任度较高而产生超级节点, 如何使信息分布的更加均匀以便更好的利用网络服务。

参考文献

[1]李勇军, 代亚非.对等网络信任机制研究.计算机学报, 2010, 33 (3) :390-405.

[2]谢晓芹, 宋超臣, 张志强.一种基于推荐网络和蚁群算法的服务发现方法.计算机学报, 2010, 33 (11) :2093-2103.

[3]S Raychaudhuri, J M Stuart, R B Altman1Principal components analysis to summarize microarray experiments:Application to sporulation time series1In:Proc of the 2002IEEE Symp on Security and Privacy。Washington:IEEE Computer Society Press, 2002.

[4]赵文涛, 殷建平。一种拒绝服务攻击的离散概率分布预测模型.计算机研究与发展, 2008, 45 (Suppl1) :332-335.

[3]S Raychaudhuri, J M Stuart, R B Altman1Principal components analysis to summarize microarray experiments:Application to sporulation time series1In:Proc of the 2002IEEE Symp on Security and Privacy。Washington:IEEE Computer Society Press, 2002.

[4]赵文涛, 殷建平.一种拒绝服务攻击的离散概率分布预测模型.计算机研究与发展, 2008, 45 (Suppl1) :332-335.

[5]李景涛, 荆一楠, 肖晓春.基于相似度加权推荐的P2P环境下的信任模型.软件学报, 2007, 18 (1) :157~167.

[6]方群, 吉逸等.一种基于行程编码的P2P网络动态信任模型.软件学报, 2009, 20 (6) :1602-1616.

基于对等网络的PPAA模型研究 篇5

关键词:匿名认证,k-Times证书,加密握手,点对点匿名认证

0引言

随着P2P网络应用的兴起, 传统C/S架构的安全认证模型已经不能满足所有节点的安全认证需要。要保证结点间通讯的隐私安全和必要问责, PPAA (Peer-to-Peer Anonymous Authentication) 概念应运而生。

如今的网络已经可以通过传统的认证机制 (访问控制或身份验证) 来核实请求服务的用户端身份。但是现有的Kerberos系统和标准公密钥体系 (PKI) 中用户必须放弃他们个人信息的私密性来通过验证。相反, 一味追求用户隐私的保密性而无需承担发布责任也是不切实际的, 用户结点没有对责任追究的恐惧, 就很难约束其行为。

1研究背景

现有的k-Times匿名认证只能在结点来自同一个服务器时用标签惟一地标识对方。这样的标签体系在同一个客户节点连接另外一个可连接服务器的时候就失去了其全局有效性, 客户端不能做到每次认证都使用同一个惟一的标签。

秘密握手 (SHSs) 也只允许相同组的成员之间不暴露各自的组属性的前提下共享一个会话密钥。同时由于SHSs的非连接性, 无法认定来自同一结点的重复通讯, 进而导致惟一性的缺失和欺骗的可能。

两者都不具备如今P2P网络的多服务器多角色的全局相互识别能力。

2框架的提出

基于已有的匿名认证体系, 结合点对点网络特点提出改进的初步方案。

2.1 将“可链接内容”引入认证方案

可链接内容 (以下简称LC) 是确定认证可链接性运行于框架中的属性集聚。特指当只有两个认证同时进行或者当可链接内容的属性拥有相同约束前提的时候。

在K-TAA中, 只有来自同一个客户端且同时运行的认证是可链接的。K-TAA的可链接内容是LC = (client-ID, time) 即身份和时间的聚集。

在结点隐私信息的结尾是常规认证体系的数字签名, 这使任何的两个认证都是可连接的。这些链接内容尽管没包括有价值信息, 即LC =Ø, 这里可链接的内容是即时的认证即LC = (authen-run-ID) [1]。

PPAA中的可链接内容:正确选择可链接内容是建立PPAA的第一步。在本次设计中, PPAA可链接内容是客户端和服务器端身份的无序对和对应事件, 这是执行PPAA认证的必要前提。

LC={{client-ID, server-ID}, event-ID}

设计PPAA的理想前提是认证的运行是可链接的, 并且应该是被执行在同一对对等节点之间的同一个事件。

2.2 PPAA设计的核心观点

首先, 面向事件的可关联组以及K-TAA虽然因为服务器端的验证不在其可链接的内容中不能作为PPAA框架的安全手段。但是可以通过映射一个事件 (例如时间) 进入服务器验证的方法使其成为面向事件的可链接内容[2]。其次, LC (client-ID, server-ID) 在同一用户到不同的服务器认证情况下也不可链接。带有加密xi的客户端i针对服务器j形成标签ti, j=gxij, 其中, gj是服务器端参数。由此同一个节点的标签对于不同服务器来讲是绝对不可链接的。

构建安全的PPAA需要设计全新的标签:

(1) 标签必须以客户端, 服务器端和事件的特征为生成基础;

(2) 只有来自于同一对结点的共同事件的标签是可链接的;

(3) 结点必须具有生成标签和向未知的其他节点证明标签合法性的能力。

3解决方案

3.1 基本的PPAA

假设已知有Diffie-Hellman协议描述下的组G1, 使H:{0, 1}*→G1作为秘密密钥的哈希函数, 事件识别码是任意长度的字符串。每一个用户由GM颁发一个数字证书cred= (A, x, y) ∈GZp2, 其中x, yRZp, A值在所有的证书中不同。在基本框架中, 函数f输出的标签, 同时作为节点初始化证书ced1= (A1, x1, y1) 的输入, 回应节点cre2= (A2, x2, y2) 并且事件ID为eid[3]。函数定义如下:

f: (ced1, crd2, eid) →tag={τ1, τ2}

其中:τ1=A1x2H (eid) y1;τ2=A2x1H (eid) y2。

协议框架:以初始节点Alice (crd1= (A1, x1, y1) ) 和回应节点Bob (crd2= (A2, x2, y2) ) 在事件 (eid) 中为例, 协议完成后, 他们各自输出一个标签。

(1) Alice→Bob:<U1, V1>=<A1r1, H (eid) r1>, r1∈RZp

(2) Bob→Alice:<U2, V2, W2>=<A2r2, H (eid) r2, U1x2V1y2>, r2∈RZp

(3) Alice→Bob:<W1, τ1>=<U2x1V2y1, W21/r1>。

(4) Bob→Alice:< τ2>=<W11/r2>。

(5) Alice和Bob都输出标签tag={τ1, τ2}=f (cred1, cred2, eid) 然后终止。

3.2 详细的协议模型

为了进一步保证协议参与结点的规范行为需要引入必要的机制, 例如采用SPK[4]框架来进一步约束协议中每一步的正确性。这里, 引入与G1同样描述的G2, 使 (G1, G2) 成为被q-SDH (q-Strong Diffie-Hellman) 假定约束平行的一对组。让λ成为多项式中使λ足够大的安全参数。使g1, g2, …, g5∈G1成为G1的原始构成, 这样就使相关在g1, g2, …, g5和g0间的离散对数未知。让H:{0, 1}*→Z作为秘密密钥算法的哈希函数, H可以被体系中的各个SPK使用。

设定:GM随机选择γRZp并计算ω=h0γG2。组密钥是gsk= (γ) , 组公钥是gpk= (ω) 。

注册:当用户Alice和GM的协议成功完成, Alice由cred= (A, e, x, y, z) ∈GZp4得到一个证书cred, 并且Ae+r=g00g1xg2yg3z。向GM输入的私钥是所管辖组的秘密密钥gsk。协议运行如下:

(1) GMAlice发送<N0>, 其中N0∈R{0, 1}l是随机的。

(2) Alice发送<C, Ⅱ0>给GM, 其中C=g1xg2yg3z∈G1是 (x, y, z) ∈RZp3的委托, Ⅱ0是消息M=N0‖C SPK{ (x, y, z) :C=g1xg2yg3z} (M) 的数字签名依据。它可以证明C的正确与否, 同时参照上面的SPK作为SPK0。详细流程如下:

(3) 如果Ⅱ0的认证返回无效, 那么GM会在失败处终止。否则GMAlice发送<A, e, z2>, 其中e, z2∈RZp并且A= (g0Cg3z2) 1/e+γ∈G1。

(4) Alice的计算机端z=z1+z2。如果ê (A, whoe) ≠ê (g00g1xg2yg3z, h00) , 她也终止于这个失败。否则她输出的cred= (A, e, x, y, z) 就作为她的证书。

验证 Alice (作为发起人) 和Bob (作为响应) 在一个带有标识符 eid∈ (0, 1) *的事件中要相互验证彼此。AliceBob共同的输入是eid, 不同的输入是AliceBob他们自己的私有证书, 分别是 (A1, e1, x1, y1, z1) 和 (A2, e2, x2, y2, z2) [5]。输入标签tag1, tag2判断连接验证通过, 如果他们相等, 算法返回已连接, 否则告知未连接。

4讨论

(1) 认证的密钥交换

PPAA的认证协议可以很容易地转换成认证的Diffie-Hellman密钥交换[6]。初始化结点把m1, 元素g0a (aRZp) 包含在认证协议的第一步中。响应结点也把m2, g0b (bRZp) 包含在认证协议的第三步中[7]。当协议终止时, 他们可以使用g0ab= (g0a) b= (g0b) a作为共享的会话密钥。由于m1, m2分别有SPK1, SPK2的签名, 两个节点可以使用会话密钥建立一个拥有PPAA式平等隐私和问责的秘密信道[8]。

(2) PPAA和秘密握手的绑定

匿名握手不支持由服务器发起的可链接请求。另外, PPAA也缺乏主动的对等组中任何可能不是同组结点的响应结点的联系, 这是二者优势互补的前提[9]。两个组的成员首先运行一个匿名的秘密握手来验证对方的组属性, 并建立一个秘密通道, 然后在此基础上运行PPAA的认证。此外, 使用秘密通道进行PPAA认证, 还可以预防链接认证流上的窃听[10]。

(3) 对等节点的公平性

在本文提到的PPAA体系中, 对应的对等节点可以在收到发起节点协议的第三步恶意中停止协商, 也就是可以在学习发起者标签的同时不给发起者学习己方标签的机会。于是两个对等节点在本体系中仍然存在非完全的公正。

5结语

本文提出的对等网络上的匿名身份验证 (PPAA) 较好地平衡了对等结点的网络隐私保护和对应的问责, 使这种P2P网络中的结点也具有了全局双向的对等身份, 为每一个网络用户提供了公正的安全协议框架。

参考文献

[1]ATENIESE Giuseppe, BLANTON Marina, KIRSCHJona-than.Secret hands hakes with dynamic and fuzzy matching[M].NDSS:The Internet Society, 2007.

[2] AU Man Ho, SUSILO Willy, MU Yi. Constant-size dynamic-taa[J]. SCN, 2006, 4116: 111-125.

[3]AU Man Ho, SUSILO Willy, YI U Siu-Ming.Event-orien-ted k-ti mes revocable-if-linked group signatures[M].[S.l.]:ACISP, 2006, 4058:223-234.

[4]BELLARE Mihir, ROGAWAY Phillip.Randomoracles arepractical:a paradigm for designing efficient protocols.InProceeding of the1st ACMconference on computer and com-munications security[C].[S.l.]:ACM Conference onComputer and Communications Security, 1993.

[5]CAMENISCH J, ROSENBERGER S, WEISS M U K, et al.Howto win the clone wars:effcient periodicn-ti mesanonymous authentication[J].Computer and Communica-tions Security, 2006, 35:201-210.

[6] RAYA Maxim, HUBAUX J P. Securing vehicular ad hoc networks[J].Journal of Computer Security, 2007, 15 (1) : 39-68.

[7]TPM Work Group.TCG TPMspeciffcation version 1.2 re-vision103[M].[S.l.]:Trusted Computing Group, 2007.

[8]TSANG P P, SMITH S W.PPAA:Peer-to-peer anony-mous authentication[J].ACNS, LNCS.Springer, 2008, 104:310-325.

[9]TSUDIK T, XU Shouhuai.Aflexible framework for secrethandshakes[J].Philipp Golle, Privacy Enhancing Technol-ogies, 2006, 4258:295-315.

中国网络流行语与功能对等 篇6

流行语是反映人们在一个世纪或者一个地区,生活中的问题或者某些特殊的事件而创造出来的语言现象。在新中国成立时期,流行语为“同志”“阶级”“脱贫致富”。近年来,由于互联网使用的普及和盛行,许多不同的社会团体也制造出了具有地方特色的流行语,慢慢地流行语变成了反映社会变化及敏感话题的代名词。从心理学和社会学的角度而言,流行语已经不仅仅是具有语言意义的词语,更重要的是它蕴涵了相当的文化含义,并附带更深刻、更明显的时代含义。总之,流行语的产生和盛行既是一种语言的产物,也属于一种文化的产物。网络流行语作为流行语传播方式中的一种,主要在互联网上传播,并且在今天使用的频率和范围相当的广泛。中国网民已经创造出了许多幽默诙谐的网络用语,其不仅具有语言意义,更具备文化内涵。随着时代的发展和社会文化的变更,越来越多的大众传媒形式会使用同网络这一途径,更加便利着人们的生活,网络流行语也就会通过更多的渠道进行更为广泛的传播。

随着我国的不断发展,渴望探求中国文化、进入中国市场的外国人的数量呈很明显的增长趋势。通过网络,很多人能够了解到本国人的所思所感,然而由于网络流行语没有正确的语言结构,也并不曾被纳入课本当中,这样对于外国人学习中国文化、了解中国社会就平添了一份屏障,此时正确的翻译活动就显得尤为重要。然而近年的研究之中,关于网络流行语的翻译研究数量不太多,笔者试根据在汉译英翻译活动中遇到的网络流行语,根据尤金·奈达的翻译功能对等理论,试寻在笔译过程中翻译的一种常见且有效的翻译方式,为汉语网络流行用语的笔译翻译抛砖引玉。

二、网络流行语与英汉翻译

(一)关于网络流行语

根据美国学者J·B·普莱德的《语言的社会意义》一书,当社会生活正发生着或者经历了突然的变化的时候,语言作为一种社会现象必然会也随着社会的波动而进行波动。现如今,在这样一个信息不断交换的时代,中国的社会结构正在发生巨大的变革,直到2010年年底,中国网民的数量已经达到了4.6亿,跃居世界第一。互联网被认为是代表言论自由和草根文化发展的一个平台。语言学家认为语言不仅仅有着其内容意义,更同人们的生活方式、经济层次和时事新闻有关。

随着互联网时代的进步,语言通过网络这个虚拟社会在不断地找寻自己的空间和位置,从社会时事、贴吧、娱乐新闻,乃至电视剧等,都制造出了不少新鲜盛行的流行语。比如,一则新闻中采访一个路人关于某件新闻事件的看法,该被采访者说:“我也不知道,我就是来打酱油的”,引起了网络上的一股小浪潮,人们纷纷将“打酱油”当成了一种流行语,意为“这件事情与我无关”。再如,在中国或西方的神话故事当中,凤凰都是一种神秘并且不死的动物,意味着“神圣”与“高贵”,在中国甚至有“飞上枝头变凤凰”这样一句。然而在实际生活中,有少许出生在农村地区,家境贫寒的男子会同城市长大的、家境殷实的女子结婚,这样的现象在网络上就被冠以“凤凰男”的用语,表示一个男性通过结婚一下子让自己的境况变得好了起来,与之前相比有着巨大的改变。除了网络平台之外,纸媒等大众传媒也充分利用网络流行语制造标题,以跟上时代的节奏,并吸引读者的眼球。

(二)网络流行语的英汉翻译

在非正式的口语交际场合,网络流行语迎合了大众的口味,却为翻译者带来了相当的麻烦。根据尤金·奈达的功能对等理论和形式对等理论,如何将源语言的内容进行一个更为地道的翻译和表述,是译者需要做的一件十分重要的工作。奈达认为在翻译过程中不存在两种语言的完全对等,一方的翻译是为了让另一方尽可能地领会并最大程度地理解对方的意思。在翻译的过程中,有直译、意译和二者结合而译三种途径。

1. 直译

直译指的是将一种语言逐字逐句地翻译成为另一种语言,而不是仅仅将要表达的意思进行转述。对于网络流行语的字面翻译,通常而言是同娱乐方面相联系的,比如“拜金主义”“做秀”等词,在汉译英过程当中都可以直接采用直译法便可以达到一种很好的效果。然而在网络流行语中,还有一些流行句子能够通过直译的方法便可以让人知晓这句话的意思。

例如:

不要迷恋哥,哥只是一个传说。翻译成英文便可以是“Don’t be so into me,because I’m just a legend”。

此外,在面对一些具有社会背景问题的网络流行语的时候,尽管可以直接将它们翻译出来,但是译者仍然需要将一些背景信息标注出来,以供不明背景信息的外国人了解并正确使用此类词语。比如,有一段时间很流行的“我爸是李刚”,这件事情发生在2010年的河北保定,一位男子醉驾、撞人且拘捕,当被公安机关抓捕的时候,自己口口声声地喊着“我爸是李刚”这句话,在一时间成了流行语,意为形容那些“骄横狂妄的富二代”,因此对于这样的翻译,译者应当采用标注的方式,如“Someone’s father is Li Gang,which implies his unhealthy psychology of second officer generation”。

2. 意译

意译指的是当源语言和目的语之间发生了一定的翻译冲突,无法仅仅通过字面上的单词相对应传达意思,要进行额外的语言协调和转换这样的一种翻译方式。在这一层面当中,意思的正确表达便是首先要做到的事情。意译并不是说译者就要忽略源语言的本身内容,而一味地迎合目的语的用语习惯,只是在语言形式上面进行一定的加工和改变,它通常适用于那些网友特别造出来的词语,比如“山寨”“闪婚”“雷人”等词语。

例如:

这人这么穿可真够雷人的。

It’s so embarrassing that he wears like this.

这也太囧了吧。

It’s so embarrassing,isn’t it?

有些网络流行语有着一定的地区差别,由于文化上的差异,流行语之间可能会存在着语义空缺,当英汉语之间没有相互对应的内容的时候,翻译材料便应当以满足外国文化和外国心理为主。

例如:

不差钱,应当翻译成Money is not a big deal,而不是There’s no lack of money之类的句子。

三、结语

本文首先介绍网络流行语的背景知识和流行语与网络之间的联系,并简述尤金·奈达的功能翻译理论。随着网络的流行,人们正逐渐扩大自己对于社会事件接触的频率,并发展自己的意见。网民在社会事件上意见的传播和表达很容易形成了一些新的网络流行语。因此,一方面而言,网络流行语是语言和文化的创新形成的语言,另一方面而言,由于网络用语的幽默性和受欢迎度,脏话等语言的传播也会因为网络而传播并流行。因此在翻译的过程中,如何能够巧妙地既翻译出原本的意思,又使用英语的表达法便是一个很重要的基准。笔者认为,在网络流行语的汉译英过程当中,重要的应当是意思上的转述,在此之上再进行言语幽默的转达。只有将网络流行语清楚地翻译过来,让外国友人更好地理解现阶段更为接地气的表达方式,才能更好地传播中国的文化,将中国文化通过网络这个平台传播出去。

参考文献

[1]曾常红.试论现代流行语流行的基本条件[J].华中科技大学学报(社会科学).2004(02).

[2]顾源.社会学视野下的网络流行语分析[J].社会学,2009.

混合对等网络 篇7

基于DHT的结构化对等网络,是通过一致性哈希散列来保证网络中节点的负载均衡。一致性哈希散列的理论证明了系统中有N个节点和K个键值时,若在每个节点上运行O(log N)个虚拟节点时,每个节点所负责的键值范围可以无限趋近K/N。

但这一结论并没有解决对等网络的负载均衡问题。因为,其一系统中各个节点负载能力不一定均匀,即系统在异构的情况下容易造成负载不均。其二我们查询系统数据或者文件时往往只使用那些比较频繁的关键字,这就使得负责不同关键字索引的节点之间的负载差别也很大。

因此我们有必要提出新的负载均衡算法来改善系统的负载均衡。本文就对此进行相关研究。

1层次化Chord模型

P2P系统简单可以分为以下三种:非结构化系统、结构化系统和混合式模型。混合式结构的系统吸取了中心化结构和非结构化拓扑的优点,选择高性能的节点作为超级节点。在各个超级节点上存储了系统中其他部分节点的信息。像Jxta,Kazaa就是典型的混合式模型。

1.1拓扑结构

我们通过利用对等网络节点的会话特性动态地选择稳定节点作为超级节点,普通节点根据地理位置加入到就近的超级节点,最终重构成为基于DHT拓扑的超级节点对等网络。

两层Chord结构如图1所示。所有的N个节点按照自己的node id被放置在环状标示空间上,形成外环。进一步外环被分裂成M段弧,每段都选举出一个超级节点,这些超级节点又形成了内环。每个超级节点维护这样一些信息:本地弧内所有节点的全局node id和IP地址,以及所有其他超级节点的全局node id、IP地址等。

1.2基于虚拟服务器的负载均衡算法

在Chord中,是利用虚拟服务器在物理节点间移动来实现负载均衡。依据决策时所知信息的多少分为三种策略:一对一、一对多、多对多。他们根据节点当前负载状况,分为轻负载节点和重负载节点,而后完成轻重负载节点的负载转换和合并等。

然而,仅仅引入虚拟服务器并不能完全解决负载不均的状况。假设一个区域内数据在虚拟服务器层上也分布得很不均匀,虚拟服务器均匀分布的话还是会造成有些很空而有些很忙。这样就会很不合理,虚拟服务器仍需要频繁的拆分和合并。

2基于历史信息的负载均衡策略

我们进行如下设想,如果我们能够基于各个节点的查询情况,记录并利用被查询频率的历史信息来估计未来负载,就可以更聪明地为系统内节点分配虚拟服务器。这样,如果在某一小段查询很忙的话,可以在这一段分配更多的虚拟服务器,从而大大减少虚拟服务器的拆分和合并次数。

2.1基于历史信息的负载均衡算法

我们提出了基于历史信息的负载均衡算法。它的基本思想如下:负载均衡调度函数依据虚拟服务器被访问频率的历史记录而考虑了其未来负载的变化。具体实施可分以下几个步骤:

步骤1 对系统目录中的每个节点,首先对所有运行在节点上的虚拟服务器VSi绑定这样一个预测负载:PVi=(1+α*Ratei/RATE)*CVi(α是一个常数,α越大表示越多地考虑未来变化,Ratei是VSi的被访问频率,RATE是区域内所有虚拟服务器的平均被访问频率;CVi是VSi的当前负载),这样虚拟服务器所在的节点有节点预测负载∑PV。

步骤2 对于系统中的一个重负载节点,从中挑选出待转移的虚拟服务器VSi,选的顺序是:

(1) 首先选出预测负载最小的虚拟服务器,如果转移之后能使节点不再过载;

(2) 否则选出预测负载最大的虚拟服务器。

步骤3 将在第2步里选出的虚拟服务器转移到轻负载节点上。如果选出的预测负载最大的虚拟服务器,我们假定它为VSj,需要将它转移到目录中的某个轻负载节点k上去,则节点k要满足:

(1) Tk-∑PVk最小;

(2) Tk-∑PVk>=PVj。

其中Tk是节点k的目标负载,∑PVk是节点k的预测负载,Tk-∑PVk最小保证了可能形成的可用负载碎片会最小,Tk-∑PVk>=PVj则保证了VSj的转移不会造成节点k的过载。

步骤4 如果没满足条件的轻负载节点而使步骤3无法继续,则需要挑选预测负载∑PV最小的轻负载节点m,并在其上选出一个虚拟服务器VSj和VSi交换,VSj的预测负载最小且Cm+PVi-PVj<=Tm。

其中Cm是节点m的当前负载,Cm+PVi-PVj<=Tm保证了VSi和VSj的交换不会造成节点m的过载。

经过上述四步,我们对系统完成了一次负载均衡过程。

2.2算法的调度

我们定义节点利用率Un=Ln/Cn,其中Ln是节点n的当前负载(就是它的所有虚拟服务器的负载之和),Cn是节点n的存储容量。并设置负载调度的启动门限K,当Un>K时,系统就实施负载均衡过程。

3实验模拟与分析

3.1相关概念定义

1) 系统负载(Load)

本文中我们以每个节点路由的请求数,作为衡量节点负载的测度。

2) 公平度(Fairness)

为了衡量系统目前负载分布的情况,我们定义系统公平度这个概念。用如下公式表达:

fairness(x)=(E(x))2E(x2)=(i=1nxi)2n(i=1nxi2)

其中xi为节点i的可获得概率。

系统负载分布公平度的大小,就反映了整个系统负载分布的情况。公平度大,说明系统负载的分布情况比较好。

3.2仿真实验

在仿真实验中,我们在NS-2系统平台下,采用当前应用最广泛的GT-ITM生成P2P网络拓扑模型进行模拟。共100-2000个不等的对等网络节点。其中每个超级节点维护了10个普通节点。实验脚本用Otcl语言编写,底层用C++语言负责实现。

我们让对等网络节点每分钟进行10次随机查找。在查找过程中,统计每个节点路由的请求数,并以此请求数作为衡量节点负载的测度。为了区分算法在系统同构性和异构性下的表现,我们分别在节点有限随机分布下(同构性)和完全随机分布(异构性)进行模拟,最后统一用系统公平度(Fairness)来衡量系统的负载均衡情况。

3.3结果对比分析

如图2所示是节点在有限随机分布,即模拟的节点具有相当的负载能力情况下,两种算法的比较。根据图表中的各个公平度的取值可以看出,HILBA算法的确能在很大程度上提高系统的整体负载均衡水平。当然这和预测负载的公式中α的取值还有一定的关系(上面实验结果是在α=0.5;K=0.8取值下获得的)。

如图3所示是在节点完全随机分布,即模拟的节点具有不同的负载能力情况下,两种算法的比较。可以看出,HILBA算法相对能提高系统的整体负载均衡水平,但提高的幅度不是很大(上面实验结果同样是在α=0.5;K=0.8取值下获得的)。

4结束语

本文在两层Chord对等网络模型上提出了基于历史信息的负载均衡算法,为了对比其他基于虚拟服务器的负载均衡算法,在同构和异构环境下进行了模拟实验。实验表明,此算法在一定程度上提高了系统的负载均衡。

但本文所做的模拟实验比较简单,算法细节也有待改进,还有我们仅仅考虑了存储查询能力的负载均衡,而处理器和带宽也是非常重要的系统资源,这些都是我们今后进一步研究的方向。

摘要:针对当前对等网络中存在的负载不均衡问题,提出了基于历史信息查询的负载均衡算法(H ILBA),以提高系统的整体性能。实验结果表明,此算法在节点同构和异构环境下都提高了系统的负载均衡能力。

关键词:对等网络,负载均衡,分布式哈希表

参考文献

[1]Ananth Rao,Sonesh Surana,Ion Stoica.Load Balancing in StructuredP2P Systems[A].in Proc.IPTPS,Feb,2003:20-27.

[2]李寅.基于分布式哈希表的对等网络数据检索研究[D].上海交通大学博士学位论文,2006,4.

[3]John Byers,Jeffrey Considine,Mitzenacher M.Simple Load Balancingfor Distributed Hash Tables[A].in Proc.IPTPS,Feb,2003:149-160.

上一篇:材料信息学下一篇:课堂的规则