P2P技术在互联网中的应用和分析
P2P (Peer—to—Peer)又称为对等网,是近几年非常流行的一种网络技术,和传统的客户机/服务器模式不同,P2P技术依赖网络中所有参与者的处理能力和信息共享,它改变了人们部署网络硬件资源的方式,为网络的发展提供了一种新的思路。P2P技术具有良好的扩展性和健壮性,性价比较高,P2P网络是建立的基础是IP网络,网络中所有安装特定软件的客户端构成一个逻辑P2P网络,网络中的资源和应用分布在所有客户端上,各用户之间的数据传输无需服务器的介入就能够直接通信,通过这样的方式,大量的客户资源能够充分得到利用,降低硬件成本和,简化了复杂性。
P2P网络的结构主要有三种模式:中央式P2P网络、无中心结构P2P网络和混合式P2P网络。
2.1 中央式P2P
中央式P2P网络在硬件部署上有一个中心服务器,主要负责维护共享资源信息以及对客户端查询信息作出回应。根据中心服务器提供的功能,又可分为以下三类:
服务器提供资源的发现,查询和存储。这种模式与传统的C/S模型中一样,所有资源都存放在服务器上,客户端从服务器上获取信息,但客户端之间并不具有信息交换能力。服务器提供发现和查询。在这种结构中,客户端存储共享资源信息,服务器则提供索引信息,服务器与客户端、客户端与客户端都可以进行数据信息交互。服务器仅提供发现功能。在这种方式下,服务器仅提供在客户端的列表信息,客户端彼此之间建立连接和通信。如果某个用户需要获取某个资料文件,会根据服务器提供的列表清单,依次查询所有的客户端,直到找到所需的资源,如果没有找到,则返回错误信息。
2.2 无中心控制P2P网络
无中心控制P2P网络又称为分布式P2P网络。在中央式结构模式的P2P模式下,网络的稳定性主要取决于中心服务器的性能,一旦中心服务器出现故障,可能导致整个网络性能急剧下降。而无中心控制P2P网络不需要中心服务器,每一个Peer地位是完全平等的。无中心控制的P2P网络又可以分为两类:f11非结构化网络。这种方式可以克服对服务器的依赖,配置较为简单。但由于拓扑不确定,无法保证查找的准确性从而漏掉网络中的某些资源。(2)结构化的P2P网络。这种方式利用高度结构化实现信息进行资源查询。比较典型的有Bloom Filter以及其改进算法、分布式哈希表DHT算法。
2.3 混合式P2P模式
混合式P2P网络结合了上述两种方式的优点,避免了中心服务器可能带来的影响,同时保留了中心服务器的优势,在网络控制和处理能力上都更有优势。在这种结构下,节点被划分为用户节点、搜索节点和索引节点,突破了纯P2P方式的限制,对环境条件的高度适应性更高,也很好的解决了动态和异构P2P网络应用中出现的不兼容问题。但这种模式增加了复杂性。
目前,P2P网络技术主要服务于文件资源共享、视频直播、分布式计算、信息检索等网络应用中。
3.1 文件资源共享
在校园网或企业内部网中,通过P2P技术可以使两台计算机不需要服务器,直接共享文本、音乐或视频多媒体等文件资源。而在传统方式中,实现文件交换必须将文件上传到特定文件服务器,流媒体服务器上面,用户登陆该服务器后再进行下载,这种方式会造成服务器压力过大,甚至某些用户不能下载。在P2P网络中,用户通过多种查询机制,搜寻网络中拥有所需资源的其他客户端,然后直接建立连接并进行下载。
3.2 分布式计算
英特尔公司把P2P计算定义为“通过系统间的直接交换所达成的计算机资源与信息的共享”,是属于分布式计算的一种方式,它允许用户使用网络集中的处理能力,帮助相关组织处理非常艰巨和庞大且复杂的繁重计算工作,这一点与网格计算和云计算机机制类似,例如将密码破解任务分配到到成千上万个人计算机,用来计算密钥和破译位数很长的密码。
3.3 流媒体直播与点播
由于P2P的工作原理及其传输特性,研究者发现除了文件资源共享之外,P2P技术也非常适合流媒体应用。根据对数据存储和共享方式的不同,P2P流媒体技术可分为视频直播和视频点播两种。在视频直播方式中,用户一边下载流媒体数据,一边将数据直接缓冲到内存进行播放,下载的流媒体数据并不保存在硬盘上,也就是说,共享资源是在内存中。而在视频点播方式下,首先使用某种调度算法将流媒体文件下载到客户机的硬盘上进行存放,在文件下载完毕后进行播放。相比传统的流媒体系统,P2P技术在可以使充分利用网络的信道和带宽,降低成本,同时可以获得清晰的影响画面,提高用户的观看体验。
P2P技术的发展不断地改变着人们的生活,目前虽然P2P应用已较为成熟,但仍然有许多需要解决的问题。例如怎样在技术上支持合法文件的分发,如何在P2P网络中进行数据安全存取、用户身份认证和身份管理都需要进一步研究,此外如何控制P2P应用带来的庞大流量对网络本身的影响,同时利用P2P技术提高网络性能值得技术人员进一步进行探索和研究