P2P应用、原理及发展的初探分享会LeeShine2011-10-27内容提纲•一、P2P概述•1.1什么是P2P•1.2P2P特点•1.3P2P产品•二、P2P实现原理•2.1P2P的资源定位•2.2P2P的网络连接•2.3P2P的数据传输处理•三、P2P的改进和新趋势•3.1P2SP=P2P+P2S•3.2“GoodbyeP2P,P4PisComing”?•3.3云计算时代,P2P的机遇•3.4P2P是一种趋势一、P2P概述1.1P2P概念谐音:“to”--“2”P2P=PeertoPeer1、Peer-to-peerisatypeofInternetnetworkallowingagroupofcomputeruserswiththesamenetworkingprogramtoconnectwitheachotherforthepurposesofdirectlyaccessingfilesfromoneanother'sharddrives.2、Peer-to-peernetworking(P2P)isanapplicationthatrunsonapersonalcomputerandsharesfileswithotherusersacrosstheInternet.P2Pnetworksworkbyconnectingindividualcomputerstogethertosharefilesinsteadofhavingtogothroughacentralserver.3、P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。1.P2P是一种网络形式2.P2P的参与者是个人用户3.P2P目的是通过跑相同网络应用程序实现文件共享1.P2P是分布式的对等网络2.共享是的是资源,不再限于文件了3.直接户型访问,不需中间服务,既是Provider,也是Geter1.P2P网络是应用程序2.P2P主要跑在Internet中的个人电脑上3.P2P网络是通过PC直接互联来共享文件的,区别与传统C/S模式LinuxwinXPP2P的网络构成示意图iMacWin7Win7P2P与C/S的比较1.2P2P的特点分析–-技术优势•非中心化•可扩展性•健壮性•高性价比•隐私保护•负载均衡P2P中,资源与服务分散在所有Peer点上,其传输及处理也都在Peer完成,无须中间环节及中心服务的介入。P2P理论上是扩展无限的。举BT下载通俗说:参与者越多,下载速度越快。服务分散在各Peer,相对C/S架构来说,P2P能自动调整整体拓扑,保证连通性;天生耐攻击,高容错。PC的计算、储存及网络通信能力摩尔定律增长;P2P技术可以充分利用PC的资源;相对C/S架构来说,大大节省服务器成本。P2P中,个人信息分散,而无需某个集中存储;大大减少了信息被窃取及泄露概率。P2P中,每个Peer既是Serv又是Client,相对C/S结构对Server的高度依赖来说,P2P是分布式服务,可实现整网负载均衡一、P2P概述•版权问题国外Napster、Gnutella,国内Verycd、迅雷都遇到这样的问题.•吞噬网络带宽早期Bt应用软件遭到ISP的封堵.•管理困难相对于C/S,P2P:传输内容不易控制,垃圾信息,黄色信息另外,Peer用户用户认证困难•技术标准的定制P2P技术各向发展,开发资源统一合力,标准迟迟未能确定1.2P2P的特点分析—需面临问题及解决之道--解决之道:视频播放应用领域的广告收入买版权的方案.--解决之道:P4P标准--解决之道:管理的P2P应用,如Skype.协同软件--解决之道:Intel的P2P网络分层协议,Sun的jxta谁是技术盟主,期待统一认可的标准.1.3p2p的应用体系目前,其实对于大多数internet上的用户,P2P技术已经渗如我们的生活了大家想想自己平常用那些P2P产品?交友聊天:用“QQ”电影下载:用“BT”“电驴”或者迅雷”看连续剧:用“PPStream”“土豆”在办公室:用RTX等等…文件分享Napster、BT、BC等迅雷、FlashGet等GoogleAppInstall等在线安装lavaGame、多玩等游戏边下边玩流媒体应用PPStream、迅雷看看等视频播放工具优酷、土豆等网站PP加速模块即时通讯(IM)QQ、Skype等IMYY、TeamSpeak语音群聊Ichat、GoBetters、视高等视频会议协同应用软件微软的GrooveNetworks以及SETI@home点击协同之星(Gk-Star)服务共享及云存储苹果Icloud、微软SkyDrive等金山快盘等一、P2P概述第一部分“P2P概述”简单回顾P2P的概念:“PeertoPeer”多台个人电脑(PC)用户以对等身份共享资源(文件、数据、处理能力等)的一种分布式网络应用框架。P2P的特点:非中心化、可扩展性、健壮性、高性价比、隐私保护、负载均衡等等P2P的应用:文件下载、IM、流媒体应用、协同办公、云计算二、P2P的实现原理资源定位网络连接数据传输处理完成P2P需要的三个主要工作:如何实现一个P2P应用呢?二、P2P的实现原理P2P作为高扩展性分布式网络,其核心就是分布式对象的定位机制。P2P网络前后经历了三代不同模型,各模型对应的资源获取算法各有优缺点。其实各种网络结构能够互相共存,相互借鉴。下面逐一进行简单介绍:2.1、P2P的资源定位算法•2.1.1.集中目录式结构集中目录式P2P结构是最早出现的P2P应用模式,因为仍然具有中心化的特点,也被称为非纯粹的P2P结构。典型应用代表:Napster1998-1999年大一学生(ShawnFanning)编写的,用来同学间共享MP3分析:依赖中心服务,存储了共享文件的地址列表.•2.1.2.纯P2P网络模型也被称作广播式的P2P模型.完全取消中心服务,用户随机接入,并于邻居节点成一个逻辑覆盖网络.典型代表:Gnutella.(Gnutella是现在应用最广泛的纯P2P非结构化拓扑结构)其实是一个互相兼容的Gnutella应用群。一个开发网络协议。2005年就超过181台PC加入,用户群很大分析:内容查询及内容共享懂事相邻节点接力传递,单人记录搜索轨迹,防止环路缺点:效率相对Napster效率较低在纯P2P分布式模型基础上引入了超级节点的概念,综合了集中式P2P快速查找和纯P2P去中心化的优势。典型代表:Kazaa2.1.3.混合式网络模型分析:利用了超级节点(独立ip的较好性能的Peer节点)作为提供种子索引服务;另外也有中心索引服务器2.1.4.结构化网络模型结构化P2P模式是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务。目前主流方法:分布式哈希表(DHT)技术。DHT也是目前扩展性最好的P2P路由方式之一。1.DHT各节点并不需要维护整个网络的信息,只在节点中存储其临近的后继节点信息,因此更能精准定位,通过较少的路由信息就可以有效地实现到达目标节点。2.DHT取消了泛洪算法,有效地减少了节点信息的发送数量,从而增强了P2P网络的扩展性。3.DHT着力减少冗余度以及延时;DHT在节点的虚拟标识与关键字最接近的节点上复制备份冗余信息,很好避免了单一节点失效的问题。•NAT=NetworkAddressTranslators(网络地址转换)•互联网囧境:IP资源的有限性.需要Nat设备.•常见的Nat设备:路由器,iptables等NAT设备的理解•1.完全圆锥型•2.地址限制圆锥型•3.端口限制圆锥型•4.对称型四种Nat网络模型•利用网络协议及NAT工作原理,欺骗NAT,达到链接目的(Nat打洞.)•根据网络层协议(tcp或udp),分Tcp穿透和Udp穿透Peer2Peer需要节点间互相连通2.2Nat设备及其穿透下一节二、P2P的实现原理Internt的Peer节点是不能随意链接到Nat设备后的Peer的,有条件.2.2.1Nat网络类型--完全圆锥型返回2.2.2Nat网络类型–地址限制圆锥型返回2.2.3Nat网络类型–端口限制圆锥型返回2.2.4Nat网络类型–对称型返回数据切块传输数据校验数据重组2.3数据处理客户对数据的处理大致流程:P2P中的数据处理是两个Peer相互协调配合完成的“推”的机制“拉”的机制二、P2P的实现原理第二部分“P2P实现原理”简单回顾实现一个P2P应用大致涉及三方面的逻辑:Peer资源的定位:如何知道谁有可共享资源。Peer间建立连接:如何在Internet网络中,特别是透过Nat设备,建立通讯。Peer间的数据传送处理:如何保证数据高效、互补、正确地在对等Peer间传送并组合三、P2P的改进和新趋势•QQ旋风是P2SP技术;•BitComet、迅雷是P2SP;•网际快车是P2SP;采用P2SP模式的产品3.1P2SP=P2P+P2S•下载速度不稳定•种子文件消失,无法完成下载P2P遇到的问题:解决之道:借用传统C/S下载源稳定的优势,保证下载源。此即P2S优化•迅雷是多线程下载,而且不是仅仅一个服务器端下载。迅雷用户请求下载时,保存文件url到动态库中;下载时结合搜索引擎寻找同文件多个镜像,完成服务器分流的作用•当服务器资源少时,用户下载从单服务器和Peer节点同时下载;这样保证用户下载速度的前提下为下载高峰节省带宽和服务器资源,完成为服务器减压。迅雷模式P2SP的一种实现模型示意图:2.1需要下载文件2.6请求文件数据•运营商带宽扩多少,P2P就占用多少;给ISP网络带宽造成非常大的压力。•挤占smtp、http等端口带宽,导致网页浏览、办公传统C/S模式的互联网应用受影响。P2P困境:ISP的强烈抵制!3.2“GoodbyeP2P,P4PisComing”?三、P2P的改进和新趋势•P2P资源定位即“需下载Peer”请求“资源PeerList”时,不对Peer网络中的位置进行区分,“资源Peer”机会均等地返回给用户•ISP运营商,有个广域网的概念;广域网域广域网之间通信,和单一广域网内通信,其带宽差别很大,带宽吃紧。对于大ISP,有大区骨干网的概念,大区内外网也有类似区别。分析原因ProactivenetworkProviderParticipationforP2p(积极参与P2P应用的网络提供商)请看下面的示意图带宽瓶颈示意分析Peer在不同ISP间进行资源交互时遭遇带宽瓶颈示意图:Peer在同ISP不同主干网间的资源交互时遭遇带宽瓶颈的示意图:•Verizon提出P4P,目标:用来降低骨干网的流量,并降低网络运营成本。•相对P2P随机选择共享,P4P是智能选择Peer共享点。P4P利用网络拓扑数据,实现P2P连接中的最佳路由效率。•据Verizon的P4P测试,平均性能提高了200%,某些情况都能到600%•P4P目前在美国已是广泛使用的文件传输议.也是DCIA(分布式计算产业协会)力推的一个新P2P标准。解决之道:----P4P3.2“GoodbyeP2P,P4PisComing”?总结:•1.“P4P不是要取代P2P”,而是优化P2P•2.P4P思路的意义:P2P宜疏导利用,而不是围堵禁止。3.3P2P在云计算时代的应用•云计算的时代–各企业踊跃退出自己的云平台实例:Amazon的AmazonWebServices、Sun的“Hydrazine”、Google的“云”计算、IBM的蓝云计划、微软的WindowsAzure–“P2P将是云计算的未来”当打破单个企业的应用限制,P2P技术能得到更大的发展。•云存储中P2P技术的利用云计算技术与P2P的基础构造很相似。他们都是基于分布式计算,基于其实现的技术也很类似。–云服务中P2P技术