欢迎来到天天文库
浏览记录
ID:32042739
大小:2.33 MB
页数:69页
时间:2019-01-30
《基于对等模型的网络游戏开发.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、武汉理上大学硕士学位论文摘要对等网络技术(Peer-to.Peer,简称P2P)带给了我们诸多的好处,其中之一是加强和改进许多原有的应用。基于客户端/服务器(Client/Server,简称C/S)模型的互联网游戏由于有大量的数据需要游戏服务器处理,故要求游戏服务器拥有强大的计算能力;同时,大量数据需要游戏服务器转发,故对游戏服务器的网络带宽也要求甚高,这难免会引起过高的运营成本。基于P2P模型的互联网游戏将游戏逻辑放在游戏客户端执行,游戏服务器只帮助游戏客户端建立必要的P2P连接,本身很少处理游戏逻辑,这对于降低运营成本有重要的意义。本文给出一种基于P2P的互联网游戏架构实现,可以在该架构
2、之上透明地建立基于P2P的游戏应用。使用该P2P互联网游戏架构,互联网游戏设计开发人员可以避免考虑底层的网络实现及可能的网络通信,安全和性能问题,可以专注手互联网谫戏的上层逻辑设计开发,极大的缩短了项目开发的周期。基于P2P模式的互联网游戏开发中的两个常见问题为:穿透网络地址转换器(NetworkAddressTranslator,简称NAT)问题和实现互联网游戏高实时性问题。由于当前大多数Intemet用户的接入方式都是通过局域网内部的NAT共享上网,所以需要解决P2P应用穿透NAT问题。互联网游戏的实时性要求很高,这种需求导致TCP不是一个很好的候选方案,所以需要实现一个类似TCP的应用
3、层的协议,该协议至少需要满足三种不同级别的需求,即类似UDP的无保证,类似TCP的保证按顺序到达和介于两者之间的保证到达,尤其是第三种需求,对于实时性要求很高的网络游戏开发而言,非常重要。关键词:对等网络,网络地址转换,游戏,架构jjb比赛http://www.huaxiamy.com/武汉理.【大学硕士学位论文第1章绪论互联网系统的计算模式正在发生从客户机/服务器(Client/Server,简称C/S)计算模式到对等计算模式“J【2l(Peer-to.Peer,简称P2P)的转变。在P2P网络中结点的地位是对等的,每个结点既充当服务器,为其他结点提供服务,同时也享用其他结点提供的服务。P
4、2P网络技术的特点体现在以下几个方面:◆结点数量大。很多P2P系统已经达到上百万结点同时在线的规模,这样大的规模导致的一个直接后果是不可能使用全连接的拓扑结构(就是让每个结点记录当前所有的其它结点)。这样一来,如何让结点知道更多其它结点的信息并保证任意两个结点之间能够通信就成为一个棘手的问题。因此,P2P系统中的结点信息收集算法和覆盖网路由协议就成为P2P研究的一个重要方向。◆结点动态性高。对于用户来说,使用P2P系统的一个标准模式是“进入系统一查找资源一获得资源一离开系统”,这一过程通常时间不会很长,因此P2P系统的一个显著特点就是结点的平均在线时问短,实验测算,在Napster和Gnut
5、ella系统中结点的平均在线时间仅为2个多小时。结点的高动态性使得维护数据可用性的工作变得非常困难。◆结点异构性强。Intemet中结点的硬件能力不同、接入方式不同。这就造成了参与P2P系统的结点在存储能力、计算能力和带宽能力上都有着很大差异,如何利用这种异构性把所有结点的可用资源都充分利用起来以提高系统各方面性能是P2P系统必须仔细研究的问题。◆结点分布广泛。P2P系统的结点在全球范围内分布,由于时区不同,系统的不同部分会在不同时间处于繁忙状态。这对负载平衡、任务迁移、复制策略等方面都提出了新的挑战。◆网络异步性强。传统分布式系统在集群或者局域网的范围内部署,网络属于同步网(Synchro
6、nousNero,),也就是说任意两个结点之间的通信延迟总有上限。而P2P系统部署在Internet这一异步网(AsynchronousNe呐ork)中,由于网络经常发生阻塞、扰动、分裂等情况,不能保证系统中任意两点的通信延迟有确定的上限。网络的异步性给一些需要严格语义的应用造成了很大困难。例如:复制算法在异步网中就不能保证严格的线性一致性jjb比赛http://www.huaxiamy.com/jjb比赛http://www.huaxiamy.com/武汉理工大学硕士学位论文(Linearizability)。那么如何在Interact环境下对于各种操作保证尽量强的可靠性和一致性就需要仔细
7、的分析和磅究。◆结点之间不互信。P2P结点来自于不同的组织和用户,结点之间没有天然的信任感,因此安全和隐私保密的工作就十分重要,如何在与别的结点交换数据时保护好自己的隐私一直是P2P研究的一个重要方向。◆结点具有自私性。很多理性用户总是试图多使用别人的资源,少贡献自己的资源。实验测算,在Gnutella中有25%的结点从不共享数据给别人,只从别人那里下载数据。并且有大量的用户(大约占30%)低报自己的带宽以降
此文档下载收益归作者所有