点对点架构模式

点对点模式,即Peer-to-Peer模式,在这种模式中,单个组件被称为对等点。对等点可以作为客户端,从其他对等点请求服务,也可以作为服务器,为其他对等点提供服务。对等点可以充当客户端或服务器的角色,并且可以随时间动态地更改其角色。每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。其依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。一个组件是软件指令内部和内部状态的一个抽象单元,通过其接口提供对于数据的转换。

点对点(Peer-to-Peer)架构是一种”我为人人,人人为我”的资源共享思想,比如非法传播视频网站,每个节点既可以是客户端进行下载,又可以是服务器端继续上传资源以提供下载服务给其他人,所以找不到真正的server,打击非法网站也就更难了。

有3种比较流行的组织结构,(1)DHT结构,这种结构多用于文件共享和作为底层结构用于流媒体传输。(2)树形结构,最初的树形结构多用于P2P流媒体直播。(3)网状结构,又叫无结构,为P2P提供了最大的容忍性、动态适应性,在流媒体直播和点播应用中取得了极大的成功。

对等网络的基本结构:(1)集中式对等网络:基于中央目录服务器,为网络中各节目提供目录查询服务,传输内容无需再经过中央服务器。这种网络结构比较简单,中央服务器负担大大降低,但仍存在中央节点,容易形成传输瓶颈,扩展性较差,不适合大型网络;(2)无结构式分布网络(Gnutella):与集中式最显著区别在于没有中央服务器,所有节点通过与相邻节点间的通信接入整个网络。在无结构的网络中,节点采用一种查询包的机制来搜索需要的资源,具体方式为某节点将包含查询内容的查询包发送到与之相邻的节点,该查询包以扩散的方式在网络中蔓延,由于这样的方式如果不加节制,会造成消息泛滥,因此一般会设置一个适当的生存时间(TTL),在查询的过程中递减,当TTL值为0时,将不再继续发送。这种无结构的方式,组织结构比较松散,当查询热门内容时很容易就能找到;(3)结构化分布网络:基本思想是将网络中所有的资源整理成一张巨大的表,表内包含资源的关键字和所存放结点的地址,然后将这张表分割后分别存储到网络中的每一结点中去。当用户在网络中搜索相应的资源时,它将能发现存储与关键词对应的哈希表内容所存放的结点,在该结点中存储了包含所需资源的结点地址,然后发起搜索的结点根据这些地址信息,与对应结点连接并传输资源。高度结构化,高可扩展性,结点的加入与离开比较自由,比较适合大型的网络。

原文地址:https://www.cnblogs.com/jokerr/p/9069319.html