P2P软件的实现系统设计 毕业论文.doc
《P2P软件的实现系统设计 毕业论文.doc》由会员分享,可在线阅读,更多相关《P2P软件的实现系统设计 毕业论文.doc(90页珍藏版)》请在三一文库上搜索。
1、、 摘要Peer-to-Peer网络毫无疑问是当今的热点技术主题。Napster和Gnutella的广泛使用证明了peer-to-peer应用的强大潜力。P2P(或者说peer-to-peer)网络是一种基于操作上下文的网络模型,任何一个节点都同时作为客户机和服务器。JXTA致力于为P2P应用提供一个P2P平台基础。其中包括一系列独立于语言,平台和网络技术之外的协议。这些协议解决了P2P应用的基本需求。协议的设计目标是简单并且低成本。本论文设计探讨了P2P网络的结构和JXTA的基本知识,并利用JXTA开发出一个组内聊天和共享文件的软件。关键词: P2P,Peer,PeerGroup,Adver
2、tisment,XML,JXTA,CMSABSTRACTPeer-to-Peer (P2P) network is a hot topic in technology in recent years. The wide use of Napster and Gnutella demonstrated the powerful potential in application of P2P. The P2P network is a model of network which based on the environment of operation, and each node can wo
3、rk as client and serve at the same time. JXTA offers a basic platform for the application of P2P. And it includes a series of treaties which independence from languages, platform and technique of network. These treaties can meet the basic requirement of the application of P2P。The aim of these treati
4、es is compact and the cost must be low. This article has discussed the structure of P2P network and the basic knowledge of JXTA, and developed a software for chat and share documents in a group from JXTA technique.Key words: P2P,Peer,PeerGroup,Advertisment,XML,JXTA,CMS目 录第一章 绪论-11.1 P2P发展简史-11.2 P2P
5、应用程序的用武之地 -41.3 P2P技术的动力 -5第二章 P2P体系结构-62.1 P2P网络-72.2 P2P如何形成动态网络-92.3 节点自制-142.4 支持混合模型-15第三章 JXTA技术-203.1 JXTA是什么-203.2 JXTA的概念-223.2.1 Peer(对等机)-223.2.2 Peer Group(对等组)-233.2.3 Endpoint(端点)-233.2.4 Pipe(管道)-243.2.5 Advertisement(广告)-253.2.6 Message(消息)-263.2.7 Rendezvous Peer(集合点)-263.2.8 Router
6、 Peer(路由Peer)-283.29 Gateway Peer(网关Peer)-283.3 用于通信的Peer-293.3.1 防火墙-293.3.2 NAT(网络地址转换)-293.3.3 代理服务器-303.3.4 DHCP(动态IP分配)-303.3.5 网络的不稳定-313.3.6 网关问题-313.4 Peer和对等组-323.4.1 Peer和用户的关系-323.4.2 对等组的必要性-323.4.3 JXTA应用程序与对等组-343.4.4 对等组的成员资格-343.4.5 对等组的服务-353.5 广告(Advertisement)-373.5.1 广告的类型-373.5.
7、2 模块(Module)广告-413.5.3 管道广告-513.5.4 端点路由消息-523.5.5 消息(Message)-533.6 JXTA Content Manage Service(CMS)- -543.6.1 CMS概述-543.6.2 CMS简单搜索-55第四章 P2P软件设计-564.1 需求分析-564.2 类设计-564.3 程序运行效果-65第五章 结论-67参考文献-68致谢-69附件-70第一章 绪论最近,P2P(Peer-to-Peer)又成为了因特网上的一个热点。P2P是因特网的一种应用模式,其意思是指网络上的任何设备(包括大型机、PC机、PDA、手机、机顶盒等
8、等)都可以平等地直接进行连接并进行协作。相比当前因特网上主流的应用模式Client/Server或者Client/Service而言,P2P具有自己鲜明的特点和优势。P2P是peer-to-peer的缩写,peer在英语里有(地位、能力等)同等者、同事和伙伴等意义。这样一来,P2P也就可以理解为伙伴对伙伴的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样
9、连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、实现非中心化,并把权力交还给用户。1.1 P2P发展简史P2P并不是一个新的概念,早在1969年因特网的前身ARPANET刚出现的时候,网络的应用模式就是P2P,ARPANET的最初目的是在全美国范围内共享计算机资源,其所面临的挑战是如何集成当时各种不同的网络,使之成为一个通用的网络,并且使得各个主机成为网络上平等的成员。ARPANET是以一种平等的计算Peer的方式把这些计算机系统连接起来,而不是用Master/Slave或者是Client/Server的方式连接。早期的因特网比现在的因特网更加开放和自由,
10、例如在20世纪80年代之前,人们从未听说过防火墙的概念。就通常意义而言,当时的网络上任意两台计算机都可以给对方发送网络包,网络就是人们进行协同研究工作的场所,不需要提防任何东西。后来因特网上出现了FTP和Telnet这样的比较受欢迎的应用程序。虽然它们单个的应用程序都是Client/Server方式的,但是整体上的使用模式却是对称的。网络上的每台主机都可以FTP或者Telnet到其他主机上,同时自己也可充当服务器。DNS是另一个仍在使用的P2P的经典例子,DNS的作用就是把因特网的域名和IP地址进行映射,最早的时候这个映射是保存在一个大文件中的,并在因特网上进行复制。随着因特网规模的增大,必须
11、采用一种方式来进行域名数据的共享。DNS提供了一种实现文件共享的解决方案,采用了层次性的信息归属办法,即我们通常所说的域名层次。DNS之间可以相互交换域名信息,这个时候,每个DNS也可能是服务器(接收其他DNS的请求),也可以是客户端(向其他DNS发出请求)。从1995年开始,随着PC机的广泛使用并接入因特网,成千上万的人挤到因特网上,他们使用因特网的方式是发送电子邮件、浏览网页并在网上购物,这些现象已经长远地影响到了网络架构的发展,也直接影响了P2P应用程序的发展。这种变化改变了人们使用网络的方式,出现了许多新的情况,例如网上协作的崩溃、防火墙的大量使用,产生了许多非对称的网络连接方式,比如
12、说ADSL和Cable Modem。20世界90年代末期,因特网发展的另一个趋势也对P2P应用程序带来新的挑战,那就是非对称网络连接的发展。网络供应商为了得到更高的效率而决定提供非对称的带宽,往往是下行带宽非常大而上行带宽非常小,ADSL和Cable Modem的下行/上行带宽往往相差38倍。这种用法的根源在于Web是因特网的主要应用,绝大部分用户仅仅是Web的客户机,而不是服务器。即使有部分用户想发布自己的网页也不会通过家庭宽带连接的方式来实现,而是通过第三方提供的专用服务器来发布。现在的问题在于P2P应用程序正在改变原有的假设:网络用户仅仅想从因特网下载东西,而不会上载信息。Napster
13、和Gnutella等文件共享应用程序颠倒了带宽的使用方式,使得计算机提供的文件比它下载的文件还要多,要求的上行带宽要比下行带宽大。但是现有的网络架构并不能很好地满足要求,而且更糟糕的是,由于TCP协议对速度的控制,一旦上行通路被堵塞,下行通路也会受影响,所以如果某台计算机正在通过慢速的上行通路给其它计算机提供文件服务的话,那它就不可能同时在快速的下行通路上下载文件。因此P2P应用程序在非对称带宽的网络并不能够很好地运行,一旦P2P程序广泛流传,网络基础架构就应该变得易于处理这种新的网络流量模式。从2000年开始,一个能够在网上进行音乐文件共享的名为Napster的P2P程序在网上广泛流行,吸引
14、了广大网上乐迷的注意力,短时间内就吸引了成千上万的用户,原因在于用户可以下载MP3音乐文件。Napster应用模式与通过FTP下载文件不同,FTP是把所有的文件都集中到服务器上,所有的拥护都到该服务器上下载文件,其缺点是当用户连线众多时会造成服务器工作繁忙、带宽拥挤、下载速度变慢,而且所共享的文件仅仅限于服务器上的文件;而Napster上所有的共享MP3文件都是由用户提供的,种类繁多,而且所有的文件都保存在用户的计算机上,Napster提供了一个服务器来保存所有用户提供的MP3文件的目录以及其计算机的地址,当某个用户需要下载MP3文件时,他通过服务器查询到所需要的MP3文件所在的计算机地址的列
15、表,由于同一个MP3文件在许多不同的计算机上都有副本,该用户只需要从任意一台计算机上下载就可以了。这种用户之间通过P2P的访问来进行文件共享的方式有许多优点,首先是不会有带宽问题,因为大量的文件数据都是通过用户之间的计算机来进行交换的,不存在集中的服务器的带宽拥挤问题;其次是共享的文件内容是无穷无尽的,因为每个用户都可以在自己的计算机上共享个人MP3音乐文件,非常方便,不需要把文件上载到FTP服务器上;再次是不需要一个庞大的服务器,充分利用了资源。因为一般的FTP服务器都需要有很大的硬盘来保存共享的文件,而Napster利用的是用户计算机上闲散的存储资源。Napster也有服务器,但是其巧妙之
16、处在于服务器上只保存共享文件的地址信息,所占用的存储资源相对很少,而把占据大量存储资源的MP3文件保存在用户的计算机上;另一个巧妙之处在于文件的交换是P2P方式的,不需要通过服务器尽心,解决了带宽拥挤的问题。但是,非常不幸的是,由于Napster共享的是MP3音乐文件,虽然其初衷是让音乐发烧友们交换合法的MP3音乐文件,可是这种行为最终触及了音乐唱片公司的利益,世界各大音乐唱片公司联合把Napster告上了法庭,而且由于Napster提供的服务上共享了MP3音乐文件的目录信息,此种情况作为重要论据使Napster在法庭上处于不利地位,导致最后的败诉。终于,风靡一时的Napster就此退出历史舞
17、台,但是其巧妙的P2P应用模式和短时间内急剧增长的用户数量还是给人们留下了深刻的印象,为后续的P2P文件共享应用奠定了基础。与此同时,QICQ和QQ等国内外即时聊天应用也迅速在国内流行起来,个人拥有一个QQ帐户就相当于拥有一个手机号码一样,只要用户在自己的计算机上安装了QQ的客户端软件并进行登陆,就可以与因特网上任何一位安装有QQ客户端软件的拥护进行文字聊天。实际上QQ的实现机制与Napster系统非常类似,用户通过客户端软件把自己的帐号和计算机地址登记到服务器上,并通过服务器查找其他在线的用户帐号和地址,然后直接进行聊天。可以说,即时聊天是一种非常典型的P2P应用,而且在现实中也取得很大的成
18、功,受到全世界许多用户的欢迎。由于文件共享和即时聊天等P2P应用程序的成功,越来越多的程序员在因特网上开发他们的P2P程序,越来越多的用户在使用P2P应用程序。1.2 P2P应用程序的用武之地现在,让我们来考虑一下今天的桌面计算机用户希望使用哪些不同类型的应用程序。除了Web浏览和办公软件外,桌面计算机用户还希望计算机能提供如下功能: 管理和共享信息:这些信息包括用户希望与商业伙伴、朋友和同事共享的所有文件、文档、图片、音频、视频和电影等。通过信息收集和编排功能,更先进的共享机智机制能使一台计算机扮演通用任务管理器的角色比如,G就是分布式任务管理器系统的一个例子,而Gnutella是个人P2P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- P2P软件的实现系统设计 毕业论文 P2P 软件 实现 系统 设计
链接地址:https://www.31doc.com/p-3902962.html