首页 百科知识 网络的拓扑结构

网络的拓扑结构

时间:2023-10-01 百科知识 版权反馈
【摘要】:由于重叠网络采用了确定性拓扑结构,因此,只要目的节点存在于网络中,DHT总能发现它,发现的准确性可以得到保证。基于DHT的分布式结构化拓扑结构的最大问题是DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动会极大地增加DHT的维护代价。在实际应用中,每种拓扑结构的P2P网络都有其优缺点,表7.1从可扩展性、可靠性、可维护性、发现算法的效率、复杂查询等方面比较了这四种拓扑结构的综合性能。

依据P2P网络资源定位技术的不同,P2P网络的拓扑结构主要可分为集中式拓扑结构(Centralized Topology)、分布式非结构化拓扑结构(Decentralized Unstructured Topology)、分布式结构化拓扑结构(Decentralized Structured Topology)以及混合拓扑结构(Hybrid Topology)四种不同的模式。

1. 集中式拓扑结构

集中式拓扑结构是第一代P2P网络采用的结构模式,在采用集中式拓扑结构的P2P网络中,如图7.13所示,网络上提供的所有共享资源都存放在提供该资源的客户机上,服务器上只保留目录信息,此外,服务器与客户机之间以及客户机与客户机之间都具有交互能力。这种形式具有中心化的特点,但是却不同于传统意义上的C/S服务模式。因为在C/S服务模式下,所有的资源都存放在服务器上,而客户机只能被动地从服务器上读取信息,而且客户机与客户机之间不具有交互能力。

图7.13 采用集中式拓扑结构的P2P网络

集中式拓扑结构的最大优点是网络维护简单,资源发现效率高。由于资源的发现依赖中心化的目录系统,因此,发现算法灵活高效并能够实现复杂查询。其主要缺点是服务器具有接入带宽的“瓶颈”,一旦中心服务器瘫痪,将轻易导致整个网络崩溃。

2. 分布式非结构化拓扑结构

如图7.14所示,采用分布式非结构化拓扑结构的P2P网络一般是基于随机图的组织方式来形成一个松散的网络,利用TTL(Time-to-Live)、洪泛(Flooding)或有选择转发等方式搜索网络资源。与集中式拓扑结构相比,采用分布式非结构化拓扑结构的P2P网络中没有中央索引服务器的存在,每台机器在网络中是真正的对等关系,既是客户机同时又是服务器,因此,在面对网络结构的动态变化情形之下,分布式非结构化拓扑结构具有良好的容错能力与可用性。另外,采用分布式非结构化拓扑结构的P2P网络能支持复杂查询,并受节点频繁加入和退出系统的影响小。

图7.14 采用分布式非结构化拓扑结构的P2P网络

分布式非结构化P2P网络的主要缺点是由于没有确定拓扑结构的支持,因此无法保证资源发现的效率,有时候,即使需要查找的目的节点存在,资源发现也有可能失败。另外,网络的可扩展性也较差。

3. 分布式结构化拓扑结构

采用分布式结构化拓扑结构的P2P网络主要是通过采用分布式哈希/散列表DHT (Distributed Hash Table)技术来组织网络中的节点。哈希表是一种常见的检索方法,其基本思想是使用一个下标范围比较大的数组来存储元素。可以通过设计一个函数(哈希函数,也称为散列函数)使得每个元素的关键字(Key)都与一个函数值(即数组的下标)相对应,于是,可利用这个数组单元来存储这个元素;然后,在检索时采用检索关键字的方法来查找元素,每次在基于关键字进行元素查找时,使用同一个哈希函数来对这个关键字进行转换,得到其函数值(即数组的下标),从而即可在有序数组中快速找到其所对应的元素。

在数据结构中,一般用时间复杂度O(n)的概念来衡量某种算法在时间效率上的优劣。在所有的线性数据结构之中,数组的定位速度最快。由于数组可以通过其下标直接定位到相应存储地址的数据,因此其时间复杂度仅为O(1)。而哈希表由于正好是利用数组这种能快速定位数据的结构来实现的,因此,基于哈希表的数据查找算法的理想时间复杂度也为O(1)。而分布式哈希表DHT则是将一个与所有元素的关键字集合对应的哈希表分散到网络上的所有节点之中。其基本实现原理具体如下:

(1)首先,利用设计好的哈希函数(Hash Function)将需要存储的内容的关键字转换成一个有序数组的下标,在被存储的内容与有序数组之间建立了映射关系,构建一个大的哈希表。

(2)散列表被分割成不连续的块,每个节点均被分配给一个属于自己的散列块,并成为这个散列块的管理者。

(3)然后,每次在对关键字进行查找时,使用同一个哈希函数来对这个关键字进行转换,即可在网络中快速找到存储着对应该关键字的内容的节点。

采用DHT结构的P2P网络能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性以及节点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,因此,只要目的节点存在于网络中,DHT总能发现它,发现的准确性可以得到保证。

基于DHT的分布式结构化拓扑结构的最大问题是DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动会极大地增加DHT的维护代价。DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。

4. 混合拓扑结构

集中式P2P网络有利于网络资源的快速检索,且只要服务器能力足够强大,就可以无限扩展,但是其中心化的模式很容易受到直接的攻击,而分布式P2P网络解决了抗攻击的问题,但却又缺乏快速搜索的能力和良好的可扩展性。混合式拓扑结构结合了集中式和分布式拓扑结构的优点,它在分布式拓扑结构的基础上,将用户节点按能力进行分类,选择性能较高(处理、存储、带宽等方面性能)的节点作为超级节点(Super Nodes),在各个超级节点上存储了系统中其他部分节点的信息。如图7.15所示,在采用混合拓扑结构的P2P网络之中,超级节点与超级节点之间构成一个高速转发层,超级节点和所负责的普通节点构成了一个层次式结构。

图7.15 采用混合拓扑结构的P2P网络

在实际应用中,每种拓扑结构的P2P网络都有其优缺点,表7.1从可扩展性、可靠性、可维护性、发现算法的效率、复杂查询等方面比较了这四种拓扑结构的综合性能。

表7.1 各种拓扑结构的P2P网络的综合性能比较

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