p2p半分布式开源项目调研:

9 篇文章 0 订阅
本文调研了半分布式P2P开源项目,重点介绍了FastTrack协议,包括其工作流程:节点连接、文件搜索和传输。FastTrack在Kazaa、Grokster等软件中被广泛使用,通过引入超级节点改善了可扩展性。文章还讨论了基于FastTrack的项目,如Kazaa、Grokster和Ares Galaxy,以及它们的技术特点和网络结构。
摘要由CSDN通过智能技术生成

p2p半分布式开源项目调研:

 

1.半分布式拓扑结构底层协议FastTrack:

 

FastTrack是采用树型对等网络模型,是集中目录式网络结构的发展模式。处于网络模型中的节点自动组成树型结构,其中计算能力较强的或者带宽更宽的节点成为超级节点,超级节点的功能类似于集中目录式网络中的服务器。客户节点加入超级节点的树中之后,当需要查询某个文件时,客户节点会向超级节点发出文件查询请求。超级节点进行相应的检索和查询后,会返回符合查询要求的客户节点地址信息列表。查询发起客户节点接收到应答后,会根据网络流量和延迟等信息进行选择与合适的客户节点直接建立连接,并开始文件传输。

其工作流程主要包括如下几个部分:

(a)连接。节点每次启动时先到服务器上注册,从服务器上得到200个超

级节点的列表(服务器中有 SupernodeListCache)。本机上的程序会自动检查

是否为超级节点,如果是就连到其它超级节点,如果不是就选择一个超级节点作

为父节点进行连接。与节点连接时,先用UDp包来探查在 SupernodeListCaehe

中所有可用的连接,然后跟探查成功的超级节点建立TCP连接,再根据策略选

择其中的一个作为父节点,断掉其它的连接,然后向父节点上传其共享文件的信

息。选择父节点的策略通常是超级节点的负荷和超级节点的位置。位置的判断可

以依据IP地址的前缀、RTT等。

(b)搜索。用户搜索时,发送搜索请求到父节点,然后父节点向其连接的

超级节点广播这个搜索请求,直到TTL0。最终父节点在给用户的应答中会提

供一个可用的文件列表,以及文件所在节点的位置。

(c)传输文件。用户从可用文件列表中选择一个地址,进行TCP连接,发

文件共享请求(http)。文件所有者进行响应(http),然后用此TCP连接传输

文件。

 

 FastTrack是Kazaa、Grokster、iMesh和Morpheus等P2P软件中使用的协议,这个协议在2003年早期非常流行。

 FastTrack和Kazaa是Scandinavians、Niklas  Zennstrom和Janus Friis设计的,2001年3月,在一家荷兰公司Consumer Empowerment的产品中最先使用。那时候正是第一代P2P网络的末期,同年7月,Napster关闭了。

2004年时,有三个基于FastTrack的网络存在,它们使用互相不兼容版本的协议。这三个网络中最有名的客户端分别是Kazaa、Grokster和iMesh。

FastTrack被称为第二代P2P协议,它基于Gnutella协议,并扩展加入了supernode,以改进可扩展性。supernode的功能内 置于客户端中,如果一个客户端计算机性能足够,而且网络连接速度快,那它就自动成为supernode。supernode为那些速度较慢的节点提供索引 服务。
   一开始的时候,客户端中保存了一个supernode的IP地址的列表,它会试图连接这些IP直至找到一个活动的supernode,它会向这个 supernode索取当前活动的supernode的列表,并更新自己保存的列表。客户端把自己共享的文件列表告诉supernode,也从 supernode检索自己想要的文件,一旦检索到文件,就会直接与文件的所有者连接,并通过HTTP协议进行下载。这个大致结构与skype的很像。

 

2.Fasttrack协议为底层的项目介绍:

 

 2.1 KazAa技术特点:

   不像文件共享程序NapsterNapster使用的是一种中央服务器来索引文件Kazaa用户直接从彼此的硬盘驱动器上共享文件。计算机用户可以在Kazaa设置的时候决定他们电脑上的那些文件可以被共享。在Kazaa网络上,如果一台计算机配置成只下载文件,而不把自己的文件和别人共享,那么这台计算机叫做一个节点(node)。如果这台计算机还能把自己的文件和别人共享,那么它就叫做一个超节点(supernode)。因为超节点间的数据传送是加密的,所以如果某人想发现谁在使用Kazaa网络以及什么文件正在被共享是很困难的。

 

 

