第1章 OPNET简介 1
1.1 网络仿真概述 1
1.1.1 什么是网络仿真 1
1.1.2 网络仿真需要关心的问题 2
1.1.3 常用的仿真流程 3
1.2 OPNET Modeler简介 3
1.2.1 OPNET的系列产品简介 3
1.2.2 OPNET Modeler仿真平台简介 4
1.3 OPNET Modeler软件运行环境 6
1.3.1 系统需求 6
1.3.2 环境变量的设置 7
1.4 OPNET仿真应用简述 8
第2章 OPNET Modeler的快速入门 10
2.1 OPNET Modeler系统控制菜单编辑器简介 10
2.2 OPNET Modeler文件格式 13
2.3 OPNET Modeler文件的操作 15
2.3.1 文件的建立和保存 15
2.3.2 文件的打开 15
2.3.3 文件的删除 16
2.3.4 文件的命名 17
2.4 特殊文件目录 17
2.5 实例:建立简单星型网络 18
2.6 OPNET Modeler建模中的相关概念 29
3.1.1 分层 31
3.1.2 对象和模型 31
第3章 OPNET Modeler的构架和仿真机制 31
3.1 OPNET Modeler的构架 31
3.2 属性 33
3.2.1 属性的定义 33
3.2.2 属性的来源 33
3.2.3 属性的分类 34
3.2.4 属性的特性 35
3.2.5 属性的设置 37
3.2.6 属性的状态 38
3.3 OPNET Modeler网络仿真机制 38
3.3.1 事件的属性 38
3.3.2 事件的执行 39
3.3.3 仿真时间和运行优先级 42
3.4 事件的分类 43
3.5.1 基于包的通信机制 46
3.5 OPNET Modeler的通信机制 46
3.5.2 基于ICI的通信机制 49
3.5.3 基于统计线的通信机制 51
3.6 管道阶段 53
3.6.1 管道阶段的概念 53
3.6.2 管道阶段的仿真机制 53
3.6.3 各个管道阶段的目的 55
第4章 OPNET Modeler网络域建模 58
4.1 网络域的建模对象 58
4.1.1 子网 58
4.1.2 通信节点 59
4.1.3 通信链路 60
4.2 网络域的主要编辑器 64
4.2.1 菜单 65
4.3 网络拓扑的建立 71
4.2.2 工具栏 71
第5章 网络业务建模 76
5.1 网络业务建模概述 76
5.1.1 ON/OFF机制 76
5.1.2 业务分类 78
5.2 标准应用业务分类及对应参数 80
5.2.1 标准应用业务分类 80
5.2.2 应用业务建模的相关术语 80
5.2.3 OPNET Modeler标准网络应用业务的业务参数 81
5.3 应用业务配置建模的全局对象 86
5.3.1 任务全局对象 87
5.3.2 应用业务配置全局对象 89
5.3.3 应用业务规格全局对象 90
5.4 应用业务配置建模过程 92
5.4.1 标准应用业务配置建模过程 92
5.4.2 客户自定义应用业务 97
5.4.3 应用业务建模顺序 101
5.5 基于流方式建模 102
5.5.1 应用业务流添加应用业务 102
5.5.2 IP流业务建模 105
5.5.3 链路背景流建模 106
5.6 网络业务建模的实例 107
实例1:标准应用业务配置建模(1) 107
实例2:标准应用业务配置建模(2) 114
实例3:应用业务流建模 117
实例4:客户自定义建模 120
6.1 节点域建模对象 126
第6章 节点域建模 126
6.1.1 处理器模块 127
6.1.2 队列模块对象 129
6.1.3 收/发机模块对象 130
6.1.4 连接模块对象 132
6.2 节点域接口 134
6.2.1 节点模块的属性 134
6.2.2 节点接口 135
6.2.3 节点统计 136
6.2.4 设定节点信息 137
6.3 节点域编辑器 137
6.3.1 菜单 138
6.3.2 工具栏 139
6.4.2 分层协议模型的建立 140
6.4.1 节点模块的开发原则 140
6.4 建立节点模型 140
6.5 实例:排队模型 141
第7章 OPNET Modeler编程基础 148
7.1 Proto-C的组成 148
7.2 状态转移图 149
7.2.1 状态 149
7.2.2 转移 154
7.3 变量及文件 154
7.3.1 变量概述 154
7.3.2 状态变量 156
7.3.3 临时变量 156
7.3.4 全局变量 157
7.3.5 函数区及外部文件 158
7.4.1 OPNET核心函数的命名规则 159
7.4 OPNET的主要核心函数 159
7.4.2 包类核心函数 160
7.4.3 事件类核心函数 161
7.4.4 中断类核心函数 163
7.4.5 进程类核心函数 165
7.4.6 队列和子队列类核心函数 166
7.4.7 编程类核心函数 167
7.4.8 分布类核心函数 169
7.4.9 流核心函数 169
7.4.10 接口控制类核心函数 170
7.4.11 标识类核心函数 170
7.4.12 分割与重组类核心函数 172
7.4.13 拓扑结构类核心函数 173
7.4.14 统计类核心函数 173
7.4.16 传输类核心函数 174
7.4.15 表格类核心函数 174
7.5 进程的控制 175
7.5.1 动态进程 175
7.5.2 进程的内存构架 175
7.5.3 动态进程的操作 177
第8章 OPNET Modeler进程域建模 179
8.1 进程域编辑器 179
8.1.1 菜单 179
8.1.2 工具栏 181
8.2 进程域的属性 181
8.3 进程模型开发方法 183
8.3.1 定义系统的上下关系 184
8.3.2 确定节点模块及节点模块间的通信机制 184
8.3.4 事件的枚举 186
8.3.3 分解进程 186
8.3.6 开发状态转移图 187
8.3.5 状态层上进程的分解 187
8.3.7 进程动作说明 189
8.3.8 初始状态的选择 192
8.4 实例:包交换模型(1) 192
第9章 OPNET程序调试 210
9.1 ODB的基本概念 211
9.2 ODB的基本命令 211
9.2.1 ODB的进入和退出 211
9.2.2 ODB使用帮助 213
9.2.3 ODB命令简介 213
9.2.4 ODB的显示及缓存调整 215
9.3.1 常见问题 216
9.3 ODB的常见错误及实例 216
9.3.2 ODB的使用过程 218
9.4 实例:调试——包交换模型(2) 218
9.5 与VC的联合调试 226
第10章 仿真统计的收集和结果输出 227
10.1 数据收集 227
10.1.1 数据收集阶段 227
10.1.2 仿真输出类型 228
10.2 统计收集机制——探针 229
10.2.1 探针的概念 229
10.2.2 探针分类 230
10.2.3 探针编辑器 233
10.3.1 矢量统计 234
10.3 统计量的收集 234
10.3.2 标量统计 236
10.3.3 探针的属性 237
10.4 仿真执行 238
10.4.1 仿真输入控制 238
10.4.2 仿真执行环境参数说明 239
10.5 输出结果显示 244
10.5.1 矢量文件的输出显示 244
10.5.2 标量文件的输出显示 245
10.6 仿真统计的实例 245
实例1:建立探针收集矢量统计 245
实例2:收集标量文件 248
实例3:多个仿真统计的定义方式——包交换模型(3) 251
11.1 OPNET Modeler无线通信仿真基础 256
第11章 无线建模 256
11.2 无线建模对象 257
11.2.1 无线建模的网络域对象 257
11.2.2 无线建模的节点域对象 259
11.3 运动轨迹 260
11.3.1 分段定义轨迹 260
11.3.2 矢量定义轨迹 263
11.4 无线管道阶段机制 263
11.4.1 无线链路的建模特点 264
11.4.2 无线管道阶段概述 265
11.4.3 无线管道各个阶段的作用 270
11.5 天线建模 278
11.5.1 空间位置的表示 278
11.5.2 天线建模的基本原理 279
11.5.3 天线编辑器 280
11.6 调制曲线 282
11.7 无线链路建模实例 283
第12章 OPNET Modeler网络分析工具 296
12.1 ACE及解码模块 296
12.1.1 ACE的特征 296
12.1.2 ACE的工作流程 297
12.1.3 仿真网络中ACE的捕捉 298
12.1.4 观看结果 298
12.1.5 AppDoctor的网络分析 303
12.1.6 AppDoctor的快速预测 306
12.2.1 网络医生的工作流程 308
12.2.2 规则的选取 308
12.2 网络医生 308
12.2.3 输出结果 310
12.3 流分析 310
12.3.1 流分析的特点 311
12.3.2 流分析的工作流程 311
12.3.3 IP流分析 312
12.4 专家服务预测系统 318
12.4.1 专家服务预测的特点 318
12.4.2 定义服务水平 318
12.5 利用网络分析工具建模的实例 318
实例1:基于ACE向导下的ACE实例 318
实例2:手动配置下的ACE实例 323
实例3:专家服务预测系统建模 328
参考文献 334