的搜索引擎不同,P2P应用程度采用了新的技术来检索互联网上的文件和信息。
传统的信息检索技术已经无法容纳互联网上以指数形式增长的海量信息了。尽管流行的搜索引擎都支持并行计算机制,但发现可用信息的时间延迟却在持续增长。P2P为互联网上的信息检索提供了一种更加实时化的资源寻址方法。但寻址技术和所需协议的代价也是非常昂贵的。
有人对Gnutella软件的遭遇做过详尽的记载。如图2.2所示,作为流行的文件共享和搜索程序,Gnutella没有采用传统的广播机制来寻址对等节点。广播次数的增长非常之快--用户越多,广播越多;当用户基数增长太快时,网络系统将因崩溃而停止运行。与此同时,大量的Gnutella请求将阻塞网络。Gnutella的成功之处在于它注意了对寻址结构的限制。
图2.2 一旦网络增长超过预期,Gnutella将很快遭遇"广播风暴"
对于成功基于对等节点的网络,一种有效的寻址机制是至关重要的。为了提高寻址效率,这种寻址机制必须在不同的运行环境中保持高效率。不管网络规模多大,这种寻址机制都必须能迅速寻址到对等节点和相应资源。另外,这种寻址机制还必须有足够的灵活性以防范黑客攻击和安全入侵,否则这种寻址机制的可行性将受到严重质疑。
当把集中化系统的寻址机制用于基于对等节点的大型网络时,这些寻址方法往往无能为力。集中化系统的寻址方法要么缺乏可扩展性,要么会在系统中产生单点错误。
现在业界已经开始使用多种采用不同结构和设计的分散化的寻址方法。这些方法各有千秋,因此特定的方法往往只适合特定的环境。但在基于对等节点的大型网络中,这些方法都有不足。
二、简单广播
简单广播将一次请求发送到同一网段中的所有节点上,当将简单广播作为寻址方法时,简单广播能找到大量可能存在的对等节点或发现大量资源。这种方法的不足之处在于:当用户基数线性增长时,广播请求的数量将以指数方式增长。
这种方法可能会导致对网络带宽的巨大需求。某些情况下,广播请求将阻塞网络,并引发超时和数据重传,这将使本已不堪重负的网络带宽更是雪上加霜。同时,网络中还存在安全性问题和拒绝提高服务的可能。一个怀有恶意的对等节点可能会通过引发与用户基数不成比例的大量广播请求来阻塞网络。这将中断网络运行并降低网络效率。因此,简单广播只适用于小型网络。
三、选择性广播
简单网络的改进版之一是选择性广播。选择性广播不会将广播请求发送到网络中的所有对等节点,而是根据用户提供的限制性条件,比如节点提供的服务数量、内容可用性或信任关系等,选择相应的节点发送广播请求。但这种广播方式需要系统保留有关节点通信的历史信息。
寻址请求被发送到选中的节点。用户可根据自己定义的对等节点间的连接标准来估计目标点节点的响应时间。例如:用户可能只将寻址请求发送到其支持的带宽请求不低于某个最小值的对等节点,或将对资源的请求只发往可能包含该资源的节点。当然,如果用户需要了解的对等节点越多,系统的动态性就越小。如果不通过某种方式降低网络中的固定关系和静态关系,那么P2P的优势很快就会丧失殆尽。
选择性广播中仍然存在安全性问题。为了使选择性广播有效运行,非常重要的一点是使所以的对等节点都成为知名节点。
四、适应性广播
和选择性广播一样,适应性广播的目的也是尽量实现网络连接最大化和带宽使用最小化。选择标准可通过对网络环境的深入了解得到加强,例如用户可制定寻址操作中可使用的内存和带宽限制;通过预定义资源限制水平,用户可在寻址或资源搜索操作所使用的资源超过这个限制条件时限制该操作的运行,从而达到控制寻址和资源搜索所占资源的增长。这将确保网络不会因为故障元件、误操作的节点恶意攻击而消耗大量资源。适应性广播需要使用一些监控资源,比如对等点标识、消息队列尺寸、端口使用情况和消息尺寸及消息频率等。适应性广播能降低某些对网络安全的攻击,但不能完全消除攻击。
五、资源寻址
资源寻址和节点寻址密切相关。这两者的不同之处在于节点拥有信息处理能力(智能化设备)。对等节点能通过程序接口参与信息处理的过程。与对等节点相比,资源的静态特征更为显著,并且资源所需的仅仅是识别该资源的标识而已。资源寻址可通过集中或分散化检索方法实现。在同样开销情况下,集中化检索方法能提供良好的性能。满足大型对等网络硬件和带宽要求的费用可能会很高。但有一点,在某些情况下,不管使用多少软硬件。集中化检索方法都会在可扩展性问题方面遇到困难。分散化检索方法力图克服集中化检索方法在可扩展性方面遇到的问题。为了提高分散化索引系统的性能,存储在系统上的所有文件和文档都被分配了一个唯一的ID。这个ID的目的是识别或定位资源。分散化系统能很容易地将资源ID映射为资源。Free Net软件采用了这种资源检索方法。这种方法的不足之处在于对资源的检索必须十分精确;任何资源都必须有唯一的标识。分散化索引系统的另一个问题是持久保存缓冲信息。索引能在很短时间内失去和资源的同步。因为对等节点能随意进入和离开网络,而且索引种的资源也变化不定,所以对等网络非常不稳定。让所有因素保持同步和有效分布资源所引起的开销是分散化索引系统在可扩展性方面遇到的主要障碍。
因为对等网络如此不稳定,所以要知道一个节点何时处于在线状态需要开发高效的以用户为中心的分布式系统。虽然这种系统对网络环境的影响程度与具体的应用程序相关,但读者必须理解这两者之间的关系。
2.3 节点自制
P2P系统是高度分散化和分布化的系统。现在我们已经非常了解分布式系统的优越性了。当你需要升级系统以便为增长的资源需求提供支持时,往往需要采用分布式处理系统。你还可能因为地理原因采用分布式系统,其目的是将资源和程序放到离其访问节点更近的地方。采用分布式系统的另一个原因是提供更高的容错能力和网络灵活性以及支持资源共享和增加协作性。
分散化系统提高了节点的自治能力。在P2P系统中,节点是高度自治的。对等节点是独立的并实行自我管理。前面已经提到,在客户/服务器模型中,服务器控制和管理着客户端与资源,比如数据库、文件、网络以及该客户端和其他客户端之间的关系等。对网络环境的操作、管理和监控而言,这种模型有着多方面的优势。集中化系统的优势之一在于集中化的监控和管理,可以从中心节点实现对资源的安全性保护,可以通过使用附加功能来弥补网络物理拓扑结构上的不足。例如,服务器可作为敏感技术资源的网关。
分散化系统对网络的管理更加困难。在分布式系统中,往往不能及时发现故障元件。更糟的是,部分故障产生后果和副作用是网络和应用程序无法处理的。我们可能无法估计由远程通信产生的响应时间和延迟效应。网络的状态可能时好时坏。过于频繁的网络错误和网络超时会使对等节点的通信很不稳定。同步化操作将使带宽资源更为紧张。
任何基于分布式系统的解决方案都应该减少或完全消除这些因素。P2P系统是建立在这样的假设基础上的;网络提供的服务是分布式的且网络是不稳定的。不同的P2P系统采用不用的方法处理网络的不稳定性问题。
P2P系统中的对等节点既能提供服务又能接受服务。P2P系统中没有客户端和服务器角色的区别。任何对等节点都能提供服务或寻址一个能提供该节点所需的服务的对等节点。当一个对等节点请求服务时,可将其看成客户端;反之,当
上一篇:
JSP网上购物系统毕业设计论文(word文档)
下一篇:
基于JSP邮件收发系统论文