论文部分内容阅读
摘要:本文介绍了P2P的工作原理及几个典型,着重分析比较了基于超级节点的和基于区域划分结构的两种P2P模型的特性,最后提出自己的观点。
关键词:P2P网络模型;发现机制;区域划分;身份认证
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)15-2pppp-0c
Comparison and Research of two P2P Network Models
YANG Jing,JIANG Zhan-sheng
(Nanyang Institute of Technology,Nanyang 473004,China)
Abstract:This paper introduces the work principle of P2P and several typical examples,mostly compares their characteristic of the superpeer-based and the districted structure P2P model with each other.At last, we propose our viewpoint.
Key words:peer-to-peer network mode;discovery mechanism; district partition; identity certification
1 引言
互联网的发展,使上网人数剧增,导致使提供资源下载的站点压力越来越大,用户通过HTTP或FTP下载常会遇到网络堵塞。P2P以强大的资源共享和平衡网络负载能力,为互联网的发展带来了深远的影响。
2 P2P原理及应用
相对于传统的网络,P2P(对等网)代表了一个全新的网络理念,网络中不存在中心服务器,服务工作由所有的用户共同承担,每个用户既是客户端又是服务器,下载的同时也在上传,每个用户的权利和义务都是对等的。P2P允许用户之间通过建立链接的方式直接进行文件共享,参与者之间关系对等,以物易物[1]。
两个早期的P2P典型就是Napster和Gnutella。Napster靠目录服务器完成搜索和查询定位,下载则是点对点。Gnutella是完全分散结构,采用广播查询机制发现成员。随后的SFLAN通过小无线电导航台,将小范围内对等设备连接组成小型组,通过共享资源实现信息交换。Roku是一种人机对话P2P,对话一方是用户,另一方是软件代理,用户通过浏览器、PDA、移动电话等方式来连接Roku,访问远程资源。Groove是Lotous公司开发P2P产品,Group之间通过虚拟空间进行项目协作、即时通信、共享文档等[2]。
3 两种P2P模型的特点分析
目前涌现出了多种的层次型的P2P模型。这些模型的基本特点就是将对等点通过层次结构分级管理。下面给出两种层次型P2P网络模型。
3.1 基于Super-node的P2P网络[3]
依据规则在组内选取性能最优节点作Super-node。Super-node在组内相当服务器(但不是),对组内成员进行管理。但在多个Super-node之间,Super-node是以纯分散式P2P结构进行连接。
Super-node和其管理的node构成自治单元-簇(图1)。因为Super-node在组中是可靠和值得信赖的节点,较纯分散式P2P有更好的管理性。在基于Super-node的P2P设计中,要考虑簇的大小的设计。另外Super-node作为高层节点要管理组内结点,所以Super-node要设置冗余节点。
Super-node根据在线时间、频率接入方式和处理速度从普通node中选择,Super-node保存普通node的信息和一张提供服务映射表来记录服务的种类、内容、服务对应节点的地址和ID等。node既提供服务又扮演客户端角色发送查询请求。
当node节点初次加入时,通过IP组播方式发送请求寻找该区域Super-node加入簇。IP组播将消息传给组中的所有成员,发送方封装发送消息,不保存接受者名单,对消息感兴趣的接受方会接受消息。node节点初次加入有两种情况。一是系统规定时间内未收到Super-node确认,则把自己标记为Super-node。二是受到Super-node确认,则将自己的注册信息发给Super-node并加入。当node节点发出查询请求时,先在Super-node的服务中进行搜索,若有则node节点和Super-node节点直接传递,若无则Super-node将查询对周围的Super-node转发搜索。由于Super-node之间是纯分散式连接,所以Super-node之间查询要定义TTL(Time To Live),搜索经过一个Super-node,TTL减1,直到TTL为0返回搜索失败。
Super-node管理的簇中存在单点失效问题,为了增强系统可靠性,定期备份Super-node信息,从普通node节点中选候补Super-node做备份节点。P2P有很大的动态性难以管理,因此Super-node要定期巡视动态更新信息列表,以保持列表的可用性。
3.2 基于区域划分结构P2P网络[4]
基于超级节点的P2P中Super-node之间的连接是非结构化的,普通节点可以随机挑选Super-node盲目加入该簇,没有考虑该Super-node是否失效,加入是否对导致该Super-node提供的服务质量极端下降等问题。因为节点的动态性及提供相同服务节点的地位平等,可能舍弃临近的、通信效率高的节点而选择遥远的、通信效率差的节点[4]。所以简单产生Super-node对庞大无序P2P仍不是很好的解决方法。
在[4]中,提出了三层区域划分架构(图2),在Super-node上层又增加一层--注册点,形成了三层架构。普通node节点申请加入时,中心点计算可接受度,以此来判断该节点在哪个注册点注册。这是划分区域的标准。注册点和Super-node节点不是对等关系,但注册点和注册点之间对等。Super-node在注册点注册,注册点保存隶属其的Super-node信息和所有其他Super-node信息,供node节点进行查询。
4 两种P2P模型架构性能分析
搜索效率:基于Super-node P2P当多数的Super-node都失败或TTL为0搜索失败。搜索具有广度和深度,和纯分散式比较,大大降低了消息洪泛式传播,有较高效率。三层区域划分结构,因注册点及划分注册区域,普通node查询时,先在本注册区域查询,失败再到临近注册区域,本注册区域节点效率高,且搜索大都可在本注册区域得到回应,所以搜索效率比基于Super-node的搜索有进一步的提高。
带宽利用:基于Super-node的P2P查询广播范围比纯分散式小,减少网络阻塞,对服务提供代理有效利用带宽。三层区域划分架构,利用较小带宽的查询实现了大带宽的文件共享及传送。
可扩展性和负载平衡:基于Super-node和三层区域划分架构的P2P与原来的传统模式相比扩展性更好,节点加入和离开更加自由。前者中通过增加备份节点来辅助Super-node进行管理,后者利用注册点为大多P2P的不兼容提供平台。在注册搜索方面两者都实现了负载平衡。
安全机制:大量分散连接的普通node,要确保安全。P2P安全包括信息加密、用户身份认证、服务授权、恶意站点识别和应对等。基于Super-node和三层区域划分架构的P2P都能提供身份认证,确保节点可靠。但认证过程的额外消耗是不可避免的。
5 结论
基于Super-node的P2P网络和基于区域划分结构的P2P网络比起以前的P2P纯分散网络在性能上有了很大改善,且通过性能分析对比发现基于区域划分结构的P2P比基于Super-node的P2P优势更明显一些。由于各个节点的分散性,P2P网络模型中发现机制和搜索机制仍然需要进一步的探索。
参考文献:
[1]Dana Moor,John Hebeler.peer to peer.清华大学出版社.
[2]陈姝,方滨兴,周勇林.p2p技术的研究与应用.计算机工程与应用,2002.
[3]蔡晟,王泽兵,冯雁,陈海燕.基于Super2peer的对等网络研究.计算机应用研究,2004.
[4]李威,董健全,武雪丽.p2p环境中区域划分结构及其算法描述.计算机工程与应用,2004.
[5]杨峰,战守义,沈福祥.p2p超级点网络可靠性及动态自恢复机制的研究.计算机应用,2004.
[6]X.Li and J.Wu,"Searching techniques in peer-to-peer networks,"Handbook of Theoretical and Algorithmic Aspects of Sensor,Ad Hoc Wireless,and Peer-to-Peer Networks,Edited by J.Wu.Auerbach Publications,2006.
[7]R.Zhou and K.Hwang,"PowerTrust:A Robust and Scalable Reputation System for Trusted P2P Computing",IEEE Trans. on Parallel and Distributed Systems,accepted to appear,2007.
收稿日期:2008-02-29
作者简介:杨晶(1978-),女,南阳理工学院软件学院讲师,硕士研究生,研究方向:计算机网络,数据库;蒋占生(1978-),男,河南省经济管理学校助教。
关键词:P2P网络模型;发现机制;区域划分;身份认证
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)15-2pppp-0c
Comparison and Research of two P2P Network Models
YANG Jing,JIANG Zhan-sheng
(Nanyang Institute of Technology,Nanyang 473004,China)
Abstract:This paper introduces the work principle of P2P and several typical examples,mostly compares their characteristic of the superpeer-based and the districted structure P2P model with each other.At last, we propose our viewpoint.
Key words:peer-to-peer network mode;discovery mechanism; district partition; identity certification
1 引言
互联网的发展,使上网人数剧增,导致使提供资源下载的站点压力越来越大,用户通过HTTP或FTP下载常会遇到网络堵塞。P2P以强大的资源共享和平衡网络负载能力,为互联网的发展带来了深远的影响。
2 P2P原理及应用
相对于传统的网络,P2P(对等网)代表了一个全新的网络理念,网络中不存在中心服务器,服务工作由所有的用户共同承担,每个用户既是客户端又是服务器,下载的同时也在上传,每个用户的权利和义务都是对等的。P2P允许用户之间通过建立链接的方式直接进行文件共享,参与者之间关系对等,以物易物[1]。
两个早期的P2P典型就是Napster和Gnutella。Napster靠目录服务器完成搜索和查询定位,下载则是点对点。Gnutella是完全分散结构,采用广播查询机制发现成员。随后的SFLAN通过小无线电导航台,将小范围内对等设备连接组成小型组,通过共享资源实现信息交换。Roku是一种人机对话P2P,对话一方是用户,另一方是软件代理,用户通过浏览器、PDA、移动电话等方式来连接Roku,访问远程资源。Groove是Lotous公司开发P2P产品,Group之间通过虚拟空间进行项目协作、即时通信、共享文档等[2]。
3 两种P2P模型的特点分析
目前涌现出了多种的层次型的P2P模型。这些模型的基本特点就是将对等点通过层次结构分级管理。下面给出两种层次型P2P网络模型。
3.1 基于Super-node的P2P网络[3]
依据规则在组内选取性能最优节点作Super-node。Super-node在组内相当服务器(但不是),对组内成员进行管理。但在多个Super-node之间,Super-node是以纯分散式P2P结构进行连接。
Super-node和其管理的node构成自治单元-簇(图1)。因为Super-node在组中是可靠和值得信赖的节点,较纯分散式P2P有更好的管理性。在基于Super-node的P2P设计中,要考虑簇的大小的设计。另外Super-node作为高层节点要管理组内结点,所以Super-node要设置冗余节点。
Super-node根据在线时间、频率接入方式和处理速度从普通node中选择,Super-node保存普通node的信息和一张提供服务映射表来记录服务的种类、内容、服务对应节点的地址和ID等。node既提供服务又扮演客户端角色发送查询请求。
当node节点初次加入时,通过IP组播方式发送请求寻找该区域Super-node加入簇。IP组播将消息传给组中的所有成员,发送方封装发送消息,不保存接受者名单,对消息感兴趣的接受方会接受消息。node节点初次加入有两种情况。一是系统规定时间内未收到Super-node确认,则把自己标记为Super-node。二是受到Super-node确认,则将自己的注册信息发给Super-node并加入。当node节点发出查询请求时,先在Super-node的服务中进行搜索,若有则node节点和Super-node节点直接传递,若无则Super-node将查询对周围的Super-node转发搜索。由于Super-node之间是纯分散式连接,所以Super-node之间查询要定义TTL(Time To Live),搜索经过一个Super-node,TTL减1,直到TTL为0返回搜索失败。
Super-node管理的簇中存在单点失效问题,为了增强系统可靠性,定期备份Super-node信息,从普通node节点中选候补Super-node做备份节点。P2P有很大的动态性难以管理,因此Super-node要定期巡视动态更新信息列表,以保持列表的可用性。
3.2 基于区域划分结构P2P网络[4]
基于超级节点的P2P中Super-node之间的连接是非结构化的,普通节点可以随机挑选Super-node盲目加入该簇,没有考虑该Super-node是否失效,加入是否对导致该Super-node提供的服务质量极端下降等问题。因为节点的动态性及提供相同服务节点的地位平等,可能舍弃临近的、通信效率高的节点而选择遥远的、通信效率差的节点[4]。所以简单产生Super-node对庞大无序P2P仍不是很好的解决方法。
在[4]中,提出了三层区域划分架构(图2),在Super-node上层又增加一层--注册点,形成了三层架构。普通node节点申请加入时,中心点计算可接受度,以此来判断该节点在哪个注册点注册。这是划分区域的标准。注册点和Super-node节点不是对等关系,但注册点和注册点之间对等。Super-node在注册点注册,注册点保存隶属其的Super-node信息和所有其他Super-node信息,供node节点进行查询。
4 两种P2P模型架构性能分析
搜索效率:基于Super-node P2P当多数的Super-node都失败或TTL为0搜索失败。搜索具有广度和深度,和纯分散式比较,大大降低了消息洪泛式传播,有较高效率。三层区域划分结构,因注册点及划分注册区域,普通node查询时,先在本注册区域查询,失败再到临近注册区域,本注册区域节点效率高,且搜索大都可在本注册区域得到回应,所以搜索效率比基于Super-node的搜索有进一步的提高。
带宽利用:基于Super-node的P2P查询广播范围比纯分散式小,减少网络阻塞,对服务提供代理有效利用带宽。三层区域划分架构,利用较小带宽的查询实现了大带宽的文件共享及传送。
可扩展性和负载平衡:基于Super-node和三层区域划分架构的P2P与原来的传统模式相比扩展性更好,节点加入和离开更加自由。前者中通过增加备份节点来辅助Super-node进行管理,后者利用注册点为大多P2P的不兼容提供平台。在注册搜索方面两者都实现了负载平衡。
安全机制:大量分散连接的普通node,要确保安全。P2P安全包括信息加密、用户身份认证、服务授权、恶意站点识别和应对等。基于Super-node和三层区域划分架构的P2P都能提供身份认证,确保节点可靠。但认证过程的额外消耗是不可避免的。
5 结论
基于Super-node的P2P网络和基于区域划分结构的P2P网络比起以前的P2P纯分散网络在性能上有了很大改善,且通过性能分析对比发现基于区域划分结构的P2P比基于Super-node的P2P优势更明显一些。由于各个节点的分散性,P2P网络模型中发现机制和搜索机制仍然需要进一步的探索。
参考文献:
[1]Dana Moor,John Hebeler.peer to peer.清华大学出版社.
[2]陈姝,方滨兴,周勇林.p2p技术的研究与应用.计算机工程与应用,2002.
[3]蔡晟,王泽兵,冯雁,陈海燕.基于Super2peer的对等网络研究.计算机应用研究,2004.
[4]李威,董健全,武雪丽.p2p环境中区域划分结构及其算法描述.计算机工程与应用,2004.
[5]杨峰,战守义,沈福祥.p2p超级点网络可靠性及动态自恢复机制的研究.计算机应用,2004.
[6]X.Li and J.Wu,"Searching techniques in peer-to-peer networks,"Handbook of Theoretical and Algorithmic Aspects of Sensor,Ad Hoc Wireless,and Peer-to-Peer Networks,Edited by J.Wu.Auerbach Publications,2006.
[7]R.Zhou and K.Hwang,"PowerTrust:A Robust and Scalable Reputation System for Trusted P2P Computing",IEEE Trans. on Parallel and Distributed Systems,accepted to appear,2007.
收稿日期:2008-02-29
作者简介:杨晶(1978-),女,南阳理工学院软件学院讲师,硕士研究生,研究方向:计算机网络,数据库;蒋占生(1978-),男,河南省经济管理学校助教。