第1部分 OPNET Modeler简介 1
第1章 OPNET仿真概述 1
1.1 网络仿真简介 1
目录 1
1.2 OPNET仿真平台简介 2
1.3 OPNET网络环境 5
1.4 OPNET编辑器简介 12
1.5 实例讲解——配置一个简单的网络 15
1.5.1 定义问题 17
1.5.2 建立网络拓扑结构 18
1.5.3 收集统计量 26
1.5.4 保存项目 27
1.5.5 运行仿真 27
1.5.6 查看结果 28
1.5.8 再次运行 30
1.5.7 复制场景并扩展网络 30
1.5.9 比较结果 31
第2章 OPNET Modeler环境变量的设置及文件管理 34
2.1 OPNET Modeler环境变量的设置 34
2.1.1 Windows 2000下环境变量的设置 34
2.1.2 Unix下环境变量的设置 35
2.2 OPNET常用文件格式 36
2.3 OPNET文件管理 38
第2部分 OPNET Modeler的使用(基础篇) 40
第3章 OPNET的通信仿真机制 40
3.1 离散事件仿真机制 40
3.1.1 OPNET中的事件推进机制 40
3.1.2 同一时刻事件优先级的界定 41
3.2 基于包的通信 43
3.3 使用接口控制信息进行通信 45
3.4 点对点和总线管道阶段 47
第4章 Modeler常用编辑器 51
4.1 项目编辑器 51
4.1.1 主菜单介绍 52
4.1.2 弹出菜单介绍 52
4.1.3 工具栏介绍 55
4.1.4 对象模板相关操作 55
4.1.5 常用的场景操作 58
4.1.6 添加注释 59
4.2 节点模型编辑器(Node Model Editor) 60
4.2.1 主菜单介绍 60
4.2.2 工具栏介绍 61
4.2.3 接口(Interfaces)菜单的相关操作 62
4.2.4 接口相关操作举例 64
4.3.1 主菜单介绍 69
4.3 进程模型编辑器 69
4.3.2 弹出菜单介绍 70
4.3.3 工具栏介绍 71
4.3.4 接口(Interfaces)菜单的相关操作 72
4.4 3个常用编辑器的运用举例 74
4.4.1 设计进程模块 75
4.4.2 实现进程模型 76
4.4.3 创建状态转移 77
4.4.4 定义条件和变量 79
4.4.5 创建状态执行代码 81
4.4.6 编辑进程界面 82
4.4.7 编译进程模型 83
4.4.8 创建节点模型 83
4.4.9 创建网络模型 84
4.4.11 分析结果 87
4.4.10 运行仿真 87
4.4.12 查看动画 90
4.5 链路模型编辑器(Link Model Editor) 91
4.6 包格式编辑器(Packet Format Editor) 92
4.7 天线模型编辑器(Antenna Pattern Editor) 93
4.7.1 主菜单介绍 94
4.7.2 工具栏介绍 95
4.8 调制曲线编辑器(Modulation Curve Editor) 98
4.9 图标库编辑器(Icon Database Editor) 99
4.10 仿真序列编辑器(Simulation Sequence) 100
第5章 收集、查看、导出以及发布仿真结果 102
5.1 收集统计量 102
5.1.1 收集矢量统计量 102
5.2 查看和导出仿真结果 103
5.1.2 收集标量统计量 103
5.3 发布仿真结果 104
第6章 OPNET Modeler编程基础 106
6.1 从例程开始——创建一个包交换网络 106
6.1.1 概述 106
6.1.2 开始建立 106
6.1.3 创建新的包格式 108
6.1.4 创建新的链路模型 109
6.1.5 创建中心交换节点模型 111
6.1.6 创建hub进程模型 114
6.1.7 创建周边节点模型 116
6.1.8 创建网络模型 123
6.1.9 收集统计量并分析结果 125
6.1.10 配置仿真 126
6.1.11 运行仿真 128
6.2.1 动画类核心函数 131
6.2 OPNET Modeler核心函数介绍 131
6.2.2 分布类核心函数 136
6.2.3 事件类核心函数 137
6.2.4 接口控制类核心函数 139
6.2.5 标识类核心函数 140
6.2.6 内部模型访问类核心函数 141
6.2.7 中断类核心函数 142
6.2.8 包类核心函数 143
6.2.9 进程类核心函数 144
6.2.10 队列类核心函数 146
6.2.11 分割与组装类核心函数 147
6.2.12 统计类核心函数 150
6.2.13 队列和子队列类核心函数 151
6.2.14 表格类核心函数 152
6.2.16 拓扑结构类核心函数 153
6.2.15 传输类核心函数 153
6.2.17 编程类核心函数 154
6.3 动态进程 156
6.3.1 有关进程的几个概念 158
6.3.2 动态进程的初始化 159
6.3.3 仿真核心使用权的管理模式 159
6.3.4 进程对仿真核心控制权获取方式的识别 161
6.3.5 进程间的内存共享机制 162
6.3.6 使用子进程可能出现的几种错误 164
第3部分 OPNET Modeler的使用(高级篇) 165
第7章 OPNET的调试 165
7.1 查看OPNET日志文件 165
7.2 使用OPNET Debugger调试 167
7.2.1 ODB调试概述 167
7.2.2 针对结构错误(Structural Error)的ODB调试实例 170
7.2.3 针对逻辑错误的ODB调试实例 172
7.2.4 针对进程模块的ODB调试 174
7.2.5 调整ODB窗口缓存大小 179
7.3 OPNET与Visual C++联合调试 180
7.3.1 VC的安装及环境变量的设置 181
7.3.2 设置OPNET与VC联合调试的环境变量 182
7.3.3 OPNET与VC联合调试的步骤 182
7.4 常见错误及其说明 183
第8章 业务建模 187
8.1 ON/OFF业务建模 187
8.2 配置标准端对端业务 188
8.2.1 设定应用参数 188
8.2.2 设定业务主询 190
8.2.3 配置服务器支持的应用 193
8.2.4 设定客户端业务主询 195
8.3 自定义多端(Multi-Tier)业务 198
8.4.1 针对话音和视频业务背景流的设置 201
8.4 流业务建模技巧 201
8.4.2 应用流背景流建模 203
8.4.3 网络层背景流建模 205
8.4.4 Micro-Simulation技术 208
8.5 链路背景业务建模 210
8.6 混合业务建模 210
第9章 无线信道建模 212
9.1 无线模拟简介 212
9.2 无线移动方式 217
9.2.1 分段移动方式 217
9.2.2 设置向量(Vector)轨迹的方式 219
9.2.3 修改节点的位置属性 219
9.2.4 使用移动配置器(Mobility Config) 220
9.3 无线收发机管道建模 221
9.3.1 Stage 0:接收主询(收信机组) 222
9.3.3 Stage 2:物理可达性(链路闭锁) 223
9.3.2 Stage 1:传输时延 223
9.3.4 Stage 3:信道匹配 224
9.3.5 Stage 4:发射机天线增益 224
9.3.6 Stage 5:传播延时 225
9.3.7 Stage 6:收信机天线增益 226
9.3.8 Stage 7:接收功率 226
9.3.9 Stage 8:干扰噪声功率 228
9.3.10 Stage 9:背景噪声功率 229
9.3.11 Stage 10:信噪比 229
9.3.12 Stage 11:误比特率 230
9.3.13 Stage 12:错误分布 231
9.3.14 Stage 13:错误纠正 231
9.4 加快无线仿真的速度 232
9.4.1 采用优化的仿真核心 232
9.4.2 在仿真中动态删减接收主询成员 232
9.4.5 通过无线区域(Wireless Domain)划分接收主询 233
9.4.3 简化无线封包的复制 233
9.4.4 动态更新接收主询 233
9.4.6 过滤无关的管道阶段 234
9.4.7 采用并行仿真 235
9.5 创建一个移动无线网络 235
9.5.1 概述 236
9.5.2 开始建立 236
9.5.3 创建天线模型 237
9.5.4 创建指向处理器 241
9.5.5 创建节点模型 242
9.5.6 创建网络模型 246
9.5.7 收集统计量并运行仿真 248
9.5.8 查看并分析结果 251
10.1.2 无线局域网的协议行为建模 254
10.1.1 IEEE 802.11无线局域网概述 254
10.1 IEEE 802.11模块内部结构及仿真 254
第10章 OPNET标准模块介绍 254
10.1.3 IEEE 802.11无线局域网MAC的输入接口 257
10.1.4 IEEE 802.11无线局域网MAC的输出接口 259
10.1.5 仿真和实验 260
10.2 X.25模块介绍 263
10.2.1 引言 263
10.2.2 基于X.25传输控制协议的应用会话建立流程 264
10.2.3 基于X.25数据链路的建立和包交换流程 265
10.3 干扰机模型 266
10.4 OPNET IPv6模块介绍与仿真 267
10.4.1 ICMPv6 Route Print场景 268
10.4.2 Manual Tunnel场景 276
10.5 小区系统模型 278
10.5.1 模型的导入 278
10.5.2 模型的适用范围和限制 279
10.5.3 模型包含的文件 280
10.5.4 模型的属性 281
10.5.5 模型的接口 281
第4部分 OPNET Modeler的高级应用 284
第11章 自定义动画编程的运用 284
11.1 动态队列计量器 284
11.1.1 设置探针属性 284
11.1.2 动态队列计量器动画程序讲解 286
11.2 无线包传输 293
11.2.1 设置探针属性 293
11.2.2 无线包传输动画初始化程序 293
11.2.3 在接收功率阶段加入动画程序 295
11.2.4 在干扰噪声功率计算阶段加入动画程序 297
11.2.5 在错误纠正阶段加入动画程序 297
12.2 自定义的应用协议 299
第12章 自定义流媒体协议的实现 299
12.1 OPNET应用层建模构架 299
12.3 修改网络应用管理头文件 304
12.4 应用配置进程模型中增加应用属性 305
12.5 在应用配置进程模块中增加流媒体应用分析程序 306
12.6 业务规格管理进程模型中增加流媒体应用启动程序 309
12.7 创建流媒体应用管理进程模型和客户端进程模型 310
12.8 修改网络应用支持头文件 312
12.9 修改网络应用管理进程模型 313
12.10 设定参数并运行仿真 314
第13章 自定义IP协议的实现 316
13.1 自定义IP协议接口 316
13.2 IP包的创建和高层数据包的封装 317
13.3 IP路由表初始化 318
13.4 路由表的查找 321
14.1 EMA配置网络模型 323
第14章 图形化建模和文本方式建模EMA 323
14.2 EMA与外部数据的接口 324
14.2.1 EMA设置对象的固有属性 325
14.2.2 EMA设置对象的自定义属性 328
第15章 高级体系架构(HLA) 331
15.1 RTI的安装及其环境变量的设置 332
15.2 建立控制联邦成员 334
15.3 OPNET HLA仿真实例 336
15.3.1 准备所需的文件 336
15.3.2 运行HLA仿真环境 338
15.3.3 实现HLA交互 340
15.3.4 多个OPNET联邦成员联机仿真 346
附录A 本书中英文术语对照表 348
附录B 参考文献 353