您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > P2P_introduction
CollegeofSoftware,NKU1ComputerNetworkingCollegeofSoftware,NKUP2P应用CollegeofSoftware,NKU3P2PvsC/SClient-Server架构应用:网页HTTP、电子邮件SMTP、DNS全部依赖于永远开启的基础架构服务器P2P架构应用:文件分发、组织并搜索信息、p2p网络电话极少数依赖于永远开启的基础架构服务器CollegeofSoftware,NKUP2P系统UsethevastresourcesofmachinesattheedgeoftheInternettobuildanetworkthatallowsresourcesharingwithoutanycentralauthority.Morethanasystemforsharingpiratedmusic/moviesCollegeofSoftware,NKU覆盖网络(OverlayNetwork)AP2Pnetworkisanoverlaynetwork.EachlinkbetweenpeersconsistsofoneormoreIPlinks.CollegeofSoftware,NKU覆盖网络属于应用层设计可以高度灵活拓扑与维护消息类型协议TCP或者UDP选择对开发者而言,底层物理网络是透明的CollegeofSoftware,NKU7覆盖网络(OverlayNetwork)设对等方X和Y之间有一个TCP连接,则称他们之间有一条边(edge)所有活跃的对等方和边定义了覆盖网络边(edge):虚拟(不是实体)的连接一个对等方通常只于小于10个的覆盖邻居连接覆盖网络可达上万个节点CollegeofSoftware,NKU在非结构化P2P网络中,覆盖连接随意建立。当一个新的对等方要加入网络时,只需要复制一个其他节点的已有连接,就可以形成自己的连接。在非结构化P2P网络中,如果某个对等方要查询网络中某个期望的数据片段,查询将以洪泛的形式扩散到整个网络中,尽可能多地找到共享该数据的对等方。如Napster,Gnutella、KaZaA结构化的P2P网络维护一个DistributedHashTable(DHT),网络中的每个对等方保存一个特定部分的数据。该类型网络为网络中的每个数据和每个对等方分配数值,利用一个全局协议确定对等方维护哪部分数据。因此,当对等方需要搜索数据时,使用全局协义判断出哪些对等方保存这些数据,直接向这些对等方发送搜索请求。结构化P2Pvs非结构化P2PCollegeofSoftware,NKUP2P应用P2P文件共享Napster,Gnutella,Kazaa,eDonkey,BitTorrentChord,CAN,Pastry/Tapestry,KademliaP2P通信MSN,Skype,SocialNetworkingAppsP2P分布式计算Seti@homeCollegeofSoftware,NKU10P2P文件分发:范例Alice在其笔记本电脑上执行P2P用户端程序间歇地连接到Internet,每次连接都使用一个新的IP地址查找“HeyJude”用户端程序会显示拥有“HeyJude”文件的对等方Alice选择其中一个对等方:Bob文件从Bob的电脑复制到Alice的电脑:HTTP当Alice下载的同时,Alice可以上传给其他的对等方server端Alice同时是Webclient端和暂时的Web所有的对等方都是server高扩充性!CollegeofSoftware,NKUP2P的创新高度的可扩展性自治理念:不存在单点故障DoS(DenialofService)的弹性恢复负载分配抵抗审查CollegeofSoftware,NKU关键问题网络管理HowtomaintaintheP2PsystemunderhighrateefficientlyApplicationreliabilityisdifficulttoguarantee查找Howtofindouttheappropriatecontent/resourcethatauserwants吞吐量Contentdistribution/disseminationapplicationsHowtocopycontentfast,efficiently,reliablyCollegeofSoftware,NKU13P2P:资源定位方法集中时索引(centralizedindex)Napster查询洪泛(queryflooding)Gnutella层次覆盖设计(hierarchicaloverlaydesign)KaZaACollegeofSoftware,NKU14集中式索引1)当对等方连接时,会通知中央服务器(群)IP地址文件内容与名称2)Alice查询“HeyJude”中央服务器告诉Alice,对等方Bob有她需要的文件3)Alice向Bob请求文件(filetransfer)得到该文件副本后,将更新Alice的索引表示Alice有此文件的副本集中式索引服务器对等方AliceBob111123CollegeofSoftware,NKUNapster:PublishIhaveX,Y,andZ!Publishinsert(X,123.2.21.23)...123.2.21.23CollegeofSoftware,NKUNapster:SearchWhereisfileA?QueryReplysearch(A)--123.2.0.18Fetch123.2.0.18CollegeofSoftware,NKU17集中式索引的问题集中式索引的架构P2P与client-Server的混合架构问题单点故障性能瓶颈与基础架构的成本侵犯版权:诉讼目标非常明确唱片业者影视公司文件传输是非集中式的,但内容搜索是高度集中式的CollegeofSoftware,NKU2:應用層18查询洪泛(queryflooding)完全分布式非集中式服务器索引分散到整个对等方群体中每个对等方只对其提供的共享文件建立索引不对其他文件建立索引协议公开由众多的Gnutella用户端实现协议CollegeofSoftware,NKU19queryflooding经过已存在的TCP连接传送查询消息对等方将查询扩散出去,直到查询命中QueryHit由相反的路径传回Gnutella:协议查询查询命中查询查询命中文件传输:HTTP解决方案:受限的查询洪泛(limitedscopequeryflooding)问题:查询洪泛造成大量的查询流量CollegeofSoftware,NKUIhavefileA.IhavefileA.Gnutella:SearchWhereisfileA?QueryReplyCollegeofSoftware,NKU21Gnutella:对等方的加入1.加入的对等方Alice必须找到Gnutella网络上的一些其他对等点:使用候选对等方列表引到跨接问题(bootstrapproblem)2.Alice连续尝试与列表中的对等方建立TCP连线,直到与某个对等方Bob建立连接3.洪泛:Alice传送Ping消息给Bob;Bob将Ping消息转发给它在覆盖网络中的所有邻居节点所有收到Ping消息的对等方会回传Pong消息4.Alice收到许多Pong消息。现在Alice可以与其他对等方建立TCP连接CollegeofSoftware,NKU查询洪泛:讨论优点peershavesimilarresponsibilities:nogroupleadershighlydecentralizednopeermaintainsdirectoryinfo缺点excessivequerytrafficqueryradius:maynothavecontentwhenpresentbootstrapnodemaintenanceofoverlaynetworkCollegeofSoftware,NKU23层次覆盖(hierarchicaloverlay)结合了集中式索引和查询洪泛的优点每个对等方为一个组群领导节点(超级节点)或者被指定给一个组群领导节点(子节点)超级对等方:高频宽、高可用度的节点在对等方以及它的超级对等方之间有一个TCP连线超级节点记录该子节点的IP与内容在超级节点之间有TCP连线超级节点会跟踪它的子节点的内容实际应用FastTrack、KazaaTCP連線TCP連線TCP連線GroupleadernodeCollegeofSoftware,NKUKaZaA:层次网络“SuperNodes”CollegeofSoftware,NKUKaZaA:FileInsertIhaveX!Publishinsert(X,123.2.21.23)...123.2.21.23CollegeofSoftware,NKUKaZaA:FileSearchWhereisfileA?Querysearch(A)--123.2.0.18search(A)--123.2.22.50Replies123.2.0.18123.2.22.50CollegeofSoftware,NKU27比较:C/S与P2P架构问题:文件分发时间是多少?从最初的一个server到N个其他电脑,N个对等方全部接收到一份拷贝的时间usu2d1d2u1uNdN服务器Internet文件Fus:服务器的上传带宽ui:第i个用户端的上传带宽di:第i个用户端的下载带宽CollegeofSoftware,NKU28client-server:文件发布时间dcsusu2d1d2u1uNdNserverInternetF服务器连续发送N个拷贝:NF/us时间i个用户端下载取得F/di的时间N成线性增加(很大的N)=dcs=max{NF/us,F/min(di)}i发布时间F到N个使用的用户端用户端/服务器端的应用fileFCollegeofSoftware,NKU29P2P文件发布时间dp2p服务器必须发送一个拷贝:F/us时间第i个用户端下载取得拷贝的时间:F/di总计必须下载NFbits可能的最快上传速率(即所有的节点发送大量的文件到相同的节点):us+Suii=1,NdP2P=max{F/us,F/min(di),NF/(us+Sui)}ii=1,Nusu2d1d2u1uNdNserverInternetF系统总上载速率=服务器us+各个对等方的上传速率uiCollegeofSoftware,NKU2:應用層3000.511.522.533.505101520253035NMinimumDistributionTimeP2PClient-ServerClient-server与P2P比较CollegeofSoftware,NKU31案例分析:BitTorrent追踪器(tracker):每个torrent都有一个基础架构节点记录参与torrent的所有对等方的行踪洪流(torrent):所有参与发布某文件的对等方的总称向tracker注册,取得对等方列表对换块P2P文件发布AliceCollegeofSoftware,NKU32BitTorrent(1)文件的片段为256kb对等方刚加入torrent:没有任何文件片段,但随着时间流逝会累积许多片段向tracker注册自己并取得对等方列表,连接这些子对等方(”邻近对等点”)当下载资源片段时,同时上传片段给其他的对等方对等方也许进入或者离开某个对等方取完文件后,可能会(自私)离开或者(无私)留在torrent中对等方的相邻节点会随时变化!AliceTrackerCollegeofSoftware,NKU33BitTorrent(
本文标题:P2P_introduction
链接地址:https://www.777doc.com/doc-2848478 .html