2.2  Ants 实现第三代p2p网络(混合式,半分布式p2p网络)

 

混合式(半分布式)P2P网络:第三代P2P,代表Skype

在分布式模式基础上,将用户节点按能力进行分类,使某些节点担任特殊的任务。用户节点:可以从索引节点处得到相临的搜索节点地址。搜索节点:处理搜索请求,要有128k以上的速度,从子节点中搜索文件列表。索引节点:速度快、内存大的节点,保存可以利用的搜索节点信息、搜集状态信息,并维护网络结构。索引节点也可以同时是搜索节点。用户节点可以选择三个搜索节点为父节点,并提交它的共享列表。一个父节点可以维护500个孩子节点。

首先索引节点的引入不直接连接有版权的资料,摆脱了版权问题。其次引入搜索节点,查询时,用户节点直接连接搜索节点,若搜索的结果不足100个,就向相临的搜索节点再发请求,若还不足,再继续扩散请求,直到所有的搜索节点都访问过。

 

 

2.2 Grokster介绍(已被封)

Grokster

一款世界著名的p2p软件,采用fasttrack协议。Grokster是一个点对点传输的文件分享软件,可自定义多种规周而复始,如无效下载动作、搜寻数量限制。支持文本文件、图片、影片或软件文件。主机上甚至建立最Hot的多媒体排行榜。

Grokster是最新版本的文件共享软件。它具有以下显著的特征:(1)真实的面对面文件搜索和转移,快速查找。(2)与Gnutella类型程序不同的是,本软件由Grokster's SuperNode技术支持,提供最快速的搜索。(3)自动快速下载。(4)文件预览:一开始下载就可以预览(5)支持所有文件共享。

 

 

 

 

2.3 Edonkey2000eDonkey/OverneteMule 

窗体顶端

eDonkey2000网络(也称作Overnet)采用混合架构,包含客户端(对等体)和服务器(超级结点)。eDonkey2000 Client包括一组已知的服务器以供联系。当客户端初始化并连接某个服务器时,应用程序会重新得到一个当前服务器的列表。在eDonkey2000网络上,要求单独、专门的软件来操作这些服务器。eDonkey2000服务器由私人所有和维护。 

和FastTrack网络一样,eDonkey2000网络非常流行,这是因为:用户数量庞大且都有大量的音/视频文件,能出色地响应搜索请求,文件传输速度快。eDonkey2000是最早提供多文件同时下载的网络之一。eDonkey2000采用哈希值来唯一标识同步下载的文件,这就是业内的标准算法MD4。与Uuhash不同的是,这种算法对整个文件进行切分,从而避免了文件的损坏问题。eDonkey2000把文件分成多个9 MB的段落,从而提高了扫描效率。由于eDonkey2000出色的下载性能,该软件在下载大型文件方面非常流行,如视频文件和网件(计算机业的行话,指受版权保护的资源,如游戏或软件)。

eDonkey2000同时支持直接超链接(称作ed2k-链接)至P2P网络上文件的能力。用户可以通过电子邮件发送这些链接或在网页上对其进行发布。用户点击ed2k-链接时,eDonkey2000客户端启动并直接从指定的对等体上下载文件。今天的万维网上存在着许多站点,上面有不计其数的ed2k-链接,它们连接着音乐、视频和网件资源。下面是两个ed2k链接的例子:

ed2k://|file|overnet0.50.1.exe|1225593|9aceac18177fc86d18be5e1c19750408| 
ed2k://|file|fileName|fileSize|fileHash|(optional params)|(optional params)|etc| 
    由于FastTrack 网络在下载大型文件(如视频)时速度慢并对文件存在破坏,eDonkey2000客户端程序的受欢迎程度急速上升。虽然FastTrack在美国的用户群最大,eDonkey已经成为欧洲最受欢迎的P2P程序4。

eDonkey2000网络主要包括下面四个客户端程序:

窗体底端

客户端程序

操作系统

eDonkey / Overnet 

Windows、Mac OS X和Linux平台 

eMule 

Windows平台 

xMule 

eMule版Linux和BSD Linux 

