第六章 P2P原理与实践
P2P,也称“点对点”或“端对端”,学术上常称为“对等计算”。P2P是一种以非集中化方式使用分布式资源来完成一些关键任务的系统和应用。P2P与目前网络中占据主导地位的客户/服务器体系架构相对应。它表示分布式计算中各进程之间是一种对等的关系。
一、P2P概念
P2P是一种以非集中化方式声依永分布式资源来完成一些关键任务的系统和应用,即将原来的客户端十位服务器和客户端的综合体,P2P模式中,每一个结点都是信息的发布者和请求者,对等结点之间可以实现自治交互,无需使用服务器。
P2P技术特点
非中心化、可扩展性、健壮性、高性价比、隐私保护、负载均衡
P2P实践应用
文件共享和下载、多媒体传输、即时通信、协同工作、分布式数据存储、分布式对等计算、P2P搜索引擎
二、P2P网络分类
1、中心化拓部结构
中心化拓扑结构指的是网络中资源和服务的索引都存储在中心服务器目录中,而资源和服务本身则存储在网络中的各结点中,实现了资源的检索和传输的分离,中心服务器的压力得到缓解,节省了网络宽带,缩短了文件传输延时,资源和服务器的检索效率较高,但是系统对中心服务器依赖过强使得可靠性和安全性较低,随着客户数量的增加,对中心服务器的维护和更新费用也将提高,易引发版权问题。
2、全分布式非结构化拓扑
全分布式非结构化拓扑的P2P网络是纯粹的没有中心服务器的网络,每个结点既是客户机又是服务器,是真正的对等关系。
该结构的系统性能波动较大,但容错性好,支持复杂查询。典型的全分布式非结构化拓扑的P2P网络有Gnutella。
3、全分布式结构化拓扑
全分布式结构化拓扑采用分布式散列表(Distributed Hash Table,简称DHT)来组织网络中的各结点,因此该拓扑结构的网络也称为DHT网络。 DHT网络是一个由广域范围大量结点共同维护的庞大散列表,散列表被分割成不连续的块,每个结点被分配一个属于自己的散列块,并成为这个散列块的管理者。
4、半分布式拓扑
半分布式拓扑选择了性能较高的结点作为超级结点,在各个超级结点上存储其他部分结点的信息,检索算法仅在超级结点间转发,超级结点再将查询请求转发给适当的叶子结点。该拓扑结构的网络系统有较好的性能和扩展性、且支持复杂查询、易于管理维护。但对超级结点仍存在一定依赖。KaZaA就是一款典型的半分布式拓扑的P2P文件共享软件。
三、P2P典型应用
1. 中心化拓扑Napster
2. 全分布式非结构化拖布Gnutella
3. 全分布式结构化拓扑Chord
4. 半分布式拓扑kazaa