网站大量收购闲置独家精品文档,联系QQ:2885784924

OMNet学习:10分钟教程.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OMNet++ 10 分钟教程本文适合对网络模拟器有一定了解的读者,阅读本文时,最好同时打开用户手册和API文档以便随时查阅。 1. 在omnetpp.org中提到的仿真模型和框架与OMNet++是什么关系? OMNet++提供了基本的工具和机制来编写仿真代码,但它本身并不提供任何特定用于计算机网络仿真,系统架构仿真和任意其它领域的组件;具体的仿真是由一些仿真模型和框架如Mobility Framework或INET Framework来支持,这些模型独立于OMNet++开发,并有自己的发布周期。 2. OMNet++提供了什么? 一个C++库,它由仿真内核及一些用来创建仿真组件(简单模块和信息)的工具类(如随机数生成,统计收集,拓扑发现等);组装和配置这些组件的基础设施(NED语言,ini文件);运行时用户接口或仿真环境(TKenv,Cmdenv);一个用来设计,运行和评估仿真的IDE环境;实时仿真的扩展接口;MRIP,并行的分布式仿真,数据库连接等等这些组成。 3. OMNet++的仿真模型是什么样的? OMNet++提供了一个基于组件的架构,模型是由可重用的组件或模块组成的。模块之间可以通过gates(在其它系统中称为ports,即端口)进行连接,以构成复合模块。每个仿真模型是一个复合模块类型的实例。这一层次(组件和拓扑)由NED文件来处理。例如,一个名为EtherMAC的组件可以用NED来描述: // // Ethernet CSMA/CD MAC // simple EtherMAC { parameters: string address; // others omitted for brevity gates: input phyIn; // to physical layer or the network output phyOut; // to physical layer or the network input llcIn; // to EtherLLC or higher layer output llcOut; // to EtherLLC or higher layer } 它可以使用在下面的Ethernet station的模型中: // // Host with an Ethernet interface // module EtherStation { parameters: ... gates: ... input in; // for connecting to switch/hub, etc output out; submodules: app: EtherTrafficGen; llc: EtherLLC; mac: EtherMAC; connections: app.out -- llc.hlIn; app.in -- llc.hlOut; llc.macIn -- mac.llcOut; llc.macOout -- mac.llcIn; mac.phyIn -- in; mac.phyOut -- out; } 其中,注释能用来生成文档。简单模块,例如上面的EtherMAC,会与一个C++ 文件关联以提供行为,它是以simple关键字来声明的。复合模块则是用module关键字来声明的,为了仿真一个Ethernet LAN,应该创建一个复合模块EtherLAN并用network关键字来表示它可以通过自身运行。 network EtherLAN { ... (submodules of type EtherStation, etc) ... } NED文件可以在IDE中以图形化方式或文件模式编辑。 NED文件只定义了模型的结构(拓扑),其行为和模块参数的某个子集则是开放的,如前面所提到的,行为是通过在简单模块相关联的C++代码来定义的,而在NED文件中没有赋值的模块参数则从ini文件中获取它们的值。 4. 如何运行仿真? 如果EtherMAC, EtherLLC 和 EtherTrafficGen 相应的代码已经编写好,就可以编译成可执行文件,并在omnetpp.ini中定义运行的参数,然后就可以作为一个单独的仿真程序来运行。 在最简单的情况下,即当所有东西都在一个目录中的时候,只需要输入: opp_makemake --deepmake opp_makemake 创建了一个拥有恰当设置的makefile,所以你不用做任何其它事情。 但是如果源文件在几个不同的目录中,例如要使用INET框架的时候,则需要传递额外的参数,如给opp_makemake 传递-I 参数,这种情况下最好查阅这些框架的文档或从已有的makefile系统中得到一些提示。 为了运行仿真,需要一个omne

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档