Mldonkey 

Windows、Mac OS X和Linux平台。也可连接至BitTorrent、Gnutella、Gnutella2、FastTrack、Soulseek、Direct-Connect和OpenNap. (开源)

 

 

窗体顶端

2.4 Ares Galaxy Network (开源,还未找到源码)

Ares Galaxy开始是一个Gnutella客户端。2002年底时经过改写,该软件成了当前的Ares Galaxy网络。Ares Galaxy网络采用混合架构,包含叶子(对等体)和超级结点。Ares Galaxy客户端配有一组超级结点以供联系。一旦客户端初始化并连接至超级结点,应用程序就会收到一个当前超级结点的列表。缓存服务器维护着一个动态的超级结点列表,这些超级结点性能稳定且正常运行时间高于平均值。和KaZaA网络一样,任何叶子,只要其拥有快速网络连接、强大的CPU和足够的RAM内存,就可以选拔成为超级结点。 

Ares Galaxy切分整个文件,从而避免了文件损坏问题。安装时,应用程序采用业界标准SHA1算法对共享文件进行切分处理。与其它混合架构相比,Ares Galaxy的搜索方法略微不同。搜索一个文件要经过两个步骤:

1.     关键词搜索,搜索结果包括文件名、文件详细信息和哈希值,但不包括IP地址(下  

载源) 

2.     哈希搜索,返回最新的下载源(IP地址)

和BitTorrent类似,Ares Galaxy支持蜂拥、同步下载和从一个对等体到多个对等体的上载。Ares Galaxy同时支持直接超链接至P2P网络文件的能力。Ares Galaxy目前支持超过300,000用户,是流行的音乐文件网络。

Ares Galaxy网络包括下面的客户端:

客户端程序

操作系统

Ares Galaxy

Windows平台(不含广告软件或间谍软件)

Ares Lite

Windows客户端如Windows 98的简装版

网件

Windows平台(含广告软件)

窗体底端

 

 

 

 

 

 

 

 

 

 

 

 

 

 

窗体顶端

2.5  Manolito Network 

Manolito网络于2001年6月在西班牙开通,该网络采用自有协议,称作ManolitoP2P(MP2P)协议。Manolito网络采用混合架构。Manolito客户端联系HTTP网关服务器以更新超级结点列表。 

MP2P协议大量使用了UDP。该应用程序在UDP上进行所有通讯,包括对等体之间的联系、搜索和文件传输协商。该程序使用TCP仅进行对等体间的实际文件传输。 

Manolito网络仅支持音乐文件的下载传输,不允许视频或网件的传播。该网络目前支持300,000用户,适于下载流行及罕见的音乐资源。

Manolito网络包括下面的客户端: 

客户端程序

操作系统

Blubster

Windows平台(含广告软件)

Piolet

Windows平台(含广告软件)

网件

Windows平台(含广告软件和间谍软件)

 

2.6 Skype

  Skype是网络语音沟通工具。它可以提供免费高清晰的语音对话,也可以用来拨打国内国际长途,还具备即时通讯所需的其他功能,比如文件传输、文字聊天等。Skype是在KaZaA的基础上开发的,就像KaZaA一样,Skype本身也是基于覆盖层的P2P网络,在它里面有两种类型的节点:普通节点和超级节点。普通节点是能传输语音和消息的一个功能实体;超级节点则类似于普通节点的网络网关,所有的普通节点必须与超级节点连接,并向Skype的登陆服务器注册它自己来加入Skype网络。Skype的登陆服务器上存有用户名和密码,并且授权特定的用户加入Skype网络,图7所示为Skype的体系结构[18]。

  Skype的另一个突出特点就是能够穿越地址转换设备和防火墙。Skype能够在最小传输带宽32 kb/s的网络上提供高质量的语音。Skype是使用P2P语音服务的代表。由于其具有超清晰语音质量、极强的穿透防火墙能力、免费多方通话以及高保密性等优点,成为互联网上使用最多的P2P应用之一。

 

 

 

