首页 > 范文大全 > 正文

基于网络编码的P2P内容分发性能分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于网络编码的P2P内容分发性能分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: P2P网络是一种全新的第三代网络拓扑结构,是一种分散式的网络架构,采用的是点对点的方式,这种网络结构在文件共享,对等计算,搜索引擎等方面都拥有很多的优点,本系统是在P2P网络的基础上,应用JXTA架构来完成的一个平台,JXTA结构是一种混合P2P搜索模式的网络协议,平台优势在与对于内容分发性能和下载软件的设计操作简单,系统稳定,所以在软件的设计中,经常会运用该类型的架构和性能分析。

关键词: 网络编码;P2P;分发性能

1 基于网络编码p2p发展概述

近年来,随着Napster、KaZaa、BT、eMule这样的基于P2P技术的文件共享软件在Internet上迅速传播,P2P技术在国际国内都引发了研究的新热潮。P2P工作组(P2PWG)、全球网格论坛(Global Grid Forum,GGF)是国外兴起的研究P2P技术的机构,它们主要致力于P2P计算基础设施和标准化的完善。P2PWG主要的贡献是统一了P2P计算的术语,但在标准化工作上进展缓慢。其后,P2PWG与GGF合并,又新组织负责P2P技术相关工作,GGF主要负责P2P技术的标准化工作。

随着P2P技术的发展,国外公司对P2P技术的投入比较也开始加大,如Microsoft公司、Sun公司和Intel公司。微软公司了基于Pastry的软件包。在2000年8月,英特尔公司开始研究P2P技术,于2002年推出了基于.NET架构之上的Accelerator Kit软件包。2002年月,IBM公司进军网格计算,并与Globus合作,着手制定网格计算的各种标准。Sun公司依托Java技术,开展了JXTA项目。

在国外,P2P技术一般应用在两个方面:运算群组和数据传输。在国内,由于各科研机构缺少核心CPU的研发能力,所以很难对运算群组进行研究。数据传输有很广的应用领域,从技术角度也比群组运算低得多,大家普遍见到的是文件传输和资源共享。可以分为以下三类:Gnutella,KazaA,Groove。

1.1 Gnutella

Gnutella是一个开放的系统,它是由一个非功利的机构开发的。Gnutella不必使用中央服务器,利用自身的协议,使用完全分布式的模式。由于Gnutella系统是完全开放的系统,所有它没有任何商业价值,只能为人们提供资源共享。国内的Openext就是根据Gnutella开发的。

1.2 KazaA

KazaA是混合P2P模式的典型代表。它兼有Napster和Gnutella的共同优点,使得它成为当今流行的P2P软件之一。在结构上,它与Gnutella类似,采用全分布式结构。在系统上,它与Napster类似,采用中央服务器进行管理,但是传输数据不通过服务器。目前,国内的PP点点通和Realink都采用了类似于KazaA的模式。

1.3 Groove

Groove利用雄厚的技术实力,外加微软的资金支持,它在商业化程度是发展的最好的。Groove的目的很明确,主要是针对企业和商务应用。所以,Groove的功能比较少,只构建了一个P2P平台,很多功能都是外包给第三方开发的。

2 基于网络编码的P2P内容分发性能分析

P2P是英文Peep-to-Peer的简称,Peer在英文里有“对等着”的意思。因此,从字面上理解,P2P可以理解为对等互联网的意思。在国内,大部分媒体都把P2P称为“点到点”或者“端到端”,但用专业计算机术语,它称为对等计算。P2P是一种网络模型,在这个模型中所有的节点都是对等的,各个节点在网络中既是资源的提供者,又是资源的获取者,同时各节点具有相同的职责和能力去协同完成任务。对等点之间只需通过互连就可以实现共享信息资源、CPU资源和存储器资源,而不需要通过服务器的中间过渡环节。随着像Napster的各种P2P软件的流行,P2P技术受到了广泛的关注。

系统对等体管理模块主要负责管理对等体的一些行为,包括对等体的启动、对等体身份的转换、对等体的离线和一些其他的行为。

2.1 对等体的启动

用户开启软件时,对等体登入JXTA网络,并且找到一个SuperPeer进行连接,连接上后开始上传用户共享资源的索引。对等体和SuperPeer创建了虚拟的通信管道,所有的共享资源索引都是通过它进行传输的。

具体描述如下:

用户开启软件,软件启动JXTA平台,互用对等体加入网络对等组NetPeerGroup,然后初始化对等组,将对等组的类型设置为未知类型。然后寻找用户对等组PPMusicPeerGroup,找到响应组则加入进去,未找到则直接创建新用户对等组,通过使用makeGrouplD0方法和预定义的字符串,来生成定义对等组lD的URL,这样就保证了每个用户对等体所生成的对等组ID都相同。拥有用户对等组后就开启一个线程,创建输入管道inputPipe_PP

Music。以未知类型在网络中寻找MainSuperPeer。

如果找到至少一个MainSuperPeer,就执行下一步,看是否有ViaSuperPeer,有则上传本地资源列表给MainSuperPeer,没则转化自身为MainSuperPeer;如果没找到,就将自身转化为MainSuperPeer,同时开启一个新的线程,创建输入inputPipe

_PPMusic,更新本地资源,然后启动结束。

2.2 对等体身份的转换

在P2P网络中,对等体的加入和退出是很平常的事,但在混合P2P网络中,SuperPeer的退出会对虚拟子网造成一定影响,所以需要转换对等体的身份,来消除这种影响,使系统正常运行。

对等体之间有三种身份可以切换NormalPeer、MainSuper

Peer、ViaSuperPeer,身份的切换过程有如下几种情况。