OMNeT++网络仿真
作者: 王俊义 魏延恒 仇洪冰 符杰林
出版时间:2014年3月
出版社:西安电子科大
- 西安电子科大
- 9787560632759
- 154762
- 2014年3月
- 未分类
- 未分类
- TP393.01
王俊义、魏延恒、仇洪冰、符杰林编著的《OMNeT++网络仿真》在充分考虑网络仿真的特点及难点的前提下,对OMNeT 通信网络仿真软件系统进行了详细的讲解,力求使读者能够全面系统地学习通信网络仿真以及仿真模型的设计构建方法。
本书共分三篇,第一篇阐述了OMNeT 通信网络仿真软件系统的构成、仿真工作原理、仿真实现;第二篇则讲述了该仿真软件的具体使用方法;第三篇给出了大量典型的仿真模型实例,通过这些实例读者能够直观地感受OMNeT 网络仿真软件的使用以及网络仿真模型的设计构建方法。
本书可作为高等学校通信工程、计算机科学与技术、网络工程等相关专业高年级本科生的教材,也可供通信网络工程技术人员参考。
第一篇 OMNeT 软件教程
第一章 OMNeT 概述
1.1 OMNeT 简介
1.2 建模组件介绍
1.2.1 建模概念
1.2.2 分层模块
1.2.3 模块类型
1.2.4 packet传输的仿真
1.2.5 参数表
1.2.6 拓扑描述
1.2.7 算法设计
1.3 OMNeT 的使用
1.3.1 新建并运行仿真
1.3.2 各分类的内容
第二章 NED语言
2.1 NED语言概述
2.2 NED快速入门
2.2.1 网络
2.2.2 引入信道
2.2.3 简单模块 App、Routing、Queue
2.2.4 复合模块Node
2.2.5 组合
2.3 简单模块NED描述
2.4 复合模块
2.5 信道
2.6 参数
2.7 门
2.8 子模块
2.9 连接
2.10 多重连接
2.11 参数化子模块类型和连接类型
2.11.1 参数化子模块类型
2.11.2 参数化连接类型
2.12 元数据注释(属性)
2.13 继承性
2.14 包结构
2.14.1 概述
2.14.2 名称的解析和导入
2.14.3 名称解析
2.15 自定义NED函数
2.15.1 Define_NED_Function()
2.15.2 Define_NED_Math_Function()
第三章 简单模块
3.1 仿真概念
3.1.1 离散事件仿真
3.1.2 事件循环
3.1.3 消息以及消息处理顺序
3.1.4 事件记录
3.1.5 仿真时间
3.1.6 FES实现
3.2 组件、简单模块、信道
3.3 OMNeT 类库简介
3.3.1 基类
3.3.2 属性的设置及获取
3.3.3 类名称
3.3.4 对象的全名称及全路径
3.3.5 复制对象
3.3.6 迭代器
3.3.7 错误处理
3.4 定义简单模块
3.4.1 概述
3.4.2 构造函数
3.4.3 初始化和终止
3.5 cSimpleModule添加类功能
3.5.1 自定义成员函数handleMessage()
3.5.2 函数activity()
3.5.3 如何避免全局变量
3.5.4 通过子类化继承模块代码
3.6 访问模块参数
3.6.1 volatile和non-volatile参数
3.6.2 修改参数值
3.6.3 cPar类的其他类函数
3.6.4 虚拟参数数组
3.6.5 handleParameterChange()
3.7 模块日志功能
3.7.1 仿真信息显示
3.7.2 watches and Snapshots函数
3.8 访问门和连接
3.8.1 门对象
3.8.2 连接
3.8.3 信道
3.9 发送和接收消息
3.9.1 自消息
3.9.2 发送消息
3.9.3 广播和重发
3.9.4 延迟发送
3.9.5 直接发送消息
3.9.6 数据包传输
3.9.7 activity()的消息处理机制
3.10 信道
3.10.1 概述
3.10.2 信道API
3.10.2 信道举例
3.11 停止仿真
3.11.1 正常终止仿真
3.11.2 错误引发仿真中止
3.12 有限状态机
3.13 模块层级结构
3.14 类函数的跨模块调用
3.15 模块的动态创建
3.15.1 需要动态创建模块的场景
3.15.2 概述
3.15.3 创建模块
3.15.4 动态删除模块
3.15.5 模块的删除与finish()函数
3.15.6 创建连接
3.15.7 移除连接
3.16 类库中其他类的介绍
3.16.1 随机数
3.16.2 容器类:cQueue
3.16.3 可拓展数组:cArray
3.17 路由支持:类cTopology
3.17.1 概述
3.17.2 基本用法
3.17.3 最短路径
3.18 派生新类
3.18.1 是否基于cOwnedObject
3.18.2 cOwnedObject的虚函数
3.18.3 类的注册
3.18.4 细节
3.19 对象所有权管理
3.19.1 所有权概述
3.19.2 所有权管理
第四章 信号
4.1 信号设计规则与原理
4.2 信号机制
4.2.1 信号ID
4.2.2 信号发射
4.2.3 信号值
4.2.4 订阅信号
4.2.5 收听者
4.2.6 收听者的生存周期
4.2.7 感知模型变化
4.3 基于信号的统计量记录
4.3.1 概述
4.3.2 声明统计量
4.3.3 发射信号
4.3.4 编写结果过滤器以及记录器
第五章 消息与分组
5.1 概述
5.2 cMessage类
5.2.1 基本用法
5.2.2 消息的复制
5.2.3 消息ID
5.2.4 消息对象的控制信息
5.2.5 消息发送的相关信息
5.2.6 显示字符
5.3 自消息
5.3.1 了解自消息
5.3.2 上下文指针
5.4 cPacket类
5.4.1 基本用法
5.4.2 识别协议
5.4.3 packet传输的相关信息
5.4.4 封装packet
5.4.5 引用次数
5.4.6 封装多个packet
5.5 添加参数及对象
5.5.1 添加对象
5.5.2 添加参数
5.6 消息定义简介
5.7 定义消息
5.7.1 定义消息及分组
5.7.2 消息字段数据类型
5.7.3 添加数组字段
5.7.4 添加类和结构体为字段
5.7.5 添加指针字段
5.7.6 消息继承
5.7.7 修改字段
5.8 添加字段类
5.9 结构体
5.10 消息定义中的C 块
5.11 使用其他C 类型
5.11.1 向消息编译器声明数据类型
5.11.2 C 声明可见
5.12 自定义生成类
5.12.1 指定类函数名称
5.12.2 通过派生自定义生成类
5.12.3 abstract字段
5.13 使用STL类作为字段
5.13.1 typedef名称
5.13.2 abstract字段
5.14 命名空间
5.14.1 声明命名空间
5.14.2 C 块和命名空间
5.14.3 类型声明与命名空间
5.15 描述符类
5.16 总结
第六章 网络图形及动画
6.1 显示字符串
6.1.1 显示字符串语法
6.1.2 显示字符串的位置
6.1.3 显示字符串的继承规则
6.1.4 子模块中使用的显示字符串标签
6.1.5 模块背景中使用的显示字符串
6.1.6 连接的显示字符串
6.1.7 消息显示字符串
6.2 参数替换
6.3 颜色
6.3.1 颜色名称
6.3.2 图标着色
6.4 图标
6.5 布局
6.6 增强动画效果