Dswjcms是一套资源管理系统,现基于Dswjcms发布的开源项目P2P网贷系统、P2C网贷系统、商城网店系统 Dswjcms由宁波市鄞州区天发网络科技有限公司于2014年1月发布,到2015年10月,新版本和以往版本有较大的区别,新版本除保留老版本的网贷基础功能和‘征信系统’外。 新版本新的特性:插件系统得以应用,改变以早开发者拿到系统后无从下手,开发功能时还需要从新读懂代码的尴尬局面;新版本将基础功能和其它组件功能 分离,也就是说,你可以不去了解项目的源代码,只需要根据插件开发文档,开发属于自己的插件,其它用户安装你开发的插件后就可以直接使用你开发的新功能。 虽然新版本中已经集成了插件模块,但因是新功能,对开发者来说还是需要花点时间去了解,模板市场插件还需要大家共同帮助。 Dswjcms发展历史: 2014年1月 Dswjcms开发完成,以P2P网贷系统发布在Github、开源中国、Thinkphp 2014年2月 Dswjcms P2P网贷系统1.1发布 2014年3月 Dswjcms核心版发布 2014年4月 Dswjcms商城版发布 2014年5月 Dswjcms P2P网贷系统1.2发布 2014年6月 Dswjcms P2C网贷系统发布 2014年10月 Dswjcms P2P网贷系统1.2.1发布 2015年4月 Dswjcms P2C网贷系统3.1发布 2015年4月 Dswjcms P2P网贷系统1.3发布 2015年10月 Dswjcms P2P网贷系统发布,该版本不管性能还是安全性,和以往版本有着质的改变,Dswjcms开源项目正式面向所有开发者开放 常见问题解答: Q:你们的系统是免费的嘛? D:可以理解为免费,因为我们允许你将我们的项目直接用于商业运营或二次开发后用于商业运营,但实际如果你想用于商业运营,但不想保留我们可见的版权信息时,那你就需要购买我们的版权, Q:授权费是什么,怎么个收费法? D:授权费即代表你可以将下载来的系统修改后直接发布到互联网,发布时不需要注明是基于我们的项目开发的;授权费用为2000元/域名,授权为终身,可在官网上进行授权查询:http://www.tifaweb.com/Index/demand.html Q:下载你们的系统后为什么只有首页,其它页无法访问;或是后台全是乱码? D:请下载后查看下目录中带的安装说明,如果还没有找到解决方案的话,可以去我们的论坛上找找,你所碰到的问题论坛上都有相应的解决方案。论坛:http://www.dswjcms.com/bbs Q:你们的项目为什么有的版本功能比较全,有的又很少呢? D:你所指的应该是P2P网贷系统,P2P网贷系统也是我们主营项目,之所以有的版本功能多,有的版本功能少,是因为原先开源项目定位不准,所以有 几个版本的升级主要放在了功能上面,但发现功能多了问题也多了。后来经过公司决定后,开源项目主要还是定位在“核心、简单、安全、易扩展”上面,结合最新 版本的插件模块,让开发者根据自己平台的业务需求选择所需的模块岂不更好。 Q:你们最新版本为什么只针对P2P做了修改,其它版本什么时候能发布? D:原因有2点,1:我们公司主要做的是P2P相关业务,2:新功能需要一定周期观察它的性能和不足。等到插件功能的完善后,我们会发布其它相关版 本的插件版,虽然现在只有P2P版本有插件模块,但当你开发相应插件时,对将来其它版本的应用来说也是一样的,很多功能模块是可以共用的。 Q:新版本的插件是要从哪下载的,我下载后为什么插件列表中只有一个插件,而且很简单? D:更多插件可以通过官方论坛:http://www.dswjcms.com/bbs 中查看到,当然前期是不会有很多插件的,毕竟新的功能刚推出来,开发者需要周期去适应,并开发相应的插件,然后发布。 Q:插件是否需要另收费? D:插件有收费和非收费版,前期因为都是通过论坛的,所以我们不限制开发者通过论坛将插件出售给其它用户,我们也不收任何费用。 Q:插件什么时候会有我想要的功能? D:我们开发插件的主要目的是为了将开源进行到底,希望大家都不要只懂得获取,而不懂得付出,我们的项目以免费开源的形式发布给大家,也希望大家也有免费开源的奉献精神,帮助他人也帮助了自己。 Dswjcms开源项目唯一官网:http://www.dswjcms.com ,我们的目的,将开源进行到底,分享是一种精神,分享中获得的往往比金钱更重要。 标签:Dswjcms
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值