P2P网络病毒传播仿真设计研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P2P网络病毒传播仿真设计研究

P2P网络病毒传播仿真设计研究   摘要:P2P已经彻底统治了当今的Internet,然而,P2P病毒防御技术的研究却相对滞后,如果P2P网络病毒大规模爆发,其影响和破坏将是巨大的。针对病毒文件的传播,充分考虑网络的诸多因素,如:用户到达率,在线(共享)时间,网络节点免疫力等对病毒文件传播的影响,并通过P2P网络仿真工具-PeerSim进行仿真分析。   关键词:P2P网络,PeerSim,仿真设计,Napster      1 引言      P2P网络作为一种分布式网络应用,它的用户共享着各自所拥有的资源,以达到资源的扩大化及信息交流的自由化。P2P网络中的用户通过向P2P网络发布自己的资源信息,并通过网络所提供的服务,能让其他对等节点(Peer)直接访问而无需经过中间实体(也说是传统c/s模式中的服务器)。在P2P网络中,用户既是资源的提供者(server),电是资源的获得者(client)。P2P技术打破传统c/s模式,充分发挥网络当中每个节点的能力,让每个节点的地位是对等的,不仅能提供隐私保护与匿名通信,还能提高网络的健壮性和抗毁性[1-3]。本文主要且综合考虑各种因素(如:下载时间,到达率,在线时间以及网络免疫力等)对病毒传播的影响,通过仿真实验,系统地得出相应的数据图,并对得到的数据图进行分析研究。      2 P2P网络仿真协议及仿真工具的介绍      由于本论文的课题是基于在线时间(共享时间)异常的P2P网络病毒发现与传播抑制研究。因此,我们如何实时地收集用户节点的在线时间(共享时间)将会是关健所在,这将涉及到我们P2P网络仿真协议的选择。由P2P网络介绍所知,我们可以选择Napster协议作为P2P仿真所需的协议,因为,根据RFC文档对Napster协议的介绍,Napster网络中是有一个中心服务器(就是我们平时所说的tracker),因此我们就可以从该服务器当中,实时地获得我们所需的用户节点的在线时间(共享时间)数据[4]。   Napster网站是一个服务器机群。每个服务器保存一部分用户的共享文件索引信息,所有的服务器互联、整合起来对网站外面的Napster用户提供统一的访问接口,在每个用户看来他们访问的都是同一个服务器。每个Napster用户连接到机群中的一台服务器,他将愿意与其他用户共享的文件信息发送给服务器,服务器记录这些信息以及该用户的位置(覆盖网络中的位置),并将它们做成一条索引添加到原有索引表中。当用户想要查询一个文件时,首先将“查询消息发送给与其相连的服务器,该服务器收到Q以后,与其他服务器协作处理查询消息,处理完成后将“回复”返回给用户,这条信息包含一个表单,列出所有查到的匹配文件的索引。收到R以后,用户在表单中选择他想要的文件,根据文件索引中对应的位置与其他用户直接建立连接下载文件。   P2P网络仿真工具-PeerSim相关内容分析如下。在PeerSim的框架中,先通过调用Simulator类读取配置文件中的初始化信息(如:节点数、仿真运行的循环数等),控制类(如:init类,contr01类等)。具体的步骤如下:(1)选择一个网络规模(通过配置文件中的network.size语句设定网络节点数)(2)选择一个或多个协议(通过在配置文件中的protoc01前缀引入相应的协议类)进行实验,并对它们进行初始化(3)选择一个或多个的控制类(通过在配置文件中的control前缀引入相应的协议类)来对仿真实验过程实施控制与数据的纪录工作。(4)调用Simulator类,进行仿真实验。实验过程中所创建的对象都是通过实现一个或多个接口来完成相应的功能的   PeerSim的程序调度过程主要包括以下几个方面:(1)PeerSim会通过仿真程序的主函数simulation.java中的main()读取仿真实验执行的次数(通过配置文件中的simulation.experiments设置)。(2)通过函数getSimID()来判断PeerSim的模拟引擎是使基于循环驱动的(CDSimulator)还是基于事件驱动的(EDSimulator);具体是通过读取配置文件中是否含有相应的参数来决定。如果配置文件中配置了参数simulation.cycles则使用基于循环驱动的模拟引擎;如果配置文件中配置了参数simulation.endtime则使用基于事件驱动的模拟引擎。(3) 过上述第二步的模拟引擎判断后,就可以进行相应的模拟引擎的主函数进行相应的操作。如果是使用CDSimulator模拟引擎的,则进入方法体CDSimulator.nextExperiment()进行读取相应的初始化类、控制类与协议类等操作,然后按照读取配置文件的信息进行相应的仿真操作;如果使用EDSimula

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档