基于自组织的P2P技术
扫描二维码
随时随地手机看文章
目前,P2P已经作为一种流行的网络技术被越来越多地应用于互联网的文件共享、分布式计算、资源搜索等领域。P2P技术将各个用户节点互相结合成一个网络,共享其中的带宽,共同处理其中的信息。P2P网络是去中心,自组织和从单纯意义上来说的动态的(网络),并且为传统的服务器-客户端计算模型提供另外一种选择,体现了自组织的组网思想。目前,在学术界、工业界对于P2P没有一个统一的定义,都分别从不同的应用角度描述出P2P的应用特点。P2P的共同点就是它打破了传统的Client/Server(C/S)模式,在网络中的每个结点的地位都是对等的。每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。
P2P网络工作的三个基本步骤包括:找到网络人口,进人网络;找到需要进行交互的对等端,与对等端进行交互。其基本原理与P2P网络拓扑结构有着密切的关系。
P2P组网机制与移动自组网有许多相似之处,如全分布的体系结构、自组织及动态变化的拓扑结构等。
1.无结构化P2P网络
(1)集中式
以Napster为代表,其本质上并非纯粹的P2P系统。Napster通过一个中央索引服务器保存用户所共享的音乐文件索引和存放位置的信息。当用户需要某个音乐文件时,首先与中央索引服务器建立连接并进行相关检索,得到服务器返回的文件所有者信息后,与所有者建立连接进行文件传输。集中式的P2P网络维护简单、检索效率高。但由于整个系统依赖于中心索引服务器,存在单点失效问题。同时,该类系统的可扩展性较差,无法动态适应网络规模的变化,随着网络规模的扩大,对中央索引服务器进行维护和更新的成本也将急剧增加,因而集中式拓扑结构不适合于大型网络应用。
(2)全分布式
以其典型代表Gnutella来说明其原理,Gnutella是一个无中心的纯P2P网,每个结点都随机维护自己本地局部的拓扑连接关系,采用了基于完全随机图的“泛洪”发现和随机转发机制。当需要进行信息查找时,Gnutella系统将发送一个广播消息给周边的结点,询问是否有相关的内容。如果周边结点存在相关的内容,则向查询结点发回查找结果。尽管Gnutella系统的这种基于“洪泛”的查询技术支持语义查询,能有效定位复制率很高的内容,能够适应动态变化的P2P网络环境,但这种查询机制无法定位网络中稀缺的内容,随着查询数目和网络规模的增加,每个节点的负荷也快速增加,使得网络不具有可扩展性。
(3)层次化
层次化的拓扑充分考虑了节点能力的异构性,选择处理、存储、带宽等性能较高的节点作为超级节点,其他节点作为普通节点。每个超级节点管辖一定的普通节点,存储所辖范围内普通节点的文件索引。查询请求只在超级节点之间转发,超级节点负责将这些请求转发给适当的叶节点。混合式拓扑实际上是一个分层拓扑结构,超级节点之间构成一个高速的查询请求转发层,不仅减小了查询时延,又极为有效地减少了洪泛的查询请求流量。
2,结构化P2P网络
以Chord和CAN为典型代表,结构化P2P网络通过分布式Hash表(distributed hash table,DHT)指定节点和内容的标志符。内容被存储到与之有特定关系的节点上。同时,每个节点需维护一个路由表,包括邻居节点的IP地址和标志符。查询请求以逐渐逼近的方式在P2P网络上转发,即转发到离目标标志符距离更近的节点。查询请求提供了高效的P2P路由机制,一般情况下,P2P网络中的内容在0(logN)步内定位,其中N为P2P网络中节点数目。尽管基于DHT的结构化拓扑能有效定位网络中的内容,但在节点状态变化频繁的P2P网络中,难以有效维护这种结构化的拓扑。此外,结构化拓扑采用的精确匹配的查询机制无法支持语义查询,限制了请求者对内容的选择性。
自组网环境下的P2P叠加网在临时会议、无线传感器网等方面有良好的应用前景,但也面临着许多技术上的挑战:
①在MANET中节点动态变化、节点处理能力和电源受限、信道质量较差,这样在MANET环境下P2P网络拓扑变化快,路由变动频繁,连接不稳定,这些都给网络的设计带来了困难。
②P2P属于应用层技术,MANET路由协议属于网络层,但两者是不同领域产生的技术,两层之间缺乏协作和沟通机制,若直接将P2P应用于MANET,会产生大量的传输冗余,造成网络性能的下降。
经过近几年的大量研究,在P2P移动自组织网领域出现了一些新的技术成果,如:D-TAOC提供了一种有效的全分布算法,能够显著的减少传输开销。RBB(rank-based broadcast)提出了创新的算法,用以移动P2P网络中本地资源的搜索。PDSR(peer computlng based dynamic source routing)改良了目前自组织网中使用的DSR协议,提出了革新的P2P移动自组织网络由协议。Divalia是一种新的MANET环境下P2P文件交换的构架,支持匿名传送文件、保护使用者隐私和减少了带宽浪费。