【编程】对等网络(P2P) - P2P 网络模型

[文章信息]

选择自 Caviler 的 Blog

 

1.1.1        P2P网络模型

1.1.1.1     静态配置模型

静态配置模型是一种相对静态而简单的对等点定位模型。在该模型中,每个对等点都确切地知道存在于其P2P 网络中其它对等点的位置以及它们所提供的共享资源内容。

缺点:网络无法应付不能预知的随机事件和临时变更,比如对等点随机进入和退出网络。

优点:整个网络在外部攻击面前表现得很稳固。

 

1.1.1.2     动态配置模型(目录式)

在目录式模型中,一台或多台有特殊用途的服务器为对等点提供目录服务。对等点向目录服务注册关于自身的信息(其名称、地址、资源和元数据),并通过根据目录服务器中信息的查询,使用目录服务来定位其它对等点。Napster模型是一种典型的使用动态配置模型(目录式)的网络模型

缺点:网络的不安全性(服务器失效则该服务器下的对等点全部失效),成本问题。

优点:提高了网络的可管理性,使得对共享资源的查找和更新非常方便。

1.1.1.3     动态配置模型(网络式)

它由许多对等点组成,这些对等点在功能上很类似。没有专门的目录服务器。对等点必须使用它们所在的网络来定位其它对等点。没有一个对等点知道整个网络的结构或者组成网络的每个对等点的身份。希望知道网络中另一个对等点的位置时,它就发出一个查询请求并传递给邻居。这些邻居尝试满足这个请求。如果这些邻居不能完全满足这个请求,就将请求传递给它们的邻居,以此类推。Gnutella模型是一种典型的使用动态配置模型(网络式)的网络模型

 

缺点:容易导致网络拥塞,对大型网络应用并不适合。

优点:在查询过程中具有较大的灵活性。

1.1.1.4     动态配置模型(多播式)

除了网络中的节点不必协助发现以外,多播模型和网络模型很相似。这种模型利用网络自身提供的特性来定位和确认对等点和资源。对等点使用IP多播技术定期宣布自己的存在,对此消息感兴趣的对等点检测这个消息后,抽取出主机名和端口号,并使用这个信息与新对等点建立正常的 TCP/IP 连接。

缺点:众多子网间的路由多播通信是一个非常复杂的课题;因特网对多播并不友好。

优点:减少网络流量不会因对等组中任何一个对等点的瘫痪而崩溃。

1.1.1.5     动态配置模型(散列式)

不需要专门的服务器,网络中所有的对等点都是服务器,并且承担很小的服务器的功能。首先将网络中的每一个节点分配虚拟地址(VID),同时用一个关键字(KEY)来表示其可提供的共享内容。取一个散列函数,这个函数可以将KEY转换成一个散列值H(KEY)。网络中节点相邻的定义是散列值相邻。发布信息的时候就把(KEY,VID)二元组发布到具有和H(KEY)相近地址的节点上去,其中VID指出了文档的存储位置。资源定位的时候,就可以快速根据H(KEY)到相近的节点上获取二元组(KEY, VID),从而获得文档的存储位置。

缺点:

优点:

posted @ 2005-01-27 16:11  epan  阅读(2397)  评论(0编辑  收藏  举报