架构模式——点对点模式
点对点模式
1、什么是点对点模式?
对等式网络(peer-to-peer, 简称P2P),又称点对点技术,其架构体现了一个网际网络技术的关键概念,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流。
P2P节点能遍布整个互联网,也给包括开发者在内的任何人、组织、或政府带来监控难题。P2P在网络隐私要求高和文件共享领域中,得到了广泛的应用。使用纯P2P技术的网络系统有比特币、Gnutella,或自由网等。另外,P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。有些网络(如Napster、OpenNAP,或IRC @find)包括搜索的一些功能,也使用客户端-服务器结构,而使用P2P结构来实现另外一些功能。这种网络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中央服务器。
2、点对点模式的分类
1)根据中央化程度
·纯P2P:
a.节点同时作为客户端和服务器端;
b.没有中心服务器,没有中心路由器;
c.如Gnutella。
·杂P2P:
a.有一个中心服务器保存节点的信息并对请求这些信息的要求做出反应;
b.节点负责发布这些信息(因为中心服务器并不保存文件),让中心服务器知道它们想共享什么文件,让需要它的节点下载其可共享的资源;
c.路由终端使用地址,通过被一组索引引用来获取绝对地址;
d.如最原始的Napster。
·混合P2P:
a.同时含有纯P2P和杂P2P的特点;
b.如Skype。
2)根据网络拓扑结构
·结构P2P:
a.点对点之间互有连结资讯,彼此形成特定规则拓扑结构;
b.需要请求某资源节点时,依该拓扑结构规则寻找,若存在则一定找的到;
·无结构P2P:
a.点对点之间互有连结资讯,彼此形成无规则网状拓扑结构;
b.需要请求某资源节点时,以广播方式寻找,通常会设TTL,即使存在也不一定找的到;
c.如Gnutella。
· 松散结构P2P:
a.点对点之间互有连结资讯,彼此形成特定规则拓扑结构;
b.需要请求某资源时,依现有资讯推测寻找,介于结构P2P和无结构P2P之间;
c.如Freenet。
3、P2P网络的优势
P2P网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。这是具有一组固定服务器的Client-Server结构不能实现的,因为在上述这种结构中,客户端的增加意味着所有用户更慢的数据传输。
P2P网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯P2P网络中,节点不需要依靠一个中心索引服务器来发现数据。在后一种情况下,系统也不会出现单点崩溃。
当用P2P来描述Napster 网络时,对等协议被认为是重要的,但是,实际中,Napster 网络获取的成就是对等节点(就像网络的末枝)联合一个中心索引来实现。这可以使它能快速并且高效的定位可用的内容。对等协议只是一种通用的方法来实现这一点。
4、应用
点对点技术有许多应用。共享包含各种格式音频,视频,数据等的文件是非常普遍的,即时数据(如IP电话通信,Anychat音视频开发软件)也可以使用P2P技术来传送。
有些网络和通信渠道,像Napster,OpenNAP,和IRC@find,一方面使用了主从式架构结构来处理一些任务(如搜索功能),另一方面又同时使用P2P结构来处理其他任务。而有些网络,如Gnutella和Freenet,使用P2P结构来处理所有的任务,有时被认为是真正的P2P网路。尽管Gnutella也使用了目录服务器来方便节点得到其它节点的网络地址。
5、优缺点
优点:
拥有较佳的并行处理能力;
运行内存来管理交换资料,大幅度提高性能;
不用投资大量金钱在服务器的软,硬体设备;
适用于小规模的网络,维护容易。
缺点:
架设较为复杂,除了要有开发服务器端,还要有专用的客户端;
用在大规模的网络,资源分享紊乱,管理较难,安全性较低。