首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > Omnet++ 与网络仿真

Omnet++ 与网络仿真

  • 资源大小:78.27M
  • 上传时间:2021-09-17
  • 下载次数:0次
  • 浏览次数:1次
  • 资源积分:1积分
  • 标      签: 一般编程问题

资 源 简 介

Omnet++指南,Omnet++ 使用说明,多个网络仿真实验+代码,数据队列仿真,P2P仿真,Hist仿真,Routing仿真,PCE多域路径仿真等等。Omnet学习的好参考文件。国家自然科学基金资助项目OMNeT++网络仿真王俊义魏延恒仇洪冰符杰林编著西安电子科技大学出版社内容简介木书在充分考虑网络仿真的特点及难点的前提下,对 OMNeT++通信网络仿真软件系统进行了详细的讲解,力求使读者能够全面系统地学习通信网终仿真以及仿真模型的设计构建方法。本书共分三篇,第一篇阐述了 OMNeT++通信网络仿真软件系统的构成、仿真工作原理、仿真实现;第二篇则讲述了该仿真软件的具体使用方法:第三篇给出了大量典型的仿真模型实例,通过这些实例读者能够直观地感受 OMNeT++网络仿真软件的使用以及网络仿真模型的设计构建方法。本书可作为高等学校通信工程、计算机科学与技术、网络工程等相关专业高年级本科生的教材,也可供通信网终工程技术人员参考。图书在版编目(CP)数据OMNeT+网络仿真/王俊义等编著.一西安:西安电子科技大学出版社,20143ISBN97875606-3275-91.(OⅡ.①王…Ⅲ.③①计算机网络一计算机仿真一应用软件一高等学校一教材ⅣV.①TP39301中国版本图书馆C|P数据核字(2014)第005752号策划马乐惠责仟编辑马乐惠马晓娟出版发行西安电子科技大学出版社(西安市太白南路2号)电话(029)8824288588201467邮编710071冈址www.xduph.con电子邮箱 xdupfxb001a163com经销新华书店印刷单位陕西华沐印刷科技有限责任公司版次2014年3月第1版2014年3月第1次印刷开木787毫米×1092毫米1/16印张22.75字数534千字印数1~300册定价39.00元ISBN978-7-5606-3275-9TPXDUP3567001-1***如有印装问题可调换**本社图书封面为激光防伪覆膜,谨防盗版。前言今的通信网络随着网络规模的不断扩人,技术的不断提高,正向着综合性、复杂性的方向演进,网络的构建方式以及网络拓扑结构也变得日益复杂。与此同时,网络的性能也变得越来越不可预测,有效评估和硏究网络技术、协议、性能成了迫切的需求。传统上的经验、试验及计算等网络设计方法,仅适用于小型规模的网络,对于当今的大规模复尔网络,如果采用真实环境进行研究和开发,不仅增加了网络设计成本,而且不稳定的网络环境也不便于数据的统计和分析,因此急需一种科学的手段来反映和预测网络的性能。由此,网络仿真技术便应运而生。网络仿真技术通过网络仿真软件模拟貞实环境和调整网络参数来给出大量客观、可靠的数据,反映并预测网络的性能。网络仿真技术能有效提高网络规划和设计的可靠性和准确性,增强决策的科学性,降低了网终投资风险,已得到∫广泛的应用。目前,国内还没有真正自主研发的、得到大范围应用的网络仿真工具,研究人员使用的主要是国外的一些主流网络仿真工具,其中的一款仿真软件 OMNeT+由于其优良的特点正在得到愈来愈多的青睐。OMNeT+( Objective Modular Network Testbed in C++)是面向对象的离散事件仿真工具,它是由布达佩斯大学通信工程系开发的一个开源的、基于组件的、模块化的开放仿真平台,具有强大的图形用户界面接口和嵌入式仿真内核,可以运行于 Linux、 Windows及DOS等多个操作平台之下。 OMNeT艹+可以用来仿真任何离散事件的系统,包括仿真通信协议、计算机网络、并行系统、多处理器系统和分布式系统,能够建立目前几乎所冇网络对象的基本模型之间的互联,并且使复杂的网络通信和拓扑结构得到简单而正确的仿真。 OMNeT++在描述模型、定义网络拓扑、实现模型、跟踪支持、调试、性能等多方面都显小出强大的优势。本书将主要讲述 OMNeT艹+仿真软件的工作原理以及仿真设计方法,力求使读者通过本书的学习具备良好的仿真设计素养和能力读者也许对通信网络的理论知识比较了解,但是由于 OMNeT++通信网络仿真软件是由建模工具、仿真运行工具、输岀结果分析工具等组成的复尕软件系统,如果要掌握网络仿真技术还需要在学习掌握 OMNET++网络仿真软件方面下一番功夫。同时,由于仿真模型还要仰仗于使用C++语言实现其具体行为,因此还要求读者具备一定的C艹编程能力根据笔者多年的通信网络仿真课程教学经验,学习者基础水平的参差不齐必然公对通信网络仿真技术的学习带来一定的困难和挑战。本书充分考虑到了上述难点,对 OMNeT++通信网络仿真软件系统的构成、仿真匚作原理、仿真实现杋制进行了详细的讲解,力求使读者能够全面系统地学习 OMNeT++通信网络仿真软件以及仿真模型的设计构建方法。同时,想要真正掌握一门网络仿真技术还需要实践的支撑,本书的第三部分给出了大量典型的仿真模型实例,使读者能够直观地感受OMNeεT艹-网终仿真软件的使用以及网终仿真模型的设计构建方法。本书的作者常年从事通信网络仿真的教学及相关科研工作,充分理解学生在学习过程中所遇到的难点以及对合适的教材的需求。木书以实用性、系统性、完整性和前沿性为特点,由浅入深地详细讲述了 OMNET艹+网络仿真软件的工作原理、操作步骤和仿真模型的设计及实现机制。鉴于通信网终仿真偏重实践的特点,本书还提供了经典的网终仿真案例,并给出详细的注释和算法过程,使读者在学习过程中理解起来更容易。本书注重整体认识,着眼系统思维,首先给出的关于离散事件网络仿真的总体认识,使读者从全局上对本书有个整体的把握。随后本书对每一部分进行详细的讲解,目的是使读者能够系统全面地掌握这款仿真软件。在众多学科中,通信网络仿真是一个比较新的同时也具有一定难度的学科。为了让读者能够打消畏难情绪从而学有所得、学有所乐,本书允分尊重认知规律,放眼拓展,步步为进,用浅显易懂的语言讲解复杂抽象的概念,以方使读者理解。本书分为三大部分:第一部分(第一篇)为 OMNeT++软件教程,主要讲述 OMNeT++网络仿真软件的工作原理以及仿真模型的设计与实现机制。本部分共分为八章,从模型的构建编写到模型的编译生成,最后是仿真模型的执行和统计结果的收集。前六章描述模型的编写,其中包括仿真模型的基本构成、基本概念以及编写仿真模型的基本方法和基本组件。从整个仿真模型的构成上划分:第二章讲述NED文件的编写,第三、四章则主要介绍用C艹实现文件的编写,第五章主要讲解自定义消息文件的编写。第七章介绍仿真模型从构建到执行的过程,包括仿真模型的构建、配置仿真叮执行文件、仿真的执行。最后,第八章的内容是统计结果的收集与分析方法。第二部分(第二篇)为 OMNeT+用户指南,讲述了OMNeT+网络仿真软件的操作步骤,这一部分共分为十个章节。前五个章节分别描述了在编写仿真模型不同文件时的不同操作步骤。第六章则介绍了仿真模型的枃建执行的操作。后面的章节分别介绍了不同的 OMNET++软件的不同运行环境以及结果。第三部分(第三篇)为仿真实例,以仿真实例帮助读者吏好地学习理解 OMNeT艹仿真软件仿真模型的设计编写以及操作步骤。以上三部分既相互独立又彼此呼应,读者可以根据具体情况灵活取舍。本书以王俊乂为第一作者,魏延恒、仇洪冰、符杰林协作编写。王俊乂编写第一部分的第三、四、六、八章以及第二部分的第三、四、五、七章外加第三部分的第一、二章,并负责全书的统稿。魏延恒负责第一部分的第一、二、五、七章以及第二部分的第一、九三章。仇洪冰编写第二部分的第六、八、十章。符杰林编写了第三部分的第三、四章。本书为国家自然科学基金资助项目(61261017)成果。本书在写作过程中参考了大量 OMNeT艹软件开源代码和英文文档,同时也凝聚了课题组多年的研究经验和实践总结。由于编者能力有限,书中难免有错误与纰漏,欢迎各位读者及专家批评指正。王俊义2013年10月目录第一篇 OMNet++软件教程第一章 OMNeT++概述2.1.1参数化子模块类型1.1 OMNET+简介2.11.2参数化连接类型…331.2建模组件介绍..2.12元数据注释(属性).2.1建模概念2.13继承性.361.2.2分层模块1.2.3模块类型.22223342.14包结构362.14.1概述++·+:++··+36124 packet传输的仿真2.14.2名称的解析和导入382.5参数表2.14.3名称解析…3812.6拓扑描述………42.15白定义NED函数…391.2.7算法设计.2.15.1 Define ned function(………391.3 OMNET++的使用2.15.2 Define ned math function(.……431.3.1新建并运行仿真.5第三章简单模块4513.2各分类的内容443.1仿真概念45第二章NED语言3..1离散事件仿貞4521NED语言概述7783.1.2事件循环4522NED快速入门3.1.3消息以及消息处理顺序………1462.2.网终3..4事件记录472.22引入信道3.1.5仿真时间….47223简单模块App、 Routing、 Queue…103.1.6FES实现49224复合模块Node…3.2组件、简单模块、信道4922.5组合33 OMNeT++类库简介.502.3简单模块NED描述123.3.1类24复合模块.33.2属性的设置及获取512.5信道1633.3类名称…512.6参数334对象的全名称及全路径27门233.3.5复制对象…532.8子模块3.3.6迭代器…532.9连接273.3.7错误处理2.10多重连接283.4定义简单模块542.1参数化了模块类型和连接类型3.4.1概述34.2构造函数…3.15.1需要动态创建模块的场景…9834.3初始化和终止3.15.2概述3.5 cSimpleModule添加类功能…573.153创建模块3.5.1自定义成员函数 handle Message(….573.15.4动态删除模块.100352函数 activity()3.155模块的删除与 finish()函数3.53如何避免全局变量…663.156创建连接…1013.54通过子类化继承模块代码.673.15.7移除连接.…10236访问模块参数……673,16类库中其他类的介绍…1023.61 volatile和 non-volatile参数…683.16.1随机数1023.6.2修改参数值…3.16.2容器类: qUeue..104363cPar类的其他类函数…3.16.3可拓展数组: cArray…1053.6.4虚拟参数数组703.17路由支持:类 tOpology1063.6.5 handieParameter Change(703.17.1概述…1063.7模块日志功能3.17.2基本用法…1073.7.1仿真信息显示713.17.3最短路径…3.7.2 watches and Snapshots函数23.18派生新类1103.8访问门和连接743.18.1是否基于 cOwnedobject…,l103.8.1门对象….743.18.2 cOwnedobject的虚函数3.8.2连接.773.18.3类的注册3.8.3信道783.18.4细节…1239发送和接收消息.793.19对象所有权管理….153.9.1白消息793.19.1所有权概述…1153.9.2发送消息:··3.19.2所有权管理1163.93广播和重发81第四章信号……l183.94延迟发送.…4.1信号设计规则与原理118395直接发送消息……4.2信号机制….193.9.6数据包传输.834.2.l信号ID193.97 activity()的消息处理机制…864.2.2信号发射1193.10信道…74.2.3信号值1203.10.1概述….874.2.4订阅信号1213.10.2信道AP1884.2.5收听者1223.10.2信道举例4.2.6收听者的生存周期1233.11停止仿真914.2.7感知模型变化1233.11.1正常终止仿真…914.3基于信号的统计量记录…1243.11.2错误引发仿真中止……914.3.1概述1243.12有限状态机914.3.2声明统计量….…1253.13模块层级结构…964.3.3发射信号1283.14类函数的跨模块调用4.34编写结果过滤器以及记录器…1303.15模块的动态创建.….98第五章消息与分组1315.1概述13l5.12.3 abstract字段1525.2 CMe类5.13使用STL类作为字段52.1基木用法1325131 typedef名称.2消息的复制.133532 abstract字段154523消息1335.14命名空间524消息对象的控制信息……13511.11声明命名空间15552.5消息发送的相关信息1345.14.2C++块和命名空间15652.6显示字符.1345.143类型声明与命名空间1565.3自消息1345.15描述符类….15853.1了解自消息13456总结甲··中·:5.3.2上下文指针35第六章网络图形及动画….16054 pAcket类1356.1显示字符串16054.1基本用法.…1356.1显示字符串语法160542识别协议13661.2显示字符串的位置…160543 packet传输的相关信息1366.1.3显示字符串的继承规则…161544封装 packet1366.1.4了模块中使用的显示字符串标签…..16254.5引用次数…1376.1.5模块背景中使用的显示字符串……164546封装多个 packet…1376.1.6连接的显示字符串1655.5添加参数及对象1386.1.7消息显示字符串16555l添加对象.…1386,2参数替换166552添加参数…1386.3颜色…1665.6消息定义简介1396.3.1颜色名称1665.7定义消息…140632图标着色16757.1定义消息及分组14064图标….1675.7.2消息字段数据类型.……1416.5布局168573添加数组字段.1426.6增强动画效果…16857.4添加类和结构体为字段.14366.1在运行时改变显示字符串57.5添加指针字段….14466.2气泡16957.6消息继承14第七章建立并运行仿真1705.7.7修改字段1447.1概述…17058添加字段类1457.2gcc的使用..17159结构体…1467.21dbug以及 release版本的构建…1725.10消息定义中的C++块,++“,+,+“+14772.2使用外部CC++库172511使用其他C++类型1477.23全目录树的构建…1725.11.1向消息编译器声明数据类型…148724自动包含目录l735.1.2C++声明可见…14872.5依赖关系( dependency)的处理1735.12自定义生成类.1507.2.6输出目录文件1735.12.1指定类函数名称.1507.2.7建立共亨库和静态库.1735.12.2通过派生自定义生成类150728递归构建……174729自定义生成文件1747.1.2使用 shell脚本…19872.10拥有多个源目录树的工程.1747.11.3使用 opp rundll..…19972.11一个多目录工程例子…1747.12 Akaroa支持并行执行多重重复运行…1973仿真配置1757.12.1简介1997.3.1配置文件…1757.122 Akaroa概述20073.2配置文件语法规则.……1767.12.3在 OMNET+中使用 Akaroa..2007.33文件的包含…1777.13故障排除20174配置文件的各部分介绍……1787.13.1无法识别配置选项……2017.4.1[ General]部分….177.13.2堆栈问题….74.2[ Config< configname]部分…1787.13.3内存泄露及崩溃…20374.3各部分的继承语法1797.134仿真执行过慢2037.5模块参数的赋值…180第八章结果记录及分析2057.5.1使用通配符模式1808.1简介….2057.5.2使用默认值1828.2基于信号声明统计量的结果记录方式….2057.6参数研究.…1828.3结果直接记录方式2067.6.1迭代…8.3.1统计类及其子类…2067.62命名迭代变量18583.2分布估计类206763并行迭代18683.3K分离算法2097.6.4预定义变量,运行ID.…186834暂态检测及结果精度2107.6.5约束表达式18784仿真结果记录……7.66不同随机种子下重复运行……187841输出向量: COut vector2l17.6.7实验、测试及重复88842输出标量……2127.7配置随机数发生器.19085配置结果收集……2137.7.lRNG的数量1908.5.1配置信号机制的统计量记录….….-.137.7.2RNG映射…,1908.52热身期217.7.3随机数种子的自动选择1908.5.3结果文件名称…15774手动种子配置…,1918.54配置标量结果文件……21578运行仿真…19185.5配置输出向量文件7.8.1运行可执行仿真文件1918.5.6将参数保存为标量.216782运行共享库…1938.5.7记录精度2177.8.3运行的控制….1938.6结果文件格式概述21879命令行界面 Cmdeny19486.1输出向量文件……21879.1运行举例,·,1948.6.2标量结果文件218792运行命令指定1958.7仿真IDE中的分析工具219793 Cmdeny的INI文件选项…1958.7.1 Save工具794解释 Cmdenv输出.1968.72过滤命令2197.10图形用户界面 Tkenv1978.73 index命令…2207.11批处理执行1978.7.4 summary命令2207.11.1使用 Cmdenv..1988.8统计分析及绘图的其他工具…120

相 关 资 源

您 可 能 感 兴 趣 的

同 类 别 推 荐

VIP VIP
  • WYG 1天前 成为了本站会员

  • Shine 1天前 成为了本站会员

  • 柳贻 1天前 成为了本站会员

  • hallelujah_HL 1天前 成为了本站会员

  • 焦昱贺 1天前 成为了本站会员

  • Rubin 1天前 成为了本站会员

  • Li 2天前 成为了本站会员

  • bigfatcat1977 3天前 成为了本站会员

  • just4down 3天前 成为了本站会员

  • shallow 3天前 成为了本站会员

0.181378s