6 对3网终:锋构、应用5设计 “难”的方面去具体地讲述三代P2P网络(第2、3、4章),列举当前世界范围内的各 种P2P应用体系和应用软件、介绍一些著名软件的使用(第5章),研究P2P技术 的核心机制、增强机制、模拟和仿真(第6、7、8章),最后总结P2P的现状并展望 P2P的未来(第9章)。我们给每位读者的建议是一把握本书的脉络,理清P2P 的历史,有选择性地阅读,需要的时候回过头来参考。 1.2P2P网络的发展历程 1.第一阶段:1999一2000年,民间软件,锋芒初现 1999年,18岁的Shawn Fanning开发了世界上第一个应用性P2P网络软件 Napster,在半年时间里即拥有5000万注册用户。Napster是第一代P2P网 络一混合式P2P体系(hybrid P2 P architecture)最杰出的代表,向整个世界传达 了P2P优秀的思想,展现了P2P巨大的潜力。不久以后,Napster网站因为版权问 题被推上法庭,此后一直官司不断,在经历了约两年的法律纠纷之后,2001年底, 流星般的Napster最终关闭了。 2o00年3月,第一个无结构P2P网络Gnutella诞生于NullSoft公司,它是第 二代P2P网络一无结构P2P体系(unstructured P2 P architecture)的代表。虽 然发布之后不久,Gnutella就因为其母公司担心法律问题而被关闭,但是gnutella 所代表的无结构、纯分布式P2P体系的思想却广泛流传开来,而Gnutella本身成 为一种典型的无结构P2P网络协议。 几乎与Gnutella产生的同时,以“自由、安全、匿名”著称的无结构P2P网络 Freenet推出,它从一开始就有着很不同的理念:Napster、Gnutella这类P2P系统 的主要目的在于交换文件,而Freenet的目的是共享Internet上的计算机资源,组 建一个不受限制、不受审查的信息发布和获取的平台。虽然Freenet拥有前卫的 思想和高超的技术,但由于其使用的复杂和过于理想的自由主义理念,Freenet在 大多数国家被严格管制。 Gnutella问此后不久还出现了新的无结构P2P应用系统KaZaA,但与短命的 Gnutella不同,KaZaA从开始到现在,其用户群不断扩大,号称拥有超过300万的 平均在线用户,KaZaA网站上的统计数据称:截至2007年3月,KaZaA软件已被 下载超过3.8亿次,毫不逊色于当年的Napster。.KaZaA基于著名的FastTrack 协议,该协议是与Gnutella并列的典型的无结构P2P协议,其最大的改进在于引 入“超结点”(SuperNode),从而第一个有效地开发了P2P网络中的结点异构性(即 结点之间在能力上的差异)。基于FastTrack协议的应用还有KaZaA的类似体 KaZaA-Lite,以及Grokster、iMesh等
% !"#$)%&#’()*+ +H,,DnÒÌZHêüäO =!=PQ%´!#N#Oª&"ÆVÒ%q,l q=!=,]Z²},]É|#0¹÷øÉ|,\]%´Fª&"hi =!=RS ,#Â#®#fô#®#ë}P%´G#T#Uª&")¨·´ =!= ,3h^f =!=,«:%´Eª&$¡[7ÅìØ, .$’’’åà,Q"C =!= ,"öH5ì"M,dW9‘: O$ !"$ #$#$%&’()* !""#$%)!’’’!$(((&"’()*"+,-. AEEE9"AU¡,:8/,+>/++1+D-6%´0m,]ö =!=PQÉ| H/&4()*"y · 9 d ¸ F""" ¹ í ¢ ] É$H/&4()* $ ´ 0 O =!= P Q’’’$YE =!=Z²%857*13=!=/*#81()#(’*)&)£2,O@"¼Ûm%)¤ 6=!=×¥,NZ"f36=!=N+,t$wcª¨"H/&4()*P¦p§Ö7 82Qߨ"¨0&©ªwA"yä6«¯9,߬®/¨"!""A9ÿ" b¯, H/&4()*)|©°6$ !"""9N±"´0mæ´ =!=PQ C+’()00/%Kz H’00:$V(ݪ"1$´ åO =!=PQ’’’æ´ =!= Z²%’+4(*’#(’*)3=!=/*#81()#(’*)&,O@$Ê ?-±/¨wc"C+’()00/p«²ÝªEÂ߬78!2©°"Ý$ C+’()00/ âO@,æ´#ý°±E =!=Z²,NZ³b):"! C+’()00/åæÐ p0q´ô,æ´ =!=PQ-.$ 7M C+’()00/©K,cd"ª+¨á#z.#vø,÷#,æ´ =!=PQ’’’ >*))+)(Q2"1 0µ’ûwc,C¶)H/&4()*#C+’()00/¡( =!=²³ ,Ã_,yzaÎm|"!>*))+)(,_,${y.+()*+)(,!"#Ô" 0mwfç®#wf·>,<=-±}Ѹ,W$Ê? >*))+)(Ò¹, NZ}Ó,RS"Ýáz«\],cd}‘zCZ,¨áãC¶">*))+)(y +V¼pº2鬮$ C+’()00/7¨wc,236r,æ´=!=,]²³ I/J/K"ÝMËU, C+’()00/wc"I/J/K µk3y"«]ÉwAe+"»#Ó‘N""¹, îy]É"I/J/K P¦,³!¼Á#)¼W!""T9N±"I/J/K É|Ö2 0mÓ‘NBU½ð"¾w¿\zV9, H/&4()*$I/J/K z÷ø, >/4(<*/#- -."6-.$M C+’()00/^Æ,´ô,æ´ =!=-."«)+,4ÜyzÀ j+Ó´µ,%:’&)*H$3)&" !´0mH-6 =!=PQ,´µ½ö% ´µ/yht,3½&$z >/4(<*/#--.,,], I/J/K ,(ÁZ I/J/K@R1()"ª¦ C*$-4()*#1?)48¶$
第1幸P2p网终简尔 eDonkey(电驴)差不多和Gnutella同时出现(2000年),它提供文件分块下 载,从而每个文件可以从其他多个用户并行下载。eDonkey网络结构很像 KaZaA,它采用“服务器”(不同于一般意义上的服务器)作为网络的核心部分,“服 务器”的作用很像KaZaA中的“超结点”,每个用户只需连接到特定的“服务器”来 共享和获取文件。eDonkey从一开始就吸引了很多Internet用户,到今天仍然非 常流行。 2000年8月,著名出版人O'Reilly组织了一次意 义重大的P2P峰会,来帮助人们认识P2P的潜力并消 PEER-TO-PEER 除Napster、.Gnutella造成的“P2P是盗版技术”的负面 影响。参与P2P峰会的既有Napster、Gnutella、 Freenet的开发者,也有那些试图挖掘P2P分布计算能 力的公司和组织如Popular Power、SETI@Home、 Distributed.net等。O'Reilly认为目前P2P的状态类 地a制es的 似于“盲人摸象”,P2P技术的领导者们每个人都看到 heP和werf 了P2P这头“巨象”的一些特征,如果他们能够有机会 Disrtive Technologles 交流思想,P2P将会更快地发展。这次峰会主要有三 个目的:①诠释P2P,说明要从中得到什么;②描述 P2P的作用,P2P能解决什么样的问题;③形成一个提供给大众的关于P2P的信 息,消除那些负面影响。在那次峰会后不久,O'Reilly于2001年出版了日前所知 最早的关于P2P网络的书籍Peer-to-Peer:Harnessing the Power of Disruptive Technologies(见右上小图)。这本书包含了有关P2P的诸多话题:P2P的起源、 Napster.、SETI@Home、Jabber、Gnutella、Freenet、Red Rover、Publius、Free Haven、 元数据、缓存管理、信任机制、声誉、安全性等,它主要的不足是内容陈旧、缺乏 代表性,因为那时对P2P网络的研究实际上还处于萌芽期。 同是2000年8月,Intel公司宣布成立P2P工作组,正式开展P2P的研究。工 作组成立以后,积极与应用开发商合作开发P2P应用平台。2002年Intel发布了. NET基础架构之上的P2 P Accelerator Kit(P2P加速工具包)和P2P安全API软件 包,从而使得利用微软.NET开发软件的人员能够迅速地建立P2P安全Wb应用。 IBM、HP等公司也是Intel成立的P2P工作组中的成员。这两家公司在2000 年9月共同推出了一种开放存储技术,这一存储技术利用了P2P技术,可以方便 地从用户的硬盘向服务器上复制数据。HP公司还把P2P的立足点放在打印技术 上,该公司新推出的网络打印技术可使用户通过P2P网络共享打印机。 2.第二阶段:2001一2003年,步入正统,群雄逐鹿 如果说1999年属于第一代混合式P2P网络的辉煌、2000年属于第二代无结
, ! - " # " #$./ & )M$+-)5%ÂÃ&3wV} C+’()00/cd23%!"""9&"1Yñm|°Ä0 m" ! m m | Ê ª « Æ V m ] É ^ Ì 0 m$)M$+-)5 P Q ´ û ñ I/J/K"1ü]+½¾¿,%wcz0¯¢£,½¾¿&opPQ,#°"+½ ¾¿,,o]ûñ I/J/K ,+Ó´µ,"m]ÉMTUk X,+½¾¿,: {y}Ѹm|$)M$+-)5 0µÅÀ6ûV.+()*+)(]É"kXÆY?> ºbÌ$ !"""9U±"÷ø2§’ PWX)100560𢠣+, =!=Ǹ":ÈÉ’[Õq =!=,t^~ Ê H/&4()*#C+’()00/¶Ð,+=!=$˧RS,,Dn I J$ M =!= Ç ¸ , Ì H/&4()*#C+’()00/# >*))+)(,-Ø"Fò¹ÍÎÏ =!=°±!"h t, Ý ª } / =$&’0/*=$,)*#:Y<.# ;$%)# M14(*17’()3B+)(¶$PWX)1005Õp_Ò =!= ,hO( Áz+Ð’Ñ=,"=!= RS,ÃÄØ[m’ã0k 6=!=¡+N=,,0¹ °"/ÒÆ[hÚ#¸ abNZ"=!= ¥¸gH-f$¡ðǸÃä m_,)! ÓÔ =!="¤. =kÕÖ(" ü =!=,o]"=!=h[\ÕÖó,78($×Ð0mYñ7+Ø,©z =!=,< ="~Êò¹DnIJ$yòðǸ¨wc"PWX)1005z!""A92§6_Òâ ) ,©z =!= P Q , àÙ %&&’()*(%&&’)+,’-&../-0)1&%*2&’*3$/.’45)/6& 7&81-*9*0/&.%eÚÏ&$¡åàÙÛ6© =!=,ÜVÝ8)=!=,# H/&4()*#:Y<.#;$%)#Z/77)*#C+’()00/#>*))+)(#X)3X$6)*#=’701’4#>*));/6)+# Þ¼Á#k>¬C#<#®#wx#z.ö¶"1Ã,w ß$q~ àá#ßâ O@ö"pòd; =!=PQ,hi÷ø,Bzãä^$ c$!"""9U±".+()0ݪå±Ð$=!=èo"ÞEf=!=,hi$è oÐ$ª¨"æGM,]-çYo- =!=,]W$!""!9.+()0-±6B HY<è/, =!=K##)0)*/($*I1(%=!=é{èÌÙ&} =!=z. K=.É| Ù" !\=]êÉBHY<-É|,’ÑhÚÍ{H $=!=z. S)7,]$ .L?#;=¶ÝªF$.+()0Ð$,=!=èo,ÐÑ$¡¯ºÝªy!""" 9E±{cQ260qa>?RS"¡0>?RS]6 =!=RS"ʪDò H ]É,ë¼½¾¿c®¼Á$;=ݪ, =!=,$ßµayuìRS "6ݪrQ2,PQuìRSÊ\]É_‘ =!=PQ{yuì#$ $""/$%)$((!!$((%&"0123"4567 /Ò¤AEEE9Çz´0O$YE =!=PQ,íî#!"""9Çz´åOæ´