您好,欢迎访问三七文档
P2P技术基础概述MAINCONTENT一.P2P基本概念二.P2P原理分析三.P2P技术应用四.P2P的局限性P2P基本概念P2P网络定义P2P发展历史P2P的特点SCCCCPPP集中计算方式,信息和数据保存在服务器端;服务器及网络带宽决定了网络性能;用URL表示信息资源的地址,很少能直接体现定位的信息的内容。每一个对等节点地位相同,既可请求服务也可提供服务,还可具备路由和高速缓冲功能,从而弱化甚至取消了服务器;每一个对等节点可以充分利用网络上其他节点的信息资源、高速缓存和磁盘空间;P2P是基于内容的寻址方式。(一)P2P网络定义SCCCCPPPP2P网络是一种分布式网络,网络的参与者即对等节点共享他们所拥有的一部分硬件资源(如处理能力、存储能力、网络连接能力、打印机等)能被其他节点直接访问而无需经过中间实体。对等节点既是资源提供者,又是资源获取者。(一)P2P网络定义1969从ARPANET时代到出现之前,这个阶段是以P2P为主、C/S为辅,互联网主要用于科研1994随着的广泛应用,以构架应用发展迅速,在互联网占据统治地位,P2P技术应用发展缓慢1998Napster的出现成为再度流行的标志,P2P应用在文件共享、即时通信、流媒体、共享存储等方面迎来春天,极大改善整个IT界的面貌(二)P2P发展历史123可扩展性健壮性高性能、性价比分布式网络,不存在单点性能上的瓶颈,随着用户增加,需求和资源服务能力同步增加,理论上可拓展性是无限的由于服务分布在各个节点之间进行,部分节点或网络遭受破坏对其他部分的影响很小,通常以自组织形式建立连接,部分节点失效后能够自动调整整体拓扑可有效利用互联网中散布的大量普通用户节点的空闲资源,不需要部署服务器或需要的服务器很少,P2P网络可将计算任务或数据分布到所有用户节点上,利用闲置的带宽或计算能力或存储空间,达到高性能计算、海量数据传输的目的(三)P2P的特点24365流量均衡私密性自组织、低成本P2P网络环境下,硬件资源和数据内容分布在多个节点,而P2P节点可以分布在网络的各个角落,很好地实现整个网络的负载均衡。信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄露的可能性大大缩小。P2P网络环境下,一般没有中心管理者,普通用户也缺乏高级的计算机知识,因此P2P网络采用了自动计算技术,大大降低了人为干预的需要,同时降低了系统的部署维护成本,降低了出现人为配置错误的可能性。(三)P2P的特点总结P2P技术产生以及能够发展的原因1.服务器存储空间、处理速度、网络带宽受限,承担任务过重负载不均衡,传统C/S模式遇到系统瓶颈;2.计算机硬件技术的快速发展;3.P2P网络对比传统C/S模式有明显的技术优势,并且兼顾C/S特点,传输处理速度快,安全性高,交互性好,成本较低,只要有一台个人计算机就可以加入P2P网络实际上是把权力交还给了用户;4.用户想要更快、更安全地查找资源、获取资源,P2P网络刚好满足了用户的需求。P2P原理分析P2P网络模型概述P2P网络中的资源搜索方法结构化P2P系统的算法PPP集中目录式P2P网络模型是最早出现的P2P应用模式,采用中央目录服务器管理P2P网络各节点,仍然具有中心化特点,不同于传统C/S模式,中央目录服务器只保留索引信息,服务器与对等节点以及对等节点之间都具有交互能力。1.集中目录式P2P网络中央目录服务器(一)P2P网络模型PPP中央目录服务器1.对等节点向目录服务器发布分享的文件列表;2.查询节点向中心目录服务器发起文件检索请求;3.中央目录服务器回复;4.查询节点根据网络流量和延迟选择合适的节点建立连接,而不必经过中央服务器进行。1.集中目录式P2P网络(一)P2P网络模型PPP中央目录服务器1.星型结构,维护简单,发现效率高,资源的发现依赖中心服务器,发现算法灵活高效并能实现复杂查询;2.可靠性安全性较低,中央目录服务器失效则下面的对等节点全部失效;3.随着网络规模增加,对服务器的维护与更新费用急剧增加;1.集中目录式P2P网络(一)P2P网络模型每个节点同时扮演客户端和服务器的角色,不需要中心服务器的帮助,每一个节点都维护者一个邻居列表,解决了中心化问题,拓展性和容错性较好,进一步可分为非结构化覆盖网络和结构化覆盖网络2.纯P2P网络模型PPP(一)P2P网络模型查询节点发出请求并广播至相邻节点,若该节点不能满足请求,便以相同方式继续广播为防止搜索环路产生,各节点会记录搜索轨迹,直到收到应答或达到最大步数。2.1纯P2P非结构化网络模型ttl=3ttl=0ttl=0matchstopseenIDttl=2非结构化P2P泛洪算法start(一)P2P网络模型m1m2m3m5m4BCDEAE?E?E?E?EGnutella工作原理(一)P2P网络模型2.2纯P2P结构化网络由于非结构化网络模型中,采用广播请求模式的随机搜索会造成网络的不可扩展性,目前大量的研究工作都集中在如何构造一个高度结构化的网络模型来解决有效地查找信息上,所以产生了纯P2P结构化网络模型。结构化P2P网络模型是一种采用纯分布式的消息传递机制和根据关键字进行查找的定位服务,目前的主流方法是采用分布式散列表(DHT)技术。(一)P2P网络模型吸取集中目录式网络模型和纯P2P网络模型的优点,按节点能力不同区分为超级节点和普通节点。资源共享方面,所有节点地位相同,区别在于超级节点上存储了系统中其他部分节点的信息,发现算法仅在超级节点之间转发。3.分层式P2P网络模型分层式P2P结构(一)P2P网络模型分层式网络中,一个或几个超级节点与其临近的若干普通节点之间构成一个自治的簇,根据规模不同,各簇采用不同的查询机制,簇与簇之间通过纯P2P的模式将超级节点连接起来进行消息查询。3.分层式P2P网络模型分层式P2P结构(一)P2P网络模型集中目录式全分布式分层式非结构化结构化可扩展性差差好中可靠性差好好中可维护性最好最好好中发现算法效率最高中高中复杂查询支持支持不支持支持适合网络小型大型大型超大型网络模型比较标准三种P2P网络模型性能比较(一)P2P网络模型资源搜索算法盲目搜索启发智能搜索泛洪搜索算法迭代泛洪算法随机漫步搜索区域索引法启发式泛洪移动代理法高速缓存法(二)P2P网络中的资源搜索方法非结构化P2P网络结构化P2P网络分布式散列表(DHT)又称分布式哈希表(DistributedHashTable),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。整个系统的重点是如何有效地查找信息。(三)结构化P2P网络的算法key,value文件名(或文件的其他描述信息)的哈希值存储文件节点IP地址(或节点的其他描述信息)哈希值文件索引的表述方法(三)结构化P2P网络的算法高度随机,全局唯一性Chord算法N1seenIDN14N21K10K24K30K38K54Chord通过把Node和Key映射到相同的空间而保证一致性哈希,Chord选择SHA-1作为哈希函数,并产生一个2160的空间,每项为一个16字节(160bit)的大整数。我们可以认为这些整数首尾相连形成一个Chord环。整数在环上按大小顺时针排列,Node(机器的IP地址和Port)与Key(资源标识)都被哈希到Chord环上,这样我们就假定了整个P2P网络的状态为一个虚拟的环,因此我们说Chord是结构化的P2P网络。(三)结构化P2P网络的算法N51N48N42N38N32N56N8节点随机分布Chord算法N1seenIDN14N21K10K24K30K38K54(三)结构化P2P网络的算法下面有几个定义:我们称Chord环上的每个节点为标识符;如果某个Node映射到了某个标识符,则继续称该标识符为Node;按顺时针,节点前面的成为前继(predecessor),节点后面的成为后继(successor);同理,第一个predecessor称之为直接前继,第一个successor称之为直接后继;N51N48N42N38N32N56N8Chord算法N1seenIDN14N21K10K24K30K38K54(三)结构化P2P网络的算法每个节点都维护一个Finger表,该表长度为m,该表的第i项存放节点n的第(n+2i-1)mod2m个后继节点(1=i=m);每个节点维护一个前继和后继列表,作用是能快速定位前继和后继,并周期性检测健康状态;资源Key存储在下面的Node上:沿Chord环,hash(Node)=hash(key)的第一个Node,我们称这个Node为这个Key的后继;N51N48N42N38N32N56N8Chord算法N1seenIDN8N14N21N32N38N48N51N56(三)结构化P2P网络的算法假设这是一个m=6的环,其中有10个节点,5个资源,K10的后继节点为N14,也就是说K10被分配给了N14。节点N8想要寻找K54这个资源。K54N42每个节点N上都维护了最多有m=6项的路由表(称为fingertable)用来定位资源。这个表的第i项是该节点的后继节位置,至少包含到2^(i-1)后的位置。K10K24K30K38N1N8N14N21N32N38N48N51N56(三)结构化P2P网络的算法K54N42+32+16+8+4+2+1开始标识符节点N14N14N14N21N32N42N8+20N8+21N8+22N8+23N8+24N8+25节点N8的路由表每个节点只包含全网中一小部分节点的信息各节点对于临近节点负责的位置知道的更多N1seenIDN8N14N21N32N38N48N51N56(三)结构化P2P网络的算法K54N42先判断其后继节点是否持有资源,若没有则直接从路由表最远处开始查找开始标识符节点N48N48N48N51N1N14N42+20N42+21N42+22N42+23N42+24N42+25开始标识符节点N14N14N14N21N32N42N8+20N8+21N8+22N8+23N8+24N8+25节点N8的路由表节点N42的路由表由远及近查找,发现N42+8--N51满足51є(42;54],则说明N51离持有K54这个资源的节点最近,那么此时跳到N51这个节点上继续查找。N51节点的后继节点为N56,符合54є(51;56],此时定位完成,N56持有资源节点K54。P2P技术应用P2P网络中的典型NAT穿越技术P2P网络中的内容分发技术NAT(NetworkAddressTranslation)技术在缓解IPV4地址紧缺问题、构建防火墙、保证网络安全方面都发挥了重要作用。却给Internet上的主机,特别是处于不同内网中的主机进行P2P通信带来了障碍,限制了P2P的应用192.168.1.3192.168.1.2内部网络网关192.168.1.1210.32.166.1公网地址(一)P2P网络中的典型NAT穿越技术NAT(NetworkAddressTranslation)技术在缓解IPV4地址紧缺问题、构建防火墙、保证网络安全方面都发挥了重要作用。却给Internet上的主机,特别是处于不同内网中的主机进行P2P通信带来了障碍,限制了P2P的应用192.168.1.3192.168.1.2内部网络网关192.168.1.1210.32.166.1公网地址(一)P2P网络中的典型NAT穿越技术中转方式是最简单的,也是比较可靠的NAT穿越方法,它将P2P通信简单地转换为C/S通信模式,只要客户单能够连接到服务器,中转就可以工作,但是消耗了服务器的处理能力和网络带宽,多了中转环节,因而效率最低。1.中转方式(一)P2P网络中的典型NAT穿越技术反向连接只适用于仅有一个主机在NAT后面,另外的主机拥有合法公网IP地址的情况。2.反向连接(一)P2P网络中的典型NAT穿越技术Server
本文标题:P2P技术基础概述
链接地址:https://www.777doc.com/doc-7124452 .html