论文部分内容阅读
伴随着计算机网络的迅猛发展和因特网用户的日益增长,目前传统的客户端/服务器网络模式产生了诸如资源利用率低、高服务成本和网络性能降低等诸多方面的的问题。P2P技术以其强大的技术潜力在普通的因特网用户中引起了极大的反响,从而广泛地应用在资源共享、分布式计算、搜索引擎、协同工作和实时通讯等众多领域,尤其是在资源共享领域已经成为非常重要的研究热点。
本文首先简介了P2P技术的国内外研究现状,对目前P2P技术五花八门的定义进行了概念性的总结,分析其技术的特点。如果说P2P技术是一种新技术,还不说P2P是一种新的思想,使网络的交互模式更接近于我们日常生活中的交互模式。总结了当前最主要的四种P2P网络类别:集中式P2P网络、结构化分布式P2P网络、非结构化分布式P2P网络和混合式P2P网络。并指出这四种P2P网络各自目前典型的系统代表,然后对P2P模式和C/S模式进行了详细的比较,指出P2P技术的优点,同时对P2P技术目前存在的问题也进行了总结。
针对目前P2P技术中应用最广泛的BitTorrent(以下简称BT)协议,文章详细分析了BT协议的系统原理、协议原理、服务器原理,BT通过WEB发布种子信息,通过Tracker帮助Peer间进行连接,文章对BT系统的技术框架进行了详细的分析,针对BT系统中的算法,本文详细地介绍了BT算法中的文件块选择策略和节点选择策略。文件块选择策略考虑哪一个文件块优先获得服务,节点选择策略则考虑的是哪一个节点被优先服务。虽然BT系统已经突破了C/S模式,很好地解决了资源共享的问题,但是BT系统仍然面临着众多的问题,文章对这些问题也进行了粗略的总结。
文章对Microsoft公司提供的开发P2P网络的应用开发平台Windows Peer-to-PeerNetworking(以下简称WPPN)作了深入的研究。WPPN平台主要包含以下四个模块:点对点名字解析模块、点对点图模块、点对点组模块和点对点身份管理模块。WPPN平台最大的优点在于,它使得开发者可以集中精力实现他们的想法而不是把精力花费在具体的网络问题上,此平台支持Windows XP With Service Pack1以上所有版本的Windows系统,本文对WPPN平台中的概念、结构、工作机制、工作平台开发接口作了详细的分析,为进一步的系统设计打下基础。
此系统充分结合目前P2P网络中最常见集中式P2P网络和分布式P2P网络两者的优点。即充分发挥服务器的优点,便于对资源种子的统一管理和用户进行搜索和查找,同时在中心服务器出现故障的情况下,系统可以自己建立对等组,并对网络中的其它节点进行搜索,实现资源的共享。论文针对现有P2P资源共享系统中存在的诸如节点的加入、删除、查找、共享资源的加入、删除、资源搜索、NAT穿越、彼此节点之间相互资源传输及系统中的安全等问题,通过对BitTorrent协议的开源代码进行了分析,结合微软公司的WPPN平台,并采用了相应的解决方案,设计了一个资源共享的P2P系统应用框架,对系统中的服务器和客户端的布署问题进行了详细的描述,并对客户端中关键类的设计和主要的核心模块通过C#编程加以部分实现,实现了在P2P网络中Peer的建立、查找、加入和离开以及共享资源的查找、加入、删除和下载等功能,对于网络中NAT的穿透以及安全问题进行了详细的分析和研究并采用了相应的方案加以解决。最后,对该课题进行了简要的总结,并做了展望,指出了进一步研究的方向。