网络模拟和仿真技术概述.docVIP

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

网络模拟和仿真技术基础

随着网络技术的发展,研究人员不断开发出新的网络协议、算法和应用,以适应日渐增长的网络通信需要。然而由于网络的不可控、易变和不可预测等特性的存在,给新的网络方案的验证、分析和比较带来了极大的困难。虽然构建试验床(Testbed)可以部分解决此类问题,但是试验床的造价高昂,且对大规模网络试验的支持较差。在这种情况下,网络模拟和仿真作为一种新的网络设计和规划技术,无疑给网络研究提供了方便、高效的验证和分析工具。

一、什么是网络模拟

“模拟”(simulation)是通过建立真实系统的模型来研究系统在一定条件下的行为,它通过建立实际系统的数学模型并按照相同的运行机理模拟真实系统的动态行为。它是脱离真实系统独立运行的,主要分为连续模拟(Continuoussimulation)和离散事件模拟(Discreteeventsimulation),..前者用于模拟随时间连续变化的系统,而后者则假设系统的变化由事件触发,系统状态的变化是基于离散的事件点发生的。

网络模拟(Networksimulation)通过构造可控、可重现网络状况的虚拟网络环境,在数学建模和统计分析的基础上对网络行为进行模拟,从而获取特定的网络特性参数,观察特定的网络行为。

网络上各种事件如丢包、延迟的发生都是在各可能的离散时间点发生的,因此网络模拟是对随机离散事件的模拟,这里的“事件”即网络状态的变化。在模拟软件内部,事件由各种虚拟网络模型产生。同时,软件内部一般都存在一个离散事件驱动的事件调度器(EventScheduler),它是模拟软件的核心组成部分。事件调度器维护一个按照发生时间进行排序的事件列表(EventList),遵循先进先出FIFO(FirstInFirstOut)的方式执行事件。模拟核心处理完当前事件之后即把当前事件从事件列表中删除,同时获取列表

图1模拟软件执行流程

中下一个时间点发生的事件并执行,如图1所示。事件执行到事件列表为空即事件全部执行完毕为止。值得注意的是,这里的发生时间参考的是模拟软件内部的模拟时钟,而不是外界物理时钟,模拟时钟代表了模拟的时间推进速度,是一个抽象的时间,并不一定和外界的墙钟对应。

图2展示了使用网络模拟软件的主要步骤。网络模型构造和模拟试验这两个部分都是需要不断调试和修改的过程,以提高最终验证结果的准确度和精度。构造时也不能设置过多无用的参数,使得网络模型过于臃肿庞大,降低模拟效率,可能导致仿真精度不高甚至存在较大的误差。

二、什么是网络仿真

作为模拟发展的高级阶段,“仿真”(Emulation)通过构造仿真系统来全部或者部分的模拟外界系统,使得仿真系统能够接受和被仿真对象一样的数据和执行同样的程序,从而获得相应的结果。网络仿真(Networkemulation)可以看作网络模拟和试验方法的结合。网络仿真系统使用仿真接口(Emulationinterface)作为真实网络应用程序和仿真系统之间的桥梁,它可以将外界真实网络中的IP报文转化为仿真系统内的虚拟IP报文,也可以将虚拟IP报文转化为外界真实IP报文,从而使得仿真系统内部的虚拟网络和外界真实网络能够相互作用。

网络仿真和网络模拟的侧重点并不相同:网络模拟用于网络协议和算法的设计,其工作过程是纯计算过程,是模拟器内部的工作流程;而网络仿真用于测试实际的网络应用程序,和外界真实网络有交互,所构造的虚拟网络和外界真实网络是需要进行同步的。也就是说,仿真软件内部规定某一时刻第n秒发生的事件,也是从仿真过程开始之后外界时钟推进到第n秒发生的事件。

仿真系统和外界交互的情况如图3所示,从图3可以看出,系统总体结构与模拟软件基本类似,主要的不同是仿真接口和内部时钟需要和外界墙钟同步。由于仿真系统和真实网络之间存在交互,那么必然事件的调度要采取实时的方式。为了使内部时间能够接近外部真实时间的推进,就需要对事件调度器进行修改,不是一个事件处理完马上就推进到下一事件的时间点,而是参考外部真实时钟,在合适的真实时间对下一事件进行处理。

网络仿真的作用主要有两种,一是通过在仿真系统内部实现算法和协议,通过真实网络的流量负载来检测协议模型的行为;二是为协议实现或者网络应用程序构建一个虚拟的网络运行环境,让网络报文经过虚拟网络,通过虚拟的网络环境来影响真实的数据流,例如使用报文丢失、乱序、拥塞等等手段来触发协议实现的拥塞控制机制等,来评测协议实现的性能。

使用仿真软件的过程和模拟软件基本类似,主要就是按照软件的具体要求将外部网络应用的流量从仿真接口接入并和仿真软件同时运行即可。

图3网络仿真系统与外界交互

三、网络仿真软件性能比较

网络仿真技术是一种通过建立网络设备和网络链路的统计模型,并模拟网络流量的传输,从而获取网络设计或

您可能关注的文档

文档评论(0)

AI智博信息 + 关注
实名认证
文档贡献者

Python数据挖掘

1亿VIP精品文档

相关文档