P2P技术

P2P技术
1.  P2P技术原理
    什么是对等网络(P2P)技术?P2P技术属于覆盖层网络(Overlay Network)的范畴,是相对于客户机/服务器(C/S)模式来说的一种网络信息交换方式。在C/S模式中,数据的分发采用专门的服务器,多个客户端都从此服务器获取数据。这种模式的优点是:数据的一致性容易控制,系统也容易管理。但是此种模式的缺点是:因为服务器的个数只有一个(即便有多个也非常有限),系统容易出现单一失效点;单一服务器面对众多的客户端,由于CPU能力、内存大小、网络带宽的限制,可同时服务的客户端非常有限,可扩展性差。P2P技术正是为了解决这些问题而提出来的一种对等网络结构。在P2P网络中,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。这样,庞大的终端资源被利用起来,一举解决了C/S模式中的两个弊端。
与传统的分布式系统相比,根据具体应用不同,可以把P2P分为以下这些类型:
提供文件和其它内容共享的P2P网络,例如NapsterGnutellaeDonkeyemuleBitTorrent等;
挖掘P2Psaw 3d对等计算能力和存储共享能力,例如SETI@homeELSTEIN辐射器AvakiPopular Power等;
基于P2P方式的协同处理与服务共享平台,例如JXTAMagiGroove.NET My Service等;
即时通讯交流,包括ICQOICQYahoo Messenger等;
安全的P2P通讯与信息共享,例如SkypeCrowdsOnion Routing等。
2. P2P网络中的拓扑结构研究
拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,结点之间的拓扑结构一直是确定系统类型的重要依据。目前互联网络中广泛使用集中式、层次式等拓扑结构,P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量结点如何命名、组织以及确定结点的加入/离开方式、出错恢复等问题。
根据拓扑结构的关系可以将P2P研究分为4种形式:
中心化拓扑(Centralized Topology);
全分布式非结构化拓扑(Decentralized Unstructured Topology);
全分布式结构化拓扑(Decentralized Structured Topology,也称作DHT网络)
半分布式拓扑(Partially Decentralized Topology)。服务器结构类似,容易造成单点故障,访问的“热点”现象和法律等相关问题,这是第一代P2P网络采用的结构模式,经典案例就是著名的MP3共享软件Napster
2.1中心化拓扑最大的优点是维护简单发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。最大的问题与传统客户机Napster是最早出现的P2P系统之一,并在短期内迅速成长起来。Napster实质上并非是纯粹的P2P系统,它通过一个中央服务器保存所有Napster用户上传的音乐文件索引和存放位置的信息。当某个用户需要某个音乐文件时,首先连接到Napster服务器,在服务器进行检索,并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传输文件。
Napster首先实现了文件查询与文件传输的分离,有效地节省了中央服务器的带宽消耗,减少了系统的文件传输延时。这种方式最大的隐患在中央服务器上,如果该服务器失效,整
个系统都会瘫痪。当用户数量增加到105或者更高时,Napster的系统性能会大大下降。另一个问题在于安全性上,Napster并没有提供有效的安全机制。
在Napster模型中,一高性能的中央服务器保存着网络中所有活动对等计算机共享资源的目录信息。当需要查询某个文件时,对等机会向一台中央服务器发出文件查询请求。中央服务器进行相应的检索和查询后,会返回符合查询要求的对等机地址信息列表。查询发起对等机接收到应答后,会根据网络流量和延迟等信息进行选择,和合适的对等机建立连接,并开始文件传输。
类似Napster这种对等网络模型存在很多问题,主要表现为:
(1)中央服务器的瘫痪容易导致整个网络的崩馈,可靠性和安全性较低。
(2)随着网络规模的扩大,对中央索引服务器进行维护和更新的费用将急剧增加,所需成本过高。
(3)中央服务器的存在引起共享资源在版权问题上的纠纷,并因此被攻击为非纯粹意义上的P2P网络模型。对小型网络而言,集中目录式模型在管理和控制方面占一定优势。但鉴于
其存在的种种缺陷,该模型并不适合大型网络应用。
2.2全分布非结构化网络超声波打磨机
Gnutella是一个P2P文件共享系统,它和Napster最大的区别在于Gnutella是纯粹的P2P系统,没有索引服务器,它采用了基于完全随机图的洪泛(Flooding)发现和随机转发(Random Walker)机制。为了控制搜索消息的传输,通过TTL (Time To Live)的减值来实现。具体协议参照[Gnutella协议中文版]在Gnutella分布式对等网络模型N中,每一个联网计算机在功能上都是对等的,既是客户机同时又是服务器,所以被称为对等机(Servent,Server+Client的组合)。
随着联网节点的不断增多,网络规模不断扩大,通过这种洪泛方式定位对等点的方法将造成网络流量急剧增加,从而导致网络中部分低带宽节点因网络资源过载而失效。所以在初期的Gnutella网络中,存在比较严重的分区,断链现象。也就是说,一个查询访问只能在网络的很小一部分进行,因此网络的可扩展性不好。所以,解决Gnutella网络的可扩展性对该网络的进一步发展至关重要。
由于没有确定拓扑结构的支持,非结构化网络无法保证资源发现的效率。即使需要查的目的结点存在发现也有可能失败。
因此发现的准确性和可扩展性是非结构化网络面临的两个重要问题。目前对此类结构的研究主要集中于改进发现算法和复制策略以提高发现的准确率和性能。
非结构化网络将重叠网络认为是一个完全随机图,结点之间的链路没有遵循某些预先定义的拓扑来构建。这些系统一般不提供性能保证,但容错性好,支持复杂的查询,并受结点频繁加入和退出系统的影响小。但是查询的结果可能不完全,查询速度较慢,采用广播查询的系统对网络带宽的消耗非常大,并由此带来可扩展性差等问题。
另外,由于非结构化系统中的随机搜索造成的不可扩展性,大量的研究集中在如何构造一个高度结构化的系统。目前研究的重点放在了如何有效地查信息上,最新的成果都是基于DHT的分布式发现和路由算法。这些算法都避免了类似Napster的中央服务器,也不是像Gnutella那样基于广播进行查,而是通过分布式散列函数,将输入的关键字惟一映射到某个结点上,然后通过某些路由算法同该结点建立连接。
2.3分布式散列表(DHT(distributed hash table) 实际上是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。
最近的研究集中在采用新的拓扑图构建重叠路由网络,以减少路由表容量和路由延时。这些新的拓扑关系的基本原理是在DHT的结点既是动态的结点数量也是巨大的,因此非中心化和原子自组织成为两个设计的重要目标。通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。一个采用DHT的系统内所有结点被映射到一个空间,如果散列函数映射一个位的名字到一个散列值,则有。SDDS(Scalable Distribute Data Structures)[a]研究,Gribble等实现了一个高度可扩展,容错的SDDS集。DHT表一维空间的基础上引入更多的拓扑结构图来反映底层网络的结构。
DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证,最经典的案例是Tapestry,Chord,CAN,和Pastry
DHT类结构最大的问题是DHT的维护机制较为复杂,尤其是结点频繁加入退出造成的网络波动(Churn)会极大增加DHT的维护代价。DHT所面临的另外一个问题是DHT仅支持精确关键词匹配查询,无法支持内容/语义等复杂查询。
无线公话2.4半分布式结构(有的文献称作 Hybrid Structure)吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级点(KaZaa是现在全世界流行的几款p2p软件之一。根据CA公司统计,全球KaZaa的下载量超过2.5亿次。使用KaZaa软件进行文件传输消耗了互联网40%的带宽。之所以它如此的成功,是因为它结合了Napster和Gnutella共同的优点。从结构上来说,它使用了Gnutella的全分布式的结构,这样可以是系统更好的扩展,因为它无需中央索引服务器存储文件名,它是自动的把性能好的机器成为SuperNode,它存储着离它最近的叶子节点的文件信息,这些SuperNode,再连通起来形成一个Overlay Network. 由于SuperNode的索引功能,使搜索效率大大提高。
半分布式结构的优点是性能、可扩展性较好,较容易管理,但对超级点依赖性大,易于受到攻击,容错性也受到影响。下表比较了4种结构的综合性能: 
比较标准/拓扑结构
中心化拓扑
全分布式非结构化拓扑
全分布式结构化拓扑
炼焦配煤
半分布式拓扑
可扩展性
可靠性
可维护性
最好
最好
发现算法效率
最高
复杂查询
性蚀支持
支持
不支持
支持
 
结束语
自P2P技术从1999年出现之后,现在已经发展繁荣起来。前文中提到的很多技术都已经趋近成熟,如拓扑构建和内容分发等相关技术。由于P2P架构灵活,适用面广阔,所以将P2P应用到新领域的现象层出不穷,P2P的软件产品也如雨后春笋一般爆炸性增长。
 P2P技术不断地改变着互联网,用户无疑是P2P技术的最大受益者。在P2P技术的发展道路上,仍然有许多尚待解决的问题。  版权问题一直是P2P发展的一个不确定因素,如何在技术层面支持合法文件的分发是需要解决的重要问题。安全问题也是P2P领域的重要研究课题,如何在P2P网络中实现数据存取安全、路由安全、用户身份认证和身份管理都需要进一步研究。如果能够实现P2P应用之间的统一资源定位,统一路由,使得P2P技术有一个统一开发标准,将能够融合P2P技术,提升整体性能。

本文发布于:2024-09-25 03:17:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/200977.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:网络   结点   服务器   查询   结构   拓扑
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议