内 部 交 流 翻 版 必 究
2 OPNET 网 络 仿 真 陈 敏 作 者 简 介 :Min Chen was born on Dec. 1980. He received BS, MS and Ph.D degree from Dept. of Electronic Engineering, South China University of Technology, in 1999, 2001 and 2004, respectively. He is a postdoctoral fellow in Communications Group, Dept. of Electrical and Computer Engineering, University of British Columbia since from 2006 to 2008 http://www.ece.ubc.ca/~minchen/. He was a postdoctoral fellow in School of Computer Science and Engineering, Seoul National University in 2004 and 2005 http://mmlab.snu.ac.kr/~mchen/. His current research interests include wireless sensor network, wireless ad hoc network, and video transmission over wireless networks. 引 言 近 年 来, 由 于 网 络 日 趋 复 杂 网 络 规 模 日 趋 庞 大, 网 络 仿 真 技 术 应 用 于 网 络 规 划 和 设 计 的 需 求 日 渐 强 烈 我 国 网 络 仿 真 虽 然 起 步 较 晚, 但 是 网 络 的 迅 猛 发 展 必 将 强 劲 地 拉 动 网 络 仿 真 技 术 的 研 究 和 应 用 未 来 数 年 将 是 网 络 仿 真 技 术 蓬 勃 发 展 的 时 期, 今 后 网 络 仿 真 必 将 成 为 数 据 网 络 规 划 设 计 不 可 缺 少 的 环 节 如 何 有 效 逼 真 地 对 复 杂 的 通 信 系 统 进 行 建 模 仿 真 是 个 富 有 挑 战 性 的 课 题, 网 络 仿 真 的 种 种 困 难 随 着 OPNET NS2 等 网 络 仿 真 工 具 的 诞 生 迎 刃 而 解, 而 OPNET 是 目 前 网 络 仿 真 工 具 中 的 很 好 的 一 个, 但 是 由 于 操 作 复 杂, 使 用 者 一 般 需 要 半 年 或 以 上 时 间 的 培 训 和 自 行 研 究 才 能 熟 练 地 掌 握 针 对 这 个 问 题, 本 书 基 于 对 OPNET 软 件 的 研 究, 由 浅 入 深 地 介 绍 了 用 其 进 行 通 信 仿 真 系 统 建 模 的 整 个 过 程 本 书 第 1 章 针 对 暂 时 没 使 用 过 OPNET 的 读 者, 侧 重 于 对 Modeler 仿 真 环 境 和 工 具 的 纲 要 性 介 绍 通 过 一 个 简 单 的 例 子 说 明 如 何 建 立 网 络 模 块, 包 括 定 义 拓 扑, 设 定 业 务 流 量, 收 集 统 计 量, 分 析 仿 真 结 果 ; 第 2 章 介 绍 OPNET Modeler 的 安 装 ; 作 为 Modeler 用 户, 要 创 建 自 己 新 的 协 议 模 块, 首 先 必 须 了 解 OPNET 采 用 何 种 仿 真 机 制, 第 3 章 介 绍 了 一 些 OPNET 主 要 的 通 信 机 制, 比 如 基 于 事 件 出 发 的 模 拟 方 式 如 何, 封 包 是 怎 样 传 输 的 ; 第 4 章 介 绍 OPNET 中 所 有 的 编 译 器 ; 第 5 章 介 绍 如 何 收 集 查 看 分 析 及 发 布 仿 真 结 果 的 有 关 操 作 ; 第 6 章 读 者 将 简 单 地 建 立 网 络 模 型 节 点 模 型 和 进 程 模 块, 并 收 集 统 计 量 及 分 析 仿 真 结 果, 从 而 了 解 OPNET Modeler 编 程 的 基 本 流 程, 接 着 描 述 了 OPNET 各 类 核 心 函 数 功 能 如 何, 在 何 处 用 及 怎 么 用, 之 后 介 绍 了 动 态 进 程 的 编 程 技 巧 ; 以 后 的 章 节 重 点 放 在 OPNET 使 用 的 高 级 技 巧 及 高 级 应 用 上, 这 也 是 本 书 的 主 要 内 容 所 在 当 把 网 络 模 型 建 立 起 来 后, 却 运 行 出 错, 或 者 仿 真 结 果 不 是 所 要, 第 7 章 将 告 诉 我 们 如 何 使 用 OPNET 自 带 的 调 试 功 能, 如 何 与 VC 结 合 联 调 ; 第 8 章 介 绍 如 何 对 业 务 进 行 模 拟, 如 何 选 择 并 组 合 不 同 的 业 务 建 模 技 巧, 如 何 在 仿 真 精 确 度 和 时 间 上 达 到 一 个 最 好 的 平 衡 点 ; 第 9 章 介 绍 无 线 建 模 的 功 能 和 所 支 持 的 移 动 方 式 有 哪 些, 无 线 链 路 中 各 种 各 样 的 影 响 在 OPNET 中 如 何 体 现, 应 该
第 1 章 OPNET 仿 真 概 述 3 如 何 修 改 由 于 无 线 固 有 的 广 播 传 输 方 式 带 来 的 仿 真 时 间 急 剧 增 加, 那 么 如 何 缩 短 仿 真 时 间 和 提 高 仿 真 效 率 ; 第 10 章 重 点 介 绍 了 当 前 热 门 的 无 线 IEEE 802.11 模 块 ; 针 对 某 些 读 者 对 动 画 的 强 烈 兴 趣, 第 11 章 将 介 绍 如 何 对 动 画 进 行 编 程 ; 第 12 章 将 通 过 一 个 自 定 义 流 体 协 议 教 程 将 读 者 带 入 OPNET 应 用 层 的 内 部 构 架 ; 第 13 章 介 绍 如 何 建 立 一 个 简 单 的 IP 协 议 ; 第 14 章 和 第 15 章 对 EMA 和 HLA 的 应 用 性 讲 解 相 信 会 受 到 某 些 读 者 的 强 烈 关 注 本 书 最 大 特 点 是 尽 量 配 合 Modeler 实 际 操 作 并 参 杂 作 者 大 量 的 实 际 经 验, 从 而 使 读 者 可 以 较 好 地 理 解 OPNET 当 中 的 运 作 陈 敏 2004 年 于 广 州 目 录 第 1 部 分 OPNET Modeler 简 介 第 1 章 OPNET 仿 真 概 述...6 1.1 网 络 仿 真 简 介 1.2 OPNET 简 介 1.3 OPNET 网 络 环 境 1.4 OPNET 编 辑 器 简 介 1.5 配 置 一 个 简 单 的 网 络 1.5.1 定 义 问 题...28 1.5.2 建 立 网 络 拓 扑 结 构...28 1.5.3 收 集 统 计 量...36 1.5.4 保 存 项 目...38 1.5.5 运 行 仿 真...38 1.5.6 查 看 结 果...39 1.5.7 复 制 场 景 并 扩 展 网 络...40 1.5.8 再 次 运 行...42 1.5.9 比 较 结 果...42 第 2 章 OPNET Modeler 环 境 变 量 的 设 置 及 文 件 管 理...45 2.1 OPNET Modeler 环 境 变 量 的 设 置...45 2.1.1 Windows 2000 下 环 境 变 量 的 设 置...45 2.1.2 Unix 下 环 境 变 量 的 设 置...45 2.2 OPNET 常 用 文 件 格 式...24
4 OPNET 网 络 仿 真 陈 敏 2.3 OPNET 文 件 管 理 第 2 部 分 OPNET Modeler 使 用 ( 基 本 篇 ) 第 3 章 OPNET 的 通 信 仿 真 机 制...48 3.1 离 散 事 件 仿 真 机 制...48 3.1.1 OPNET 中 的 事 件 推 进 机 制...48 3.1.2 同 一 时 刻 事 件 优 先 级 的 界 定...49 3.2 基 于 包 的 通 信...50 3.3 使 用 接 口 控 制 信 息 进 行 通 信...53 3.4 点 对 点 和 总 线 管 道 阶 段 第 5 章 收 集 查 看 导 出 以 及 发 布 仿 真 结 果... 115 5.1 收 集 统 计 量... 115 5.1.1 收 集 矢 量 统 计 量... 115 5.1.2 收 集 标 量 统 计 量... 116 5.2 查 看 和 导 出 仿 真 结 果... 116 5.3 发 布 仿 真 结 果 第 6 章 OPNET Modeler 编 程 基 础... 118 6.1 从 例 程 开 始 创 建 一 个 包 交 换 网 络... 118 6.1.1 概 述... 118 6.1.2 开 始 建 立... 118 6.1.3 创 建 新 的 包 格 式...120 6.1.4 创 建 新 的 链 路 模 型...121 6.1.5 创 建 中 心 交 换 节 点 模 型...123 6.1.6 创 建 hub 进 程 模 型...126 6.1.7 创 建 周 边 节 点 模 型...128 6.1.8 创 建 网 络 模 型...135 6.1.9 收 集 统 计 量 并 分 析 结 果...137 6.1.10 配 置 仿 真...138 6.1.11 运 行 仿 真...140 6.2 OPNET Modeler 核 心 函 数 介 绍...143 6.2.1 动 画 类 核 心 函 数...143 6.2.2 分 布 类 核 心 函 数...149 6.2.3 事 件 类 核 心 函 数...150 6.2.4 接 口 控 制 类 核 心 函 数...152 6.2.5 标 识 类 核 心 函 数...152
第 1 章 OPNET 仿 真 概 述 5 6.2.6 内 部 模 型 访 问 类 核 心 函 数...153 6.2.7 中 断 类 核 心 函 数...154 6.2.8 包 类 核 心 函 数...155 6.2.9 进 程 类 核 心 函 数...157 6.2.10 队 列 类 核 心 函 数...158 6.2.11 分 割 与 组 装 类 核 心 函 数...159 6.2.12 统 计 类 核 心 函 数...162 6.2.13 队 列 和 子 队 列 类 核 心 函 数...163 6.2.14 表 格 类 核 心 函 数...165 6.2.15 传 输 类 核 心 函 数...165 6.2.16 拓 扑 结 构 类 核 心 函 数...165 6.2.17 编 程 类 核 心 函 数...166 6.3 子 进 程...168 6.3.1 有 关 进 程 的 几 个 概 念...169 6.3.2 子 进 程 的 初 始 化...170 6.3.3 仿 真 核 心 使 用 权 的 管 理 模 式...170 6.3.4 进 程 对 仿 真 核 心 控 制 权 获 取 方 式 的 识 别...172 6.3.5 进 程 间 的 内 存 共 享 机 制...173 6.3.6 使 用 子 进 程 可 能 出 现 的 几 种 错 误 第 3 部 分 OPNET Modeler 使 用 ( 高 级 篇 ) 186 第 7 章 OPNET 的 调 试...175 7.1 查 看 OPNET 日 志 文 件 7.2 使 用 OPNET Debugger 调 试...175 7.2.1 ODB 调 试 概 述...175 7.2.2 针 对 结 构 错 误 (Structural Error) 的 ODB 调 试 实 例 7.2.3 针 对 逻 辑 错 误 的 ODB 调 试 实 例 7.2.4 针 对 进 程 模 块 的 ODB 调 试...176 7.2.5 调 整 ODB 窗 口 缓 存 大 小...181 7.3 OPNET 与 Visual C++ 联 合 调 试...183 7.3.1 VC 的 安 装 及 环 境 变 量 的 设 置...183 7.3.2 修 改 OPNET 有 关 与 VC 联 合 调 试 的 属 性...184 7.3.3 仿 真 时 OPNET 与 VC 联 合 调 试 的 步 骤...185 7.4 常 见 错 误 及 其 说 明 第 8 章 业 务 建 模 8.1 ON/OFF 业 务 建 模 8.2 配 置 标 准 端 对 端 业 务
6 OPNET 网 络 仿 真 陈 敏 8.2.1 设 定 应 用 参 数 8.2.2 设 定 业 务 主 询 8.2.3 配 置 服 务 器 支 持 的 应 用 8.2.4 设 定 客 户 端 业 务 主 询 8.3 自 定 义 多 端 业 务 8.4 流 业 务 建 模 技 巧 8.4.1 针 对 话 音 和 视 频 业 务 背 景 流 的 设 置 8.4.2 应 用 流 背 景 流 建 模 8.4.3 网 络 层 背 景 流 建 模 8.4.4 Micro-Simulation 技 术 8.5 链 路 背 景 业 务 建 模 8.6 混 合 业 务 建 模 第 9 章 无 线 信 道 建 模...186 9.1 无 线 模 拟 简 介 9.2 无 线 移 动 方 式 9.2.1 分 段 移 动 方 式 9.2.2 设 置 向 量 轨 迹 的 方 式 9.2.3 修 改 节 点 的 位 置 属 性 9.2.4 使 用 移 动 配 置 器 (Mobility Config) 9.3 无 线 收 发 机 管 道 建 模...205 9.3.1 接 收 主 询...205 9.3.2 传 输 时 延...206 9.3.3 物 理 可 达 性...206 9.3.4 信 道 匹 配...206 9.3.5 发 射 机 天 线 增 益...207 9.3.6 传 播 延 时...208 9.3.7 收 信 机 天 线 增 益...208 9.3.8 接 收 功 率...209 9.3.9 干 扰 噪 声 功 率...210 9.3.10 背 景 噪 声 功 率...210 9.3.11 信 噪 比... 211 9.3.12 误 比 特 率...212 9.3.13 错 误 分 布...212 9.3.14 错 误 纠 正...212 9.4 加 快 无 线 仿 真 的 速 度 9.4.1 采 用 优 化 的 仿 真 核 心 9.4.2 在 仿 真 中 动 态 删 减 接 收 主 询 成 员
第 1 章 OPNET 仿 真 概 述 7 9.4.3 简 化 无 线 封 包 的 复 制 9.4.4 动 态 更 新 接 收 主 询 9.4.5 通 过 无 线 区 域 划 分 接 收 主 询 9.4.6 过 滤 无 关 的 管 道 阶 段 9.4.7 采 用 并 行 仿 真 9.5 创 建 一 个 移 动 无 线 网 络...187 9.2.1 概 述...187 9.2.2 开 始 建 立...187 9.2.3 创 建 天 线 模 型...188 9.2.4 创 建 指 向 处 理 器...192 9.2.5 创 建 节 点 模 型...193 9.2.6 创 建 网 络 模 型...197 9.2.7 收 集 统 计 量 并 运 行 仿 真...199 9.2.8 查 看 并 分 析 结 果...202 第 10 章 OPNET 标 准 模 块 介 绍...215 10.1 IEEE 802.11 模 块 内 部 结 构 及 仿 真...215 10.1.1 IEEE 802.11 无 线 局 域 网 概 述...215 10.1.2 无 线 局 域 网 的 协 议 行 为 建 模...215 10.1.3 IEEE 802.11 无 线 局 域 网 MAC 的 输 入 接 口...218 10.1.4 IEEE 802.11 无 线 局 域 网 MAC 的 输 出 接 口...220 10.1.5 仿 真 和 实 验...221 10.2 X.25 模 块 介 绍...224 10.2.1 引 言...224 10.2.2 基 于 X.25 传 输 控 制 协 议 的 应 用 会 话 建 立 流 程...225 10.2.3 基 于 X.25 数 据 链 路 的 建 立 和 包 交 换 流 程...226 10.3 干 扰 机 模 型...227 10.4 OPNET IPv6 模 块 介 绍 及 仿 真...257 13.1 ICMPv6 Route Print 场 景...257 13.2 Manual Tunnel...268 10.5 小 区 系 统 模 型 10.5.1 模 型 的 导 入 10.5.2 模 型 的 适 用 范 围 和 限 制 10.5.3 模 型 包 含 的 文 件 10.5.4 模 型 的 属 性 10.5.5 模 型 的 接 口
8 OPNET 网 络 仿 真 陈 敏 第 4 部 分 OPNET Modeler 的 高 级 应 用 186 第 11 章 自 定 义 动 画 编 程 的 运 用...244 11.1 动 态 队 列 计 量 器...244 11.1.1 设 置 探 针 属 性 11.1.2 动 态 队 列 计 量 器 动 画 程 序 讲 解 11.2 无 线 包 传 输...245 11.2.1 设 置 探 针 属 性 11.2.2 无 线 包 传 输 动 画 初 始 化 程 序 11.2.3 在 接 收 功 率 阶 段 加 入 动 画 程 序 11.2.4 在 干 扰 噪 声 功 率 计 算 阶 段 加 入 动 画 程 序 11.2.5 在 错 误 纠 正 阶 段 加 入 动 画 程 序 第 12 章 自 定 义 流 媒 体 协 议 的 实 现...231 12.1 OPNET 应 用 层 建 模 构 架...231 12.2 自 定 义 的 应 用 协 议...232 12.3 修 改 头 文 件 gna_mgr.h...236 12.4 在 应 用 配 置 进 程 模 型 中 增 加 应 用 属 性...237 第 13 章 自 定 义 IP 协 议 的 实 现 13.1 自 定 义 IP 协 议 接 口 13.2 IP 包 的 创 建 和 高 层 数 据 包 的 封 装 13.3 IP 路 由 表 初 始 化 13.4 路 由 表 的 查 找 第 14 章 图 形 化 建 模 和 文 本 方 式 建 模 EMA...229 14.1 EMA 配 置 网 络 模 型...229 14.2 EMA 与 外 部 数 据 的 接 口 14.2.1 EMA 设 置 对 象 的 固 有 属 性 14.2.2 EMA 设 置 对 象 的 自 定 义 属 性 第 15 章 高 级 体 系 架 构 (HLA)...254 15.1 RTI 的 安 装 及 其 环 境 变 量 设 置 15.2 建 立 控 制 联 邦 成 员 15.3 OPNET HLA 仿 真 实 例 15.3.1 准 备 所 需 的 文 件 15.3.2 运 行 HLA 仿 真 环 境 15.3.3 实 现 HLA 交 互 15.3.4 多 个 OPNET 联 邦 成 员 联 机 仿 真 附 录 A 本 书 中 英 文 术 语 对 照 表 271 附 录 B 参 考 文 献 271
第 1 章 OPNET 仿 真 概 述 9 附 录 C 关 于 本 书 存 在 的 问 题 第 1 部 分 OPNET Modeler 简 介 第 1 章 OPNET 仿 真 概 述 1.1 网 络 仿 真 简 介 在 今 天 的 信 息 技 术 时 代, 网 络 结 构 和 规 模 日 趋 复 杂 庞 大, 表 现 在 多 种 类 型 的 网 络 日 益 走 向 融 合, 业 务 种 类 增 加, 网 络 负 载 日 益 繁 重, 新 的 网 络 技 术 也 层 出 不 穷, 因 此 如 何 对 现 有 网 络 进 行 优 化 设 计 和 规 划 是 个 非 常 富 有 挑 战 性 的 课 题 对 于 企 业 网 络, 在 建 设 网 络 开 展 网 上 业 务 之 前, 需 要 对 配 置 的 网 络 设 备 所 采 用 的 网 络 技 术 承 载 的 网 络 业 务 等 方 面 的 投 资 进 行 综 合 分 析 和 评 估, 提 出 性 能 价 格 比 最 优 的 解 决 方 案 对 于 运 营 商 网 络, 面 对 用 户 的 增 加, 新 业 务 的 推 出 以 及 新 的 网 络 技 术 的 出 现, 技 术 人 员 和 网 管 如 果 需 要 知 道 可 能 给 网 络 带 来 瓶 颈 的 原 因 是 什 么, 是 业 务 过 于 繁 重 网 络 带 宽 不 够 还 是 服 务 器 处 理 速 度 不 高 如 果 网 络 上 增 设 新 的 业 务, 对 网 络 性 能 有 什 么 影 响 如 果 拟 采 用 新 的 网 络 技 术 对 网 络 进 行 升 级, 网 络 的 性 能 会 有 多 大 幅 度 的 改 善, 相 比 之 下 投 入 是 否 值 得, 新 技 术 的 引 进 是 否 会 给 网 络 性 能 带 来 负 面 影 响 ; 对 于 从 事 新 协 议 的 研 发 机 构, 如 何 有 效 逼 真 地 模 拟 协 议 各 种 行 为 细 节, 如 何 构 建 接 近 真 实 有 代 表 性 的 网 络 环 境 和 业 务, 使 得 测 试 结 果 能 够 公 正 地 评 判 新 协 议 的 性 能? 无 论 是 构 建 新 网 络, 升 级 改 造 现 有 网 络, 或 者 测 试 新 协 议, 都 需 要 对 网 络 的 可 靠 性 和 有 效 性 进 行 客 观 地 评 估, 从 而 降 低 网 络 建 设 的 投 资 风 险, 使 设 计 的 网 络 有 很 高 的 性 能, 或 者 使 测 试 结 果 能 够 真 实 反 映 新 协 议 的 表 现 传 统 网 络 设 计 和 规 划 方 法 主 要 靠 经 验, 对 复 杂 的 大 型 网 络, 很 多 地 方 由 于 无 法 预 知 而 抓 不 住 设 计 的 要 点 因 此 越 来 越 需 要 一 种 新 的 网 络 规 划 和 设 计 手 段 在 这 种 情 况 下 网 络 仿 真 作 为 一 种 新 的 网 络 规 划 和 设 计 技 术 应 运 而 生, 它 以 其 独 有 的 方 法 为 网 络 的 规 划 设 计 提 供 客 观 可 靠 的 定 量 依 据, 缩 短 网 络 建 设 周 期, 提 高 网 络 建 设 中 决 策 的 科 学 性 网 络 仿 真 技 术 目 前 已 经 逐 渐 成 为 网 络 规 划 设 计 和 开 发 中 的 主 流 技 术
10 OPNET 网 络 仿 真 陈 敏 在 国 外, 网 络 仿 真 技 术 的 研 究 和 应 用 已 经 有 十 多 年 的 历 史 以 前 主 要 用 于 网 络 协 议 和 网 络 设 备 的 开 发 和 研 究, 使 用 者 大 都 是 大 学 和 研 究 所 的 研 究 和 开 发 人 员, 近 年 来 网 络 仿 真 软 件 生 产 厂 商 近 年 来 纷 纷 把 应 用 和 开 发 重 点 转 向 网 络 规 划 和 设 计 方 面, 将 用 户 由 原 来 的 研 究 开 发 人 员 转 向 网 络 规 划 和 设 计 人 员, 另 一 方 面 网 络 仿 真 规 划 设 计 软 件 的 使 用 和 操 作 相 当 复 杂, 还 远 没 有 达 到 一 般 网 络 规 划 设 计 人 员 经 过 短 时 间 培 训 就 能 够 熟 练 使 用 的 目 标, 因 此 国 外 网 络 仿 真 软 件 厂 家 正 致 力 于 简 化 软 件 界 面 和 操 作 流 程, 强 化 软 件 的 项 目 应 用 能 力, 特 别 是 加 强 了 与 网 络 管 理 软 件 厂 商 的 合 作, 开 发 与 网 管 软 件 的 接 口, 使 得 网 络 模 型 的 建 立 逐 步 自 动 化, 加 快 网 络 建 模 的 速 度 我 国 的 网 络 仿 真 技 术 的 研 究 1999 年 刚 刚 起 步, 这 主 要 有 两 个 原 因, 一 个 是 我 国 数 据 网 络 的 发 展 较 晚, 对 网 络 仿 真 技 术 的 需 求 相 对 不 是 十 分 迫 切 ; 另 一 个 原 因 是 主 流 的 网 络 仿 真 软 件 基 本 上 产 自 美 国, 而 其 高 端 产 品 在 1998 年 以 前 一 直 是 对 包 括 中 国 在 内 的 社 会 主 义 国 家 禁 运 近 年 来, 特 别 是 1998 年 以 来, 由 于 我 国 数 据 网 络 的 迅 猛 发 展 的 拉 动 和 美 国 解 除 高 端 网 络 仿 真 软 件 出 口 的 限 制 的 刺 激, 我 国 的 网 络 仿 真 研 究 和 应 用 逐 步 起 步 具 体 来 说, 网 络 仿 真 技 术 是 一 种 通 过 建 立 网 络 设 备 链 路 和 协 议 模 型, 并 模 拟 网 络 流 量 的 传 输, 从 而 获 取 网 络 设 计 或 优 化 所 需 要 的 网 络 性 能 数 据 的 仿 真 技 术 从 应 用 的 角 度 上 看, 网 络 仿 真 技 术 有 以 下 特 点 :(1) 全 新 的 模 拟 实 验 机 理, 使 其 具 有 在 高 度 复 杂 的 网 络 环 境 下 得 到 高 可 信 度 结 果 的 特 点 网 络 仿 真 的 预 测 功 能 是 其 他 任 何 方 法 都 无 法 比 拟 的 ;(2) 使 用 范 围 广, 既 可 以 用 于 现 有 网 络 的 优 化 和 扩 容, 也 可 以 用 于 新 网 络 的 设 计, 而 且 特 别 适 用 于 大 中 型 网 络 的 设 计 和 优 化 ;(3) 初 期 应 用 成 本 不 高, 而 且 建 好 的 网 络 模 型 可 以 延 续 使 用, 后 期 投 资 还 会 不 断 下 降 网 络 仿 真 技 术 在 网 络 规 划 设 计 方 面 的 应 用 在 我 国 刚 刚 起 步, 即 使 是 在 国 外, 也 还 只 是 处 于 初 级 阶 段, 特 别 是 在 大 型 网 络 和 复 杂 网 络 的 应 用 方 面, 尚 存 在 不 少 重 要 的 项 目 技 术 问 题 需 要 解 决, 部 分 已 解 决 的 问 题 也 仍 需 进 一 步 深 入 研 究 和 探 讨 1.2 OPNET Modeler 仿 真 平 台 简 介 OPNET 最 早 是 在 1986 年 由 麻 省 理 工 大 学 的 两 个 博 士 创 建 的, 并 发 现 网 络 模 拟 非 常 有 价 值, 因 此 于 1987 年 建 立 了 商 业 化 的 OPNET 目 前 共 有 大 概 2700 个 OPNET 用 户, 包 括 企 业 网 络 运 营 商 仪 器 配 备 厂 商, 以 及 军 事 教 育 银 行 保 险 等 领 域 OPNET 近 几 年 赢 得 的 大 量 奖 项 是 对 其 在 网 络 仿 真 中 所 采 用 的 精 确 模 拟 方 式 及 其 呈 现 结 果 的 充 分 肯 定 在 设 备 制 造 领 域, 企 业 界 如 Cisco, 运 营 商 如 AT&T, 采 用 OPNET 做 各 种 各 样 的 模 拟 和 调 试 在 国 防 领 域, 主 要 被 美 国 广 泛 采 用, 其 他 国 家 大 多 低 调 处 理 在 OPNET 各 种 产 品 中,Modeler 几 乎 包 含 其 他 产 品 的 功 能, 针 对 不 同 的 领 域, 它 表 现 出 不 同 的 用 途 :(1) 对 于 企 业 网 的 模 拟,Modeler 调 用 已 经 建 好 的 标 准 模 型 组 网 在 某 些 业 务 达 不 到 服 务 质 量 要 求 的 情 况 下, 如 网 上 交 易 数 据 库 等 业 务 响 应 时 间 慢 于 正 常 情 况,Modeler 捕 捉 重 要 的 流 量 进 行 分 析, 从 业
第 1 章 OPNET 仿 真 概 述 11 务 网 络 服 务 器 三 方 面 找 出 瓶 颈 ;(2) 对 于 比 企 业 网 更 复 杂 的 运 营 商 (ISP) 网 的 模 拟, Modeler 焦 点 放 在 整 个 业 务 层 流 量 的 模 拟, 使 运 营 商 有 效 查 出 业 务 配 置 中 产 生 的 错 误, 例 如 有 哪 个 服 务 器 配 置 不 好, 让 黑 客 容 易 进 攻, 有 哪 些 业 务 的 参 数 配 置 不 合 适 等 情 形 ;(3) 针 对 研 发 的 需 求,Modeler 提 供 了 一 个 开 放 的 环 境, 使 用 户 能 够 建 立 新 的 协 议 和 配 备, 并 且 能 够 将 细 节 定 义 并 模 拟 出 来 本 书 侧 重 于 使 用 Modeler 进 行 研 发 的 场 合, 使 得 其 能 将 深 层 次 的 细 节 完 全 精 确 模 拟 的 特 点 体 现 出 来, 这 是 传 统 方 式 不 足 以 做 到 的 Modeler 所 能 应 用 的 各 种 领 域 包 括 端 到 端 结 构 (End to End Network Architecture Design) 系 统 级 的 仿 真 (System Level Simulation for Network Devices) 新 的 协 议 开 发 和 优 化 (Protocol Development and Optimization) 网 络 和 业 务 层 配 合 如 何 达 到 最 好 的 性 能 (Network Application Optimization and Deployment Analysis) 举 例 来 说, 在 端 到 端 结 构 上 的 应 用 中, 从 IPv4 网 络 升 级 为 IPv6, 采 用 哪 种 技 术 方 式 对 转 移 效 果 比 较 好 ; 新 协 议 的 开 发, 如 目 前 流 行 的 3G 无 线 协 议 在 系 统 级 的 仿 真 中, 分 析 一 种 新 的 路 由 或 调 度 算 法 如 何 使 路 由 器 或 者 交 换 机 达 到 QoS; 在 网 络 和 业 务 之 间 如 何 优 化 方 面, 可 以 分 析 新 引 进 的 业 务 对 整 个 网 络 的 影 响, 网 络 对 业 务 的 要 求, 实 际 中 网 络 和 业 务 是 对 矛 盾, 通 过 Modeler 模 拟 来 查 找 网 络 和 业 务 之 间 所 能 达 到 最 好 的 指 标 Modeler 采 用 阶 层 性 的 模 拟 方 式 (Hierarchical Network Modeling), 从 协 议 间 关 系 看, 节 点 模 块 建 模 完 全 符 合 OSI 标 准, 业 务 层 ->TCP 层 ->IP 层 ->IP 封 装 层 ->ARP 层 ->MAC 层 -> 物 理 层 ; 从 网 络 物 件 层 次 关 系 看, 提 供 了 三 层 建 模 机 制, 最 底 层 为 进 程 (Process) 模 型, 以 状 态 机 来 描 述 协 议 ; 其 次 为 节 点 (Node) 模 型, 由 相 应 的 协 议 模 型 构 成, 反 映 设 备 特 性 ; 最 上 层 为 网 络 模 型 三 层 模 型 和 实 际 的 协 议 设 备 网 络 完 全 对 应, 全 面 反 映 了 网 络 的 相 关 特 性 Modeler 采 用 面 向 对 象 模 拟 方 式 (Object-oriented Modeling), 每 一 类 节 点 开 始 都 采 用 相 同 的 节 点 模 型, 再 针 对 不 同 的 对 象, 设 置 特 定 的 参 数 例 如, 配 置 多 个 WLAN 工 作 站, 它 们 采 用 相 同 的 节 点 模 块, 界 面 上, 可 以 设 置 不 同 的 IP 地 址 和 WLAN 参 数 基 于 事 件 出 发 的 有 限 状 态 机 建 模 (Finite State Machine Modeling), 避 免 以 时 间 出 发, 变 成 以 事 件 出 发 的 建 模 采 用 离 散 事 件 驱 动 (Discrete Event Driven) 的 模 拟 机 理, 与 时 间 驱 动 相 比, 计 算 效 率 得 到 了 很 大 提 高 例 如 在 仿 真 路 由 协 议 时, 如 果 要 了 解 封 包 是 否 到 达, 不 必 要 每 隔 很 短 时 间 去 周 期 性 地 查 看 一 次, 而 是 收 到 封 包, 事 件 到 达 才 去 看 每 一 时 刻, FSM 将 停 留 在 特 定 状 态, 之 后 收 到 事 件, 完 成 事 件 并 跳 转 状 态 例 如 路 由 协 议 要 做 的 事 有 获 取 周 边 节 点 地 址, 建 立 拓 扑 信 息, 之 后 路 由 表 稳 定 下 来, 在 收 到 封 包 将 其 转 发 到 下 一 个 节 点, 这 些 事 件 中 断 将 引 起 相 应 的 状 态 转 移 在 Modeler 中 所 有 代 码, 各 种 协 议 的 代 码 都 是 完 全 公 开 (Total Openness), 每 一 个 代 码 的 注 释 也 是 非 常 清 楚, 使 得 用 户 更 容 易 理 解 协 议 的 内 部 运 作 采 用 混 合 建 模 机 制, 把 基 于 包 的 分 析 方 法 和 基 于 统 计 的 数 学 建 模 方 法 结 合 起 来, 既 可 得 到 非 常 细 节 的 模 拟 结 果, 也 大 大 提 高 了 仿 真 效 率 仿 真 引 擎 的 效 率 方 面,Modeler 10.0 使 整 个 仿 真 速 度 更 加 提 高, 同 样 一 个 仿 真 节 省 大 约 一 半 时 间, 同 时 引 入 并 行 仿 真 使 得 无 论 无 线 还 是 有 线 的 仿 真 更 加 快 速
12 OPNET 网 络 仿 真 陈 敏 在 物 件 拼 盘 中, 包 含 了 详 尽 的 模 型 库 ( 设 备 链 路 及 详 细 的 协 议 ), 包 括 : 路 由 器 交 换 机 服 务 器 客 户 机 ATM 设 备 DSL 设 备 ISDN 设 备 等, 还 有 其 他 厂 商 提 供 的 配 备, 随 着 OPNET 版 本 的 提 高 模 型 库 也 不 断 增 加 Modeler 也 提 供 了 多 种 业 务 模 拟 方 式, 具 有 丰 富 的 收 集 分 析 统 计 量, 查 看 动 画 和 调 试 等 功 能 它 可 以 直 接 收 集 常 用 的 各 个 网 络 层 次 的 性 能 统 计 参 数, 能 够 方 便 地 编 制 和 输 出 仿 真 报 告, 如 图 1-1 所 示 图 1-1 Modeler 层 次 化 的 建 模 机 制 和 集 成 的 建 模 仿 真 和 分 析 环 境 使 用 Modeler 仿 真 可 以 大 体 分 成 6 个 步 骤, 分 别 是 配 置 网 络 拓 扑 (Topology), 配 置 业 务 (Traffic), 收 集 结 果 统 计 量 (Statistics), 运 行 仿 真 (Simulation), 调 试 模 块 再 次 仿 真 (Re-simulation), 最 后 发 布 结 果 和 拓 扑 报 告 (Report), 这 些 步 骤 可 以 总 结 为 两 个 t 两 个 s 和 两 个 r 为 了 让 Modeler 表 现 更 加 出 色, 功 能 更 强,OPNET 提 供 了 需 要 额 外 费 用 的 附 加 的 模 组, 在 此 对 它 们 简 单 介 绍 :ACE(Application Characterization Environment) 用 来 发 现 业 务 存 在 的 问 题, 例 如 银 行 上 网 交 易 时, 刷 卡 需 要 5 秒 的 延 时,ACE 能 够 发 现 每 个 封 包 的 细 节, 并 对 各 种 业 务 协 议 的 行 为 分 解, 以 发 现 造 成 业 务 延 时 过 大 的 原 因 ;TMM(Terrain Modeling) 提 供 无 线 仿 真 中 对 地 形 模 拟 的 支 持, 导 入 电 子 地 图 可 加 入 地 形 信 息, 将 对 无 线 传 播 模 型 进 行 更 进 一 步 地 考 虑, 例 如 移 动 台 经 过 一 个 山 谷 时, 接 收 信 号 所 受 的 影 响 ;HLA(High Level Architecture) 主 要 用 于 军 事 领 域, 采 用 分 布 式 仿 真 方 式 使 得 多 个 异 构 网 联 成 一 个 大 系 统 ;
第 1 章 OPNET 仿 真 概 述 13 MVI(Multi-Vendor Import) 多 厂 商 引 进, 用 在 企 业 和 运 营 商 设 定 复 杂 设 备 参 数 的 场 合, 支 持 直 接 导 入 各 种 厂 商 的 配 置, 包 括 设 备 参 数 和 业 务 流 量, 不 需 要 手 动 建 立 假 设 有 100 台 路 由 器, 每 个 路 由 器 有 10 个 端 口, 每 个 端 口 参 数 不 相 同, 这 样 手 动 一 拉 一 点 的 参 数 输 入 方 式 可 能 需 要 2 天 时 间, 而 完 全 自 动 导 入 只 需 几 分 钟 时 间 ;ESP(Expert Service Prediction) 提 供 对 网 络 性 能 预 知 的 功 能, 例 如 运 营 商 声 称 其 ADSL 网 在 99% 情 况 下 提 供 400kbps 以 上 的 带 宽, 必 需 有 一 个 凭 据, 为 什 么 在 不 论 多 拥 塞 的 情 况 下 能 够 达 到 这 种 服 务 等 级 (SLA, Service Level Agreement);Flow Analysis 流 分 析, 收 集 流 量 和 拓 扑, 分 析 流 量 阻 塞, 配 合 Net-doctor( 网 络 医 生 ) 检 测 IP 地 址 配 置, 如 果 某 个 端 口 原 本 应 该 封 闭 而 被 打 开, 网 络 医 生 可 以 对 业 务 进 行 安 全 性 分 析 另 外 针 对 某 些 客 户 群 建 立 了 特 别 的 模 型 库, 例 如 UMTS 和 IPv6 等 模 型, 由 于 在 整 个 开 发 过 程 中 是 和 其 他 企 业 互 相 配 合 建 立 的, 因 此 需 另 外 加 费 OPNET 用 户 可 以 向 一 年 一 度 的 OPNETWORK 会 议 投 稿, 论 文 投 稿 截 止 日 期 在 每 年 的 8 月 底 于 9 月 底 在 美 国 的 华 盛 顿 召 开, 期 间 有 各 种 各 样 免 费 培 训, 吃 住 免 费 并 且 不 用 交 注 册 费 1.3 OPNET 网 络 环 境 这 一 节 我 们 将 初 步 接 触 OPNET 工 程 编 辑 器, 通 过 它 将 更 好 地 了 解 OPNET 网 络 环 境, 这 将 涉 及 两 个 相 关 的 重 要 概 念, 工 程 (Project) 与 场 景 (Scenario) 在 任 何 打 开 OPNET 时 候, 最 高 层 次 永 远 为 一 个 工 程, 每 个 工 程 底 下 的 场 景 代 表 网 络 模 块, 每 个 场 景 都 是 具 体 的, 当 进 行 建 模 时, 即 使 只 有 单 独 一 个 网 络 模 块, 也 需 要 创 建 一 个 工 程 包 含 该 场 景 具 体 来 说, 一 个 工 程 就 是 一 组 仿 真 环 境, 一 个 场 景 就 是 其 中 的 一 个 具 体 网 络 仿 真 环 境 配 置 方 案 场 景 是 网 络 的 一 个 实 例, 一 种 配 置, 如 拓 扑 结 构 协 议 应 用 流 量 以 及 仿 真 属 性 等 设 置 在 7.0 以 前 版 本 没 有 工 程 的 概 念, 它 的 提 出 初 衷 是 方 便 对 不 同 的 场 景 的 仿 真 结 果 进 行 比 较 工 程 提 供 场 景 复 制 功 能, 可 以 对 场 景 进 行 备 份, 备 份 后 的 场 景 所 有 的 配 置 及 结 果 都 相 同, 通 过 改 变 其 中 一 个 的 参 数, 查 看 参 数 改 变 后 对 结 果 的 影 响, 也 可 以 使 不 同 场 景 侧 重 系 统 的 不 同 方 面, 验 证 系 统 在 不 同 场 合 下 的 性 能 及 是 否 存 在 瓶 颈 工 程 编 辑 器 最 开 始 用 来 新 建 一 个 工 程, 指 定 工 程 名 字 和 第 一 个 场 景 名 字 后, 网 络 配 置 小 精 灵 (Startup Wizard) 就 出 来 了, 如 图 1-2 所 示
14 OPNET 网 络 仿 真 陈 敏 图 1-2 OPNET 中 配 置 网 络 的 小 精 灵 我 们 可 以 选 择 手 动 建 立 网 络, 或 者 可 以 从 特 殊 格 式 文 件 导 入 从 设 备 配 置 文 件 中 直 接 导 入, 需 要 多 厂 商 引 进 的 模 块 ; 从 XML 导 入, 可 以 将 拓 扑 信 息 完 全 析 取 出 来 我 们 一 般 建 立 一 个 空 的 场 景, 接 下 来 根 据 网 络 的 规 模, 选 择 全 球 网 企 业 或 者 校 园 网 络, 如 图 1-3 所 示 图 1-3 选 择 网 络 的 规 模 之 后 设 定 网 络 的 范 围, 同 时 也 可 以 指 定 度 量 单 位, 可 以 是 经 纬 度 米 公 里 英 尺 英 里 等, 如 图 1-4 所 示 图 1-4 设 定 网 络 的 范 围 接 着 选 择 常 用 的 模 块 家 族 (Model Family), 把 它 们 包 含 (include) 进 去 后,Modeler 将 自 动 建 立 新 的 物 件 拼 盘, 其 中 包 含 的 内 容 就 是 所 include 的 模 块 家 族, 里 面 所 有 物 件 将 合 并 到 物 件 拼 盘 中, 如 图 1-5 所 示, 它 们 作 为 构 建 网 络 的 候 选 组 件
第 1 章 OPNET 仿 真 概 述 15 图 1-5 选 择 所 需 的 模 块 家 族 接 下 来 看 看 任 何 一 个 网 络 拓 扑 中 的 背 景 信 息 及 设 置 就 拿 我 们 刚 才 设 定 的 10 平 方 公 里 规 模 的 校 园 网 为 例 我 们 点 击 查 看 上 一 级 拓 扑 按 钮, 可 以 看 到 在 全 球 地 图 里 放 了 一 个 子 网, 子 网 根 据 刚 才 设 定 的 网 络 规 模 被 命 名 为 Campus Network, 如 图 1-6 所 示 图 1-6 每 个 场 景 的 最 高 层 网 络 全 球 网 子 网 所 处 在 的 经 纬 度 都 为 0 在 子 网 里, 我 们 已 经 指 定 了 长 宽 x span 和 y span 为 10km 的 范 围, 而 由 于 这 一 层 是 最 高 一 层, 它 以 经 纬 度 为 单 位 衡 量 子 网 的 大 小, 从 子 网 的 属 性 看 它 的 长 宽 为 0.089 经 纬 度, 如 图 1-6 所 示, 而 换 算 成 公 里 正 好 是 10km
16 OPNET 网 络 仿 真 陈 敏 全 球 级 (world) 网 络 是 每 个 场 景 最 高 层 的 网 络, 称 为 top, 其 度 量 单 位 一 定 是 基 于 经 纬 度 的, 而 其 他 底 层 网 络 可 以 选 择 不 同 的 单 位 如 果 把 子 网 移 去 不 同 地 方, 其 经 纬 度 也 相 应 改 变, 双 击 它, 就 进 入 子 网 内 部, 可 以 知 道 整 个 子 网 的 范 围 我 们 还 可 以 用 放 大 镜 对 子 网 不 断 放 大, 这 将 看 到 蓝 色 的 边 框, 它 标 识 了 整 个 子 网 的 范 围, 如 图 1-7 所 示 我 们 也 可 以 设 置 背 景 的 显 示 分 辨 率 (Resolution:pixels/degree) 和 背 景 网 格 的 解 析 率 (Division) 分 辨 率 如 果 调 大 一 倍, 则 背 景 也 相 应 变 大 一 倍 ; 解 析 率 如 果 设 为 0.1, 则 网 格 标 识 的 单 位 精 确 到 0.1 度, 如 图 1-8 所 示 图 1-7 使 用 放 大 镜 看 到 子 网 的 边 界 图 1-8 设 定 背 景 的 分 辨 率 和 解 析 率 在 背 景 中, 也 可 以 引 进 OPNET 自 带 的 地 图 例 如 从 在 View 菜 单 下 选 择 Add Image Map 可 以 导 入 一 些 带 有 经 纬 度 信 息 的 卫 星 地 图 (geotiff), 它 将 按 实 际 比 例 映 射 在 全 球 背 景 中,
第 1 章 OPNET 仿 真 概 述 17 我 们 需 要 不 断 放 大 才 能 找 到, 图 1-9 所 示 为 导 入 芝 加 哥 地 图 的 实 例 也 可 以 选 择 View -> Add MIF Map 导 入 海 岸 线 或 高 速 公 路 信 息, 如 图 1-10 所 示 为 导 入 asia 海 岸 线 的 结 果, 在 Modeler 中 可 以 看 到 这 片 区 域 变 成 绿 色, 如 果 放 大 可 能 看 得 到 代 表 高 速 公 路 的 线 条 所 有 背 景 图 形, 只 作 为 参 考, 并 不 含 有 地 理 地 形 信 息 放 置 地 图 时 注 意 View -> Background Properties 中 设 定 的 距 离 单 位 虽 然 Modeler 中 放 大 缩 小 操 作 非 常 简 单, 但 是 有 时 放 大 缩 小 之 后, 本 来 是 个 很 清 楚 的 图, 但 是 要 看 到 更 大 的 背 景 范 围 时 节 点 却 叠 加 起 来 了, 这 是 由 于 放 大 缩 小 操 作 只 改 变 背 景 图 形 的 分 辨 率, 而 节 点 图 标 分 辨 率 保 持 不 变, 如 图 1-11 所 示
18 OPNET 网 络 仿 真 陈 敏 图 1-9 导 入 带 经 纬 度 信 息 的 geotiff 地 图 图 1-10 导 入 MIF 地 图 背 景 分 辨 率 :80 pixel/degree 背 景 分 辨 率 :15 pixel/degree 物 件 显 示 的 极 限 参 数 :10 物 件 显 示 极 限 参 数 :10 图 1-11 场 景 被 缩 小 后 背 景 和 节 点 图 标 的 分 辨 率 不 匹 配
第 1 章 OPNET 仿 真 概 述 19 这 时 我 们 需 要 调 整 物 件 显 示 的 极 限 参 数 (Threshold), 我 们 可 以 在 物 件 的 高 级 属 性 中 (Advanced Edit Attributes) 找 到 它 我 们 可 以 一 次 性 选 择 所 有 节 点 (Select Similar Nodes), 将 极 限 设 成 40, 如 图 1-12 所 示 Threshold 只 是 一 个 相 对 值, 不 一 定 一 次 设 置 就 能 达 到 最 好 的 显 示 效 果, 需 要 不 断 尝 试, 只 要 显 示 清 楚 就 可 以, 其 实 节 点 图 标 重 叠 对 仿 真 没 有 任 何 影 响, 只 是 看 起 来 感 觉 混 淆 图 1-12 调 整 物 件 Threshold 属 性 后 的 情 形 有 时 为 了 加 快 仿 真 速 度, 可 以 在 拓 扑 方 面 将 子 网 简 化 为 一 个 节 点 : 如 图 1-13 所 示, 局 域 网 由 10 个 工 作 站 10 根 有 线 链 路 1 个 交 换 机, 共 21 个 物 件 组 成, 如 果 仿 真 只 关 心 整 个 局 域 网 的 性 能, 而 不 关 注 子 网 内 工 作 站 的 表 现, 则 可 以 用 一 个 LAN 节 点 代 替, 这 样 可 以 减 少 仿 真 事 件 数 量, 缩 减 仿 真 时 间 图 1-13 模 块 的 简 化
20 OPNET 网 络 仿 真 陈 敏 另 外 当 我 们 进 行 端 对 端 仿 真 时, 看 封 包 经 历 广 域 网 后 的 延 时, 广 域 网 包 含 很 多 服 务 器, 但 是 我 们 不 关 心 其 内 部 结 构, 或 者 根 本 不 知 道 其 结 构 如 何, 而 其 内 部 也 可 以 不 完 全 模 拟, 这 时 OPNET 常 用 一 个 IP 云 朵 来 代 替, 云 朵 有 丢 包 率 和 封 包 延 时 属 性, 代 表 所 有 业 务 经 过 广 域 网 后 产 生 的 影 响 虽 然 我 们 可 以 通 过 一 拉 一 点 的 方 式 去 熟 悉 网 络 环 境 并 定 位 到 我 们 感 兴 趣 的 物 件, 但 是 对 于 一 个 上 万 个 节 点 规 模 的 网 络, 是 否 有 更 快 的 方 式 查 找 物 件 呢? 如 图 1-14 所 示, 在 View 菜 单 下 选 择 Show Network Browse 或 使 用 ctrl+b 快 捷 键 将 弹 出 场 景 物 件 浏 览 器, 我 们 可 以 直 接 输 入 物 件 名 称 来 查 找 图 1-14 OPNET 的 物 件 浏 览 器 有 时 候 我 们 希 望 找 出 两 个 相 似 场 景 的 细 微 差 别, 找 出 引 起 仿 真 结 果 不 同 的 可 能 原 因 所 在 OPNET 提 供 了 场 景 比 较 的 功 能, 如 图 1-15 所 示, 从 Scenarios 菜 单 下 选 择 Network Differences, 将 生 成 网 络 配 置 区 分 的 报 告 图 1-15 比 较 两 个 场 景
第 1 章 OPNET 仿 真 概 述 21 1.4 OPNET 编 辑 器 简 介 当 我 们 在 OPNET 菜 单 中 新 建 或 打 开 一 个 文 件, 将 看 到 如 图 1-16 所 示 的 文 件 类 型 列 表, 这 节 对 它 们 的 特 点 进 行 概 要 性 描 述 图 1-16 文 件 类 型 列 表 (1)Project Node Model Process Model 分 别 为 工 程 编 辑 器 节 点 编 辑 器 和 进 程 编 辑 器, 分 别 对 应 与 OPNET 建 模 的 三 个 阶 层 ; (2)Link Model 有 线 链 路 模 型 编 辑 器, 设 定 链 路 的 传 输 速 率 支 持 的 封 包 格 式 及 采 用 哪 些 管 道 阶 段 来 描 述 链 路 的 物 理 特 性 ; (3)Path Model 用 来 显 示 流 经 过 的 路 径, 当 我 们 配 置 了 一 个 背 景 流 量, 仿 真 完 成 之 后, 会 出 现 与 路 径 模 型 相 对 应 的 路 由 表, 通 过 路 径 模 块 显 示 一 个 流 是 怎 么 路 由 在 Protocol 菜 单 中 选 择 IP -> demands -> display router for configure; (4)Demand model 背 景 流 量 型, 用 来 配 置 应 用 背 景 流 或 网 络 背 景 流, 使 用 方 法 参 见 8.4.2 与 8.4.3 节, 另 外 有 一 个 称 为 demands 的 物 件 拼 盘, 里 面 包 含 各 种 已 经 定 义 好 的 背 景 流 模 型 (5)ETS Source 外 部 工 具 支 持 (External Tool Support) 文 件, 代 表 为 OPNET 界 面 额 外 附 加 的 一 些 功 能 键, 由 于 OPNET 现 有 菜 单 和 工 具 栏 提 供 的 功 能 有 限, 如 果 不 喜 欢 OPNET 预 定 的 界 面, 希 望 加 入 自 定 义 的 菜 单 和 按 钮, 或 需 要 开 发 新 仿 真 环 境, 完 全 自 定 义 一 套 新 的 仿 真 开 发 平 台 和 分 析 工 具, 例 如 做 光 网 规 划 可 能 涉 及 无 线 网 环 境 构 建 的 特 殊 功 能, 另 外 可 以 加 入 系 统 评 估 的 功 能, 这 就 需 要 自 己 开 发 一 个 和 Modeler 完 全 不 一 样 的 仿 真 平 台, 而 ETS 用 来 定 义 这 些 平 台 (6)External Source 外 部 文 件, 其 中 包 含 若 干 个 外 部 函 数, 主 要 用 在 进 程 模 块 中 一 般 进 程 模 块 只 是 本 身 用 到 函 数 在 函 数 块 (FB) 中 定 义, 如 果 某 个 函 数 在 两 个 或 以 上 的 进 程 模 块 中 用 到, 就 应 该 定 义 成 外 部 函 数, 使 用 的 时 候 通 过 申 明 (declare external file) 的 方 式 将 其 包 含 进 来 比 如 说 ip_support.ex.c 外 部 文 件 在 ip_dispatch 和 ip_icmp 进 程 中 同 时 用 到, 也 可 以 共 享 于 多 个 进 程 模 型 之 中, 需 要 用 时 就 申 明
22 OPNET 网 络 仿 真 陈 敏 (7)Head file 收 集 了 所 有 头 文 件, 使 得 对 头 文 件 进 行 修 改 和 重 建 更 加 方 便 (8)Pipeline Stage 为 管 道 阶 段 模 型, 描 述 物 理 层 的 表 现,OPNET 的 三 种 链 路 : 有 线 点 到 点 总 线 和 无 线 链 路 都 是 由 相 应 管 道 阶 段 组 成 (9)Analysis configuration 结 果 分 析 编 辑 器, 一 般 它 所 收 藏 的 结 果 是 在 场 景 中 隐 藏 起 来 的, 点 击 Hide/Show Graph Panels 可 以 看 到 上 次 隐 藏 的 结 果 另 外 它 有 一 个 很 重 要 的 作 用 是 查 看 两 组 结 果 之 间 的 关 系, 新 建 一 个 结 果 分 析 文 件, 同 时 加 载 两 个 统 计 量 结 果, 一 个 作 为 自 变 量, 另 一 个 作 为 因 变 量, 也 可 以 选 择 Create a graph of two scalars with a third parameter 看 三 维 显 示 (10)Network Model 网 络 模 型 文 件, 可 以 直 接 打 开, 在 OPNET 6.0 版 本 没 有 工 程 的 概 念 时 采 用 这 种 方 式 浏 览 网 络 环 境, 在 OPNET 7.0 以 后 的 版 本 提 出 工 程 与 场 景 的 概 念 后, 可 在 工 程 中 导 入 该 文 件 将 成 为 一 个 仿 真 场 景 (11)Probe model 探 针 模 型 用 来 收 集 统 计 量 我 们 选 择 统 计 量 的 第 一 种 方 式 是 在 工 程 上 右 点 键, 在 Node Statistics 中 有 一 系 列 已 经 分 好 组 的 统 计 量 可 供 选 择, 其 实 它 们 原 本 的 名 字 99% 是 从 进 程 模 块 衍 生 出 来, 后 来 被 提 升 到 节 点 模 块 中 来 如 图 1-16 所 示, 首 先 我 们 选 择 统 计 量 组 别, 例 如 全 部 有 关 TCP 的 统 计 都 归 为 同 一 类, 它 们 所 属 的 类 别 是 在 节 点 模 型 中 定 义 的, 在 统 计 量 选 择 中 看 到 的 名 字 是 提 升 后 的 名 字 图 1-16 选 择 统 计 量 组 别 与 提 升 后 的 统 计 量 如 果 要 收 集 未 提 升 到 网 络 层 的 统 计, 可 以 使 用 探 针 模 型 (Probe Model), 它 可 以 加 入 各 种 各 样 的 统 计, 具 体 来 说, 点 击 相 应 的 统 计 功 能 键 可 收 集 节 点 链 路 路 径 背 景 流 量 配 对 物 件 (Coupled Node) 属 性 的 统 计 其 中 配 对 物 件 表 示 逻 辑 连 接 上 为 一 对, 一 般 用 于 无 线 网 络 的 统 计, 例 如 可 指 定 收 集 节 点 A 的 第 一 个 发 送 器 和 节 点 B 的 第 一 个 接 收 器 之 间 收 发 包 的 量 一 般 的 统 计 量 以 时 间 为 自 变 量, 而 属 性 探 针 可 以 使 属 性 变 量 成 为 自 变 量, 例 如 可 观 察 节 点 发 包 率 对 延 时 属 性 的 影 响 另 外 自 定 义 动 画 也 需 要 在 探 针 模 型 中 设 置 (12)Simulation Sequence 高 级 仿 真 配 置 文 件, 用 来 定 义 更 加 全 面 的 仿 真, 该 文 件 与 高 级 仿 真 属 性 对 话 框 的 设 定 是 互 相 关 联 的 可 以 创 建 一 个 仿 真 序 列, 其 中 可 能 包 含 多 个 仿 真 子 集 (set), 仿 真 子 集 以 蓝 二 横 杆 图 标 标 识, 每 个 仿 真 子 集 又 包 含 多 个 仿 真 当 仿 真 正 在 进 行 中 时, 点 击 Stop Sequence 将 所 有 仿 真 停 滞,Stop Set 停 滞 仿 真 组,Stop Run 停 止 当 前 仿 真 (13)Antenna Pattern 天 线 模 型 和 Modulation Curve 调 制 曲 线 用 于 无 线 模 型, 我 们 会 在 第 9 章 对 它 们 详 述 (14)Extern System Definition 定 义 OPNET 与 外 部 系 统 交 互 的 信 息 格 式, 例 如 外 部 系
第 1 章 OPNET 仿 真 概 述 23 统 传 输 数 据 的 类 型, 以 及 从 哪 个 系 统 成 员 到 另 一 个 成 员, 它 作 为 模 块 形 式 放 在 节 点 模 型 中, 看 上 去 像 是 回 字 型 的 图 标 (15)Filter Model 自 定 义 结 果 过 滤 器 OPNET 已 经 提 供 了 20 多 种 基 本 过 滤 器, 用 来 对 已 得 到 结 果 进 一 步 加 工, 使 得 结 果 更 能 突 出 某 方 面 或 更 容 易 被 理 解 而 过 滤 器 模 型 支 持 创 建 新 的 过 滤 模 块, 我 们 可 以 对 基 本 过 滤 器 进 行 组 合, 也 可 定 义 全 新 的 过 滤 器, 对 它 编 译 之 后 就 能 在 过 滤 器 选 择 列 表 中 看 到 它 (16)Environment File 对 应 高 级 仿 真 属 性 Files 选 项 卡, 包 含 运 行 仿 真 的 各 种 环 境 设 定, 主 要 有 两 个 用 途, 一 方 面, 如 果 下 一 个 仿 真 要 用 到 上 一 个 仿 真 完 全 一 样 的 设 定 就 可 以 不 需 要 手 动 设 定 而 直 接 拷 贝 文 件 就 行 了 ; 另 一 方 面, 如 果 只 有 一 个 Modeler license, 并 且 又 在 运 行 仿 真, 则 不 能 对 模 型 做 编 辑 工 作, 这 时 可 以 采 用 执 行 带 环 境 变 量 文 件 的 命 令 行 方 式 仿 真 :op_runsim -net_name < 网 络 模 型 名 称 > -duration < 仿 真 持 续 时 间 > -ef < 环 境 变 量 文 件 名 >, 它 只 占 用 仿 真 执 行 license, 而 不 占 用 Modeler 的 license, 并 且 这 样 也 可 以 提 高 仿 真 速 度, 最 后 还 可 以 存 成 静 态 仿 真 文 件 *.sim (17)Generic Data File 是 一 个 文 本 文 件,OPNET 有 一 类 标 准 的 核 心 函 数 专 门 针 对 这 种 特 殊 文 件 的 读 取, 并 且 可 以 检 验 内 存 和 做 一 些 预 处 理 工 作 (18)ICI Editor, 接 口 控 制 信 息 格 式 编 辑 器,ICI 可 想 象 成 是 一 种 特 别 的 封 包 格 式, 在 一 个 节 点 模 型 中,ICI 可 以 将 一 些 控 制 信 息 从 一 个 进 程 模 块 捎 带 到 另 一 个 进 程 模 块, 如 握 手 信 息 虽 然 通 常 比 较 建 议 能 用 包 格 式 传 输 信 息 时 尽 量 使 用 封 包, 但 是 封 包 局 限 在 必 需 使 用 封 包 流, 而 ICI 可 与 任 何 类 型 的 中 断 进 行 绑 定 另 外 在 OPNET 中 很 多 的 标 准 协 议 都 采 是 用 ICI 交 换 握 手 信 息, 以 逼 近 实 际 情 况 (19)Icon Database 图 标 库 文 件, 支 持 自 定 义 图 标 来 做 网 络 物 件 的 标 志 (20)Packet Format 封 包 格 式 编 译 器, 定 义 封 包 的 域, 包 括 域 的 类 型 域 的 颜 色 等 设 定 如 果 设 定 information 类 型, 则 该 域 只 作 为 承 载 封 包 信 息 的 标 签, 不 记 入 包 长 ; 如 果 设 定 为 Packet 类 型, 则 可 实 现 包 的 封 装, 该 域 的 大 小 为 从 上 层 传 过 来 的 封 包 大 小 ; 另 外 域 还 可 以 封 装 自 定 义 的 结 构 体 structure, 它 的 comments 属 性 可 能 保 存 了 结 构 体 的 定 义 代 码 封 包 的 读 写 根 据 编 辑 器 设 定 的 有 名 字 的 标 签 来 操 作, 这 样 很 方 便 有 时 包 的 长 度 计 算 令 人 混 淆, 例 如 structure 类 型 的 域, 其 长 度 设 定 为 32bit, 而 实 际 数 据 量 可 能 大 于 设 定 的 比 特 数, 或 者 将 一 个 整 型 类 型 的 域 设 定 为 0bit, 最 后 包 长 的 计 算 完 全 不 理 会 这 些 与 实 际 情 况 有 些 偏 差 的 设 定, 只 是 将 所 有 由 编 辑 器 设 定 的 域 的 大 小 相 加 ( 除 了 包 的 封 装 域 大 小 根 据 实 际 包 大 小 来 定 ), 为 了 更 加 逼 近 实 际, 我 们 在 获 取 包 的 长 度 的 时 候, 可 能 还 要 加 上 校 验 值 (bulk size) (21)PDF Editor 为 概 率 分 布 函 数 编 辑 器,OPNET 定 义 业 务 时 通 常 使 用 了 各 种 各 样 分 布 概 率,OPNET 提 供 了 一 系 列 标 准 的 概 率 分 布 函 数, 而 该 编 辑 器 支 持 用 户 自 定 义 概 率 分 布 函 数 一 种 是 离 散 概 率 分 布, 如 图 1-17 所 示, 假 设 封 包 的 目 的 地 有 4 种 可 能 的 选 择, 图 中 50%
24 OPNET 网 络 仿 真 陈 敏 的 封 包 发 往 第 0 个 节 点,15% 的 封 包 发 往 第 1 个 节 点,25% 发 往 第 2 个 节 点,15% 发 往 第 3 个 节 点 ; 第 二 种 连 续 概 率 分 布 有 时 候 可 能 一 拉 一 点 的 设 置 不 够 精 确, 可 以 导 成 EMA 文 件 进 行 再 次 编 辑, 它 完 全 脱 离 OPNET 工 作 环 境, 具 体 做 法 参 见 第 14 章, 其 实 本 节 提 及 的 所 有 模 型 都 可 以 产 生 相 应 的 EMA 文 件 图 1-17 PDF Editor 编 辑 的 离 散 概 率 分 布 (22)Profile Library 对 应 高 级 仿 真 属 性 中 的 Profiling 选 项 卡 (23)Wireless Domain Model 无 线 区 域 模 型, 用 来 划 分 接 收 主 询, 是 OPNET 9.0 以 后 版 本 增 添 的 新 功 能, 参 见 9.4.5 节 1.5 实 例 讲 解 配 置 一 个 简 单 的 网 络 本 课 将 使 用 OPNET Modeler 快 速 创 建 一 个 网 络, 收 集 反 映 网 络 性 能 的 统 计 结 果, 运 行 仿 真, 并 且 分 析 这 些 结 果 解 决 网 络 中 存 在 问 题 本 课 侧 重 于 项 目 编 辑 器 (Project Editor) 的 使 用, 展 示 Modeler 建 模 和 分 析 的 功 能 学 会 用 OPNET 来 模 拟 仿 真 的 基 本 过 程 在 本 例 程 的 开 始, 我 们 列 出 一 些 需 要 用 到 的 重 要 概 念 : 1. 项 目 (Project) 与 场 景 (Scenario) 一 个 项 目 就 是 一 组 仿 真 环 境, 一 个 场 景 就 是 其 中 的 一 个 仿 真 环 境 场 景 是 网 络 的 一 个 实 例, 一 种 配 置, 具 体 来 说 就 是 拓 扑 结 构 协 议 应 用 流 量 以 及 仿 真 设 置 在 Modeler 仿 真 时, 最 高 层 次 永 远 是 一 个 项 目, 每 个 项 目 底 下 至 少 包 含 一 个 仿 真 场 景, 代 表 网 络 模 型, 它 是 具 体 的 网 络 仿 真 环 境 配 置 项 目 的 提 出 初 衷 是 方 便 对 不 同 的 场 景 的 仿 真 结 果 进 行 比 较 项 目 提 供 场 景 复 制 功 能, 可 以 对 场 景 进 行 备 份, 通 过 改 变 新 场 景 的 参 数 运 行 仿 真 来 测 试 系 统 各 方 面 的 功 能 及 是 否 存 在 瓶 颈 2. 子 网 (Subnet) OPNET 子 网 和 TCP/IP 的 子 网 不 是 同 一 个 概 念 OPNET 的 子 网 是 将 网 络 中 的 一 些 元 素 抽 象 到 一 个 对 象 中 去 子 网 可 以 是 固 定 子 网 移 动 子 网 或 者 卫 星 子 网 子 网 不 具 备 任 何 行
第 1 章 OPNET 仿 真 概 述 25 为, 只 是 为 了 表 示 大 型 网 络 而 提 出 的 一 个 逻 辑 实 体 一 个 简 单 的 例 子, 如 运 营 商 的 骨 干 网, 例 如 把 骨 干 网 上 的 所 有 路 由 器 放 到 一 个 视 图 里, 十 分 凌 乱, 不 如 按 照 省 份 将 同 一 省 份 的 路 由 器 都 放 到 同 一 个 子 网 中, 然 后 以 省 份 的 名 称 来 命 名 每 个 子 网 的 名 字, 构 建 成 的 网 络 看 上 去 比 较 有 条 理 3. 节 点 (Node) 节 点 通 常 被 看 作 设 备 或 资 源, 由 支 持 相 应 处 理 能 力 的 硬 件 和 软 件 共 同 组 成 数 据 在 其 中 生 成 传 输 接 收 并 被 处 理 Modeler 包 含 三 种 类 型 的 节 点 : 第 一 种 为 固 定 节 点, 例 如 路 由 器 交 换 机 工 作 站 服 务 器 等 都 属 于 固 定 节 点 ; 第 二 种 为 移 动 节 点, 例 如 移 动 台, 车 载 通 信 系 统 等 都 是 移 动 节 点 ; 第 三 种 为 卫 星 节 点, 顾 名 思 义 是 代 表 卫 星 每 种 节 点 所 支 持 的 属 性 也 不 尽 相 同, 如 移 动 节 点 支 持 三 维 或 者 二 维 的 移 动 轨 迹, 卫 星 节 点 支 持 卫 星 轨 道 4. 链 路 (Link) 相 对 固 定 节 点 移 动 节 点 以 及 卫 星 节 点, 链 路 也 有 不 同 的 类 型, 有 点 对 点 的 链 路 总 线 链 路 以 及 无 线 链 路 点 对 点 的 链 路 在 两 个 固 定 节 点 之 间 传 输 数 据 ; 总 线 链 路 是 一 个 共 享 媒 体, 在 多 个 节 点 之 间 传 输 数 据 ; 无 线 链 路 是 在 仿 真 中 动 态 建 立 的, 可 以 在 任 何 无 线 的 收 发 信 机 之 间 建 立 卫 星 和 移 动 节 点 必 须 通 过 无 线 链 路 来 进 行 通 信, 而 固 定 节 点 也 可 以 通 过 无 线 链 路 建 立 通 信 连 接 5. 仿 真 随 机 种 子 (seed) seed 是 产 生 随 机 数 的 种 子 值, 反 映 随 机 数 的 状 态 只 要 选 定 一 个 种 子 值, 整 个 随 机 事 件 系 统 就 固 定 了, 复 杂 仿 真 的 随 机 过 程 就 成 了 一 次 实 现 目 的 是 测 试 仿 真 系 统 的 稳 健 性, 具 体 来 说, 针 对 不 同 的 seed 值 进 行 一 系 列 仿 真, 每 次 不 同 seed 值 对 应 的 仿 真 结 果 相 近, 则 表 明 建 立 的 模 型 有 较 高 的 稳 健 性 (scalability) 一 般 在 发 布 仿 真 结 果 之 前 都 要 改 变 仿 真 种 子 进 行 多 次 测 试, 如 果 结 果 完 全 改 变, 则 说 明 模 块 有 疏 漏, 所 得 的 结 果 只 是 一 个 特 例, 而 不 能 反 映 系 统 的 性 能 6. 模 块 (module) 与 仿 真 (simulation) 对 于 某 个 协 议 的 仿 真, 可 能 因 为 其 涉 及 的 事 件 及 其 相 互 的 联 系 非 常 庞 大, 造 成 建 模 的 困 难, 这 时 我 们 把 该 协 议 分 解 成 一 系 列 的 协 议 行 为, 对 这 些 行 为 单 独 建 模 后 通 过 有 限 状 态 机 把 它 们 联 系 起 来 后 便 形 成 一 个 系 统, 这 个 系 统 可 以 称 之 为 模 块, 它 将 抽 象 的 协 议 直 观 化 而 仿 真 是 基 于 一 系 列 模 块 的 一 组 实 验, 它 反 映 模 块 和 模 块 之 间 的 互 相 作 用 关 系 因 此, 从 分 层 的 角 度 来 看 仿 真 比 模 块 的 属 性 高 同 样, 仿 真 属 性 具 备 比 模 块 属 性 更 高 的 等 级, 代 表 最 高 级 别 的 参 数 7. 属 性 的 隐 藏 (hidden) 属 性 的 隐 藏 使 得 属 性 的 可 读 具 有 阶 层 性, 如 有 些 厂 商 设 备 的 一 些 性 能 参 数 用 户 并 不 需 要 调 节 的, 而 为 了 避 免 用 户 混 淆 就 把 这 些 属 性 隐 藏 起 来, 变 成 预 设 值 (default value), 当 需 要 时 再 去 底 层 查 找 8. 属 性 的 提 升 (promoted) 与 属 性 的 隐 藏 相 反,OPNET 规 定 等 级 低 的 参 数 可 以 不 断 提 升 (promoted), 最 后 可 变
26 OPNET 网 络 仿 真 陈 敏 成 级 别 最 高 的 仿 真 属 性 这 种 用 法 的 主 要 用 在 测 试 某 个 参 数 对 网 络 仿 真 结 果 有 何 影 响 的 场 合, 用 户 需 要 把 在 底 层 的 参 数 提 升 出 来 就 可 以 在 仿 真 之 前 在 仿 真 属 性 设 置 对 话 框 中 调 整 这 些 参 数 属 性 的 提 升 至 仿 真 属 性 有 一 个 特 殊 的 用 途, 就 是 可 以 成 为 序 列 仿 真 的 输 入 变 量 举 一 个 例 子 来 说 明, 有 一 个 节 点 的 模 块 属 性 为 traffic load, 如 果 需 要 通 过 改 变 网 络 负 载 来 寻 找 最 佳 的 网 络 吞 吐 量 性 能, 这 时 有 两 种 做 法 : (1) 每 次 改 变 traffic load 参 数, 运 行 一 次 仿 真, 仿 真 完 毕 后 记 录 这 次 的 吞 吐 量 结 果 这 种 手 动 式 的 做 法 显 然 很 麻 烦, 因 为 重 复 进 行 多 次 仿 真, 并 且 最 后 还 要 手 动 组 合 结 果 (2) 将 模 块 属 性 traffic load 提 升 为 仿 真 属 性, 设 置 需 要 测 试 的 各 种 取 值, 然 后 运 行 仿 真 序 列 (Simulation Sequence) 这 时 OPNET 会 根 据 设 定 值 的 个 数 运 行 相 应 次 数 的 仿 真, 每 次 仿 真 对 应 一 种 参 数 设 置 这 种 自 动 式 的 做 法 只 要 运 行 一 次 仿 真 即 能 达 到 我 们 的 目 的, 而 且 结 果 可 以 集 合 到 一 个 文 件 中 9. 对 象 ID(Objid) 与 用 户 ID(user id) Objid 是 对 象 识 别 号 系 统 分 配 的, 全 局 唯 一, 整 数 user id 是 节 点 模 型 ( 对 象 的 一 种 ) 的 一 个 属 性, 由 用 户 设 置, 可 以 不 惟 一 10. 模 型 (model) 模 块 (module) 与 对 象 (object) 模 型 通 常 指 的 是 进 程 模 型 节 点 模 型 和 网 络 模 型 等 模 块 具 有 实 在 的 物 理 含 义, 例 如 进 程 模 块 (processor), 就 是 节 点 模 型 里 面 的 小 方 块 对 象 分 为 两 种, 一 种 是 抽 象 对 象, 如 复 合 属 性 ; 第 二 种 是 具 体 对 象 : 例 如 模 块 (module) 节 点 收 信 机 发 信 机 在 OPNET 中 对 象 提 出 的 目 的 是 设 置 和 获 取 它 的 属 性, 因 此 对 象 需 要 有 它 的 对 象 ID 号 Objid, 作 为 程 序 获 取 对 象 属 性 的 依 据, 一 般 通 过 IMA 核 心 函 数 ( 以 Objid 为 输 入 参 数 ) 获 取 或 设 置 对 象 的 属 性 值 得 一 提 的 是 进 程 模 型 (process model) 没 有 Objid, 它 不 是 一 个 对 象, 而 是 抽 象 概 念, 代 表 协 议 行 为 的 逻 辑 关 系, 在 没 有 被 激 活 成 进 程 时, 对 仿 真 没 有 任 何 意 义 因 此 模 型 (model) 和 对 象 (object) 没 有 必 然 的 联 系 1.5.1 定 义 问 题 试 想 一 下, 你 需 要 为 公 司 内 部 互 联 网 的 扩 展 制 定 一 个 合 理 的 方 案 目 前, 公 司 在 办 公 楼 的 第 一 层 有 一 个 星 型 拓 扑 的 网 络, 现 在 要 在 第 二 层 增 加 另 一 个 星 型 拓 扑 网 络 这 时 一 个 典 型 的 what-if 问 题, 所 要 解 决 的 是 确 保 增 加 的 网 络 不 会 导 致 整 个 网 络 的 连 通 失 败, 如 图 1-18 所 示
第 1 章 OPNET 仿 真 概 述 27 图 1-18 计 划 中 扩 展 后 的 网 络 模 型 1.5.2 建 立 网 络 拓 扑 结 构 要 创 建 一 个 新 的 网 络 模 型, 首 先 你 需 要 创 建 一 个 新 的 项 目 和 一 个 新 的 场 景 一 个 项 目 为 一 系 列 场 景 的 集 合, 而 每 个 场 景 对 网 络 建 模 的 侧 重 点 不 同 采 用 开 始 建 立 向 导 (Startup Wizard) 来 建 立 一 个 新 的 项 目 和 一 个 新 的 场 景 开 始 建 立 向 导 有 以 下 几 个 步 骤 : (1) 选 择 网 络 拓 扑 类 型 (2) 设 定 网 络 的 范 围 和 大 小 (3) 设 定 网 络 背 景 图 (4) 选 择 对 象 模 型 家 族 在 创 建 一 个 新 项 目 时 会 自 动 弹 出 开 始 向 导, 它 可 以 用 来 设 置 网 络 的 一 些 背 景 环 境 开 始 建 立 一 个 场 景 步 骤 如 下 : (1) 打 开 Modeler (2) 从 File 菜 单 中 选 择 New... (3) 从 弹 出 的 下 拉 菜 单 中 选 择 Project 并 单 击 OK
28 OPNET 网 络 仿 真 陈 敏 (4) 将 你 的 项 目 命 名 为 <initials>_sm, 场 景 命 名 为 <initials>_first_floor <initials> 用 来 区 分 同 一 项 目 的 不 同 版 本, 比 如 你 可 以 将 项 目 命 名 为 1_sim 将 场 景 命 名 为 1_first_floor (5) 单 击 OK 按 钮 这 时 出 现 开 始 向 导, 创 建 新 的 背 景 拓 扑 图, 如 图 1-19 所 示 选 定 网 络 的 范 围, 哪 图 1-20 所 示 图 1-19 开 始 向 导 : 创 建 新 的 背 景 拓 扑 图 指 定 网 络 的 大 小, 如 图 1-21 所 示 图 1-20 开 始 向 导 : 选 择 网 络 范 围 图 1-21 开 始 向 导 : 指 定 网 络 大 小
第 1 章 OPNET 仿 真 概 述 29 选 择 OPNET 自 带 的 对 象 模 型 家 族 种 类, 如 图 1-22 所 示 图 1-22 开 始 向 导 : 选 择 对 象 模 型 家 族 种 类 再 次 确 认 环 境 设 置, 如 图 1-23 所 示 图 1-23 设 置 完 毕 的 开 始 向 导 这 时 出 现 大 小 和 规 格 如 同 所 指 定 的 工 作 空 间, 同 时 弹 出 一 个 对 象 模 板 ( 包 含 刚 刚 选 定 的 对 象 模 型 家 族 的 所 有 模 型 ) 通 过 对 象 模 板 中 的 节 点 和 链 路 模 型 来 创 建 网 络 模 型 节 点 模 型 : 代 表 实 际 的 设 备 链 路 模 型 : 代 表 连 接 设 备 的 物 理 媒 质, 可 以 是 电 缆 或 者 光 缆 可 以 通 过 对 象 模 板 中 的 图 标 直 观 地 看 出 节 点 模 型 和 链 路 模 型 可 以 使 用 以 下 三 种 方 法 之 一 创 建 网 络 拓 扑 : 导 入 拓 扑 图 从 对 象 模 板 中 选 择 模 型 并 放 置 在 工 作 空 间 中 使 用 快 速 拓 扑 配 置 工 具 (Rapid Configuration)
30 OPNET 网 络 仿 真 陈 敏 快 速 拓 扑 配 置 通 过 指 定 参 数 ( 节 点 模 型 和 链 路 模 型 ), 一 次 性 创 建 规 则 的 拓 扑 结 构 : (6) 从 Topology 菜 单 中 选 择 Rapid Configuration (7) 从 配 置 下 拉 列 表 中 选 择 Star, 单 击 OK..., 如 图 1-24 所 示 图 1-24 拓 扑 结 构 类 型 选 择 接 下 来 需 要 为 网 络 指 定 节 点 模 型 和 链 路 模 型 OPNET 中 标 准 模 型 的 命 名 规 则 为 : <protocol1>_..._<protocoln>_<function>_<mod> 其 中 <protocol> 为 模 型 用 到 的 协 议, 可 能 同 时 用 到 几 个 协 议 <function> 代 表 模 型 的 大 致 功 能 <mod> 模 型 派 生 类 别 (8) 选 择 中 心 节 点 模 型 为 3C_SSII_1100_3300_4s_ae52_e48_ge3 这 是 3Com 公 司 的 交 换 机 (9) 选 择 周 边 节 点 模 型 为 Sm_Int_wkstn, 并 设 置 节 点 个 数 为 30 (10) 选 择 链 路 模 型 为 10BaseT (11) 指 定 网 络 在 工 作 空 间 中 放 置 的 位 置 : 设 置 中 心 的 X 和 Y 轴 坐 标 为 25 设 置 局 域 网 的 半 径 范 围 为 20 (12) 设 置 好 单 击 OK 按 钮, 如 图 1-25 所 示 图 1-25 快 速 拓 扑 配 置 对 话 框
第 1 章 OPNET 仿 真 概 述 31 > 项 目 编 辑 器 中 出 现 如 图 1-26 所 示 的 网 络 拓 扑 图 1-26 快 速 拓 扑 配 置 后 的 网 络 模 型 接 下 来, 需 要 扩 展 这 个 网 络, 首 先 增 加 一 个 服 务 器 这 时 将 用 到 第 二 种 创 建 网 络 模 型 的 方 法 : 在 对 象 模 板 中 选 择 模 型 并 放 置 在 工 作 空 间 内 (13) 打 开 对 象 模 板 (14) 找 到 Sm_Int_server 对 象, 并 将 它 放 置 在 工 作 空 间 中 如 果 找 不 到 该 模 型, 可 能 前 面 的 操 作 不 正 确, 你 需 要 从 左 上 角 的 下 拉 列 表 中 选 择 Sm_Int_Model_List 模 型 家 族 (15) 单 击 右 键, 结 束 节 点 放 置 如 果 需 要 你 可 以 多 次 单 击 鼠 标 左 键, 放 置 多 个 节 点 接 下 来, 需 要 连 接 服 务 器 和 星 型 网 络 : (16) 在 对 象 模 板 中 找 到 10BaseT 链 路 对 象 (17) 在 服 务 器 上 单 击 鼠 标 左 键, 移 动 光 标, 再 单 击 星 型 网 络 的 中 心 节 点 这 时 出 现 连 接 两 个 节 点 对 象 的 链 路 (18) 单 击 鼠 标 右 键 结 束 链 路 创 建 最 后 需 要 为 网 络 配 置 业 务, 包 括 应 用 定 义 (Application definition) 和 业 务 规 格 定 义 (Profile definition), 设 置 业 务 涉 及 的 内 容 较 复 杂, 本 例 程 不 作 要 求, 因 此 模 板 中 应 用 定 义 对 象 和 业 务 规 格 定 义 对 象 的 参 数 已 经 配 置 好 ( 为 Light database 业 务 ), 只 要 将 他 们 放 置 在 工 作 空 间 中 即 可 (19) 在 对 象 模 板 中 找 到 Sm_Application_Config 对 象 并 将 其 放 置 在 工 作 空 间 中 (20) 单 击 右 键, 光 标 重 新 移 到 对 象 模 板 中, 单 击 Sm_Profile_Config, 并 将 其 放 置 在 工 作 空 间 中, 单 击 鼠 标 右 键 (21) 关 闭 对 象 模 板
32 OPNET 网 络 仿 真 陈 敏 这 时 得 到 如 图 1-27 所 示 网 络 拓 扑 图 图 1-27 配 置 完 毕 的 网 络 模 型 接 下 来, 需 要 收 集 统 计 结 果 首 先, 打 开 节 点 模 型 编 辑 器 和 进 程 模 型 编 辑 器 OPNET 采 用 三 层 建 模 机 制, 最 底 层 为 进 程 (Process) 模 型, 以 状 态 机 来 描 述 协 议 ; 其 次 为 节 点 (Node) 模 型, 由 相 应 的 协 议 模 型 构 成, 反 映 设 备 特 性 ; 最 上 层 为 网 络 模 型 三 层 模 型 和 实 际 的 网 络 设 备 协 议 层 次 完 全 对 应, 全 面 反 映 了 网 络 的 相 关 特 性 ; 每 个 网 络 对 象 ( 链 路 除 外 ) 都 是 一 个 节 点 模 型, 它 由 一 个 或 多 个 模 块 (Modules) 组 成, 模 块 与 模 块 之 间 通 过 包 流 (Packet streams) 或 状 态 线 相 连 而 模 块 实 际 上 为 进 程 模 型, 它 通 过 状 态 转 移 图 (STD, State Transition Diagram) 来 描 述 模 块 的 行 为 现 在 让 我 们 来 看 看 第 一 层 网 络 服 务 器 的 结 构 : (22) 在 项 目 编 辑 器 中 鼠 标 双 击 node_31( 服 务 器 节 点 ) 这 时 打 开 一 个 新 的 节 点 模 型 编 辑 器 窗 口 如 图 1-28 所 示 为 以 太 网 服 务 器 的 内 部 结 构, 它 由 几 个 模 块 以 及 连 接 模 块 的 包 流 和 状 态 线 组 成 在 仿 真 过 程 中, 来 自 客 户 端 的 数 据 包 被 收 信 机 hub_rx_0_0 接 收, 然 后 由 下 至 上 穿 过 协 议 栈 到 application 模 块 经 过 处 理 后, 又 沿 原 路 返 回 至 发 信 机 hub_tx_0_0, 最 后 被 传 输 到 客 户 端, 如 图 1-29 所 示 接 下 来, 我 们 来 看 看 传 输 适 应 层 tpal 模 块 的 内 容
第 1 章 OPNET 仿 真 概 述 33 图 1-28 以 太 网 服 务 器 节 点 模 型 图 1-29 包 的 输 入 输 出 接 口 模 块 收 发 信 机 (23) 在 节 点 模 型 编 辑 器 中 的 tpal 模 块 上 双 击 鼠 标 这 时 打 开 一 个 新 的 进 程 模 型 编 辑 器, 如 图 1-30 所 示 (24) 在 init 状 态 的 上 半 部 双 击 鼠 标, 打 开 它 的 入 口 代 码 (25) 在 init 状 态 的 下 半 部 双 击 鼠 标, 打 开 它 的 出 口 代 码 进 程 中 的 每 个 状 态 ( 图 中 红 色 的 或 绿 色 的 圆 圈 ) 都 包 含 一 个 入 口 代 码 (enter executive) 和 一 个 出 口 代 码 (exit executive), 它 们 由 C/C++ 代 码 组 成 入 口 代 码 在 进 入 状 态 时 执 行, 出 口 代 码 在 离 开 状 态 时 执 行, 如 图 1-31 所 示 (26) 关 闭 这 两 个 代 码 窗 口 状 态 与 状 态 之 间 通 过 转 移 线 transitions 相 连 转 移 线 可 以 是 带 条 件 的 ( 必 须 满 足 条 件 才 能 转 移 ) 或 者 无 条 件 的 ( 直 接 转 移 ) 图 1-32 包 含 两 条 转 移 线, 一 条 是 从 wait 状 态 到 open 状 态 的 条 件 转 移 线 ( 虚
34 OPNET 网 络 仿 真 陈 敏 线 表 示 ) 虚 线 中 间 的 OPEN 条 件 必 须 满 足,wait 状 态 才 能 转 移 到 open 状 态 然 而, 从 open 状 态 到 wait 状 态 的 转 移 ( 实 线 表 示 ) 是 无 条 件 的, 因 此 当 执 行 完 open 状 态 的 代 码 后 立 即 转 移 到 wait 状 态 1-30 tpal 进 程 模 型 图 1-31 Init 状 态 的 入 口 执 行 代 码 和 出 口 执 行 代 码
第 1 章 OPNET 仿 真 概 述 35 (27) 关 闭 节 点 和 进 程 模 型 编 辑 器 图 1-32 状 态 之 间 的 条 件 转 移 1.5.3 收 集 统 计 量 在 网 络 模 型 中 可 以 对 单 个 对 象 收 集 统 计 量 (Object statistics), 也 可 以 对 整 个 网 络 收 集 全 局 统 计 量 (Global statistics) 到 现 在 为 止, 已 经 建 好 了 网 络 模 型, 现 在 要 根 据 本 教 程 最 开 始 提 出 的 问 题 决 定 收 集 哪 些 统 计 量 : (1) 服 务 器 有 能 力 处 理 扩 展 网 络 的 额 外 业 务 负 载 吗? (2) 一 旦 与 扩 展 网 络 连 接, 整 个 网 络 的 延 时 性 能 还 能 够 接 受 吗? 为 了 找 到 这 些 问 题 的 答 案, 需 要 选 择 一 个 对 象 统 计 量 :Server Load 和 一 个 全 局 统 计 量 : Ethernet Delay 服 务 器 负 载 (Server Load) 是 整 个 网 络 的 性 能 瓶 颈 下 面 来 收 集 与 服 务 器 负 载 相 关 的 统 计 量 : (1) 在 服 务 器 节 点 (node_31) 上 单 击 鼠 标 右 键, 从 弹 出 的 菜 单 中 选 择 Choose Individual Statistics 这 时 出 现 node_31 的 选 择 统 计 量 对 话 框, 如 图 1-35 所 示 统 计 量 对 话 框 以 树 型 结 构 显 示 统 计 量, 可 以 清 楚 地 了 解 它 们 的 隶 属 关 系 (2) 单 击 Node Statistics->Ethernet, 选 择 Load(bits/sec) 统 计 量, 如 图 1-35 (3) 单 击 OK 关 闭 对 话 框 全 局 统 计 量 可 以 用 来 收 集 整 个 网 络 的 信 息 下 面, 我 们 通 过 选 择 全 局 Delay 统 计 量 来 查 看 整 个 网 络 的 延 时 性 能 (4) 在 网 络 编 辑 器 的 工 作 空 间 ( 避 免 指 到 对 象 ) 上 单 击 鼠 标 右 键, 从 弹 出 的 菜 单 中 选 择 Choose Individual Statistics (5) 单 击 Gobal Statistics 树 型 结 构, 找 到 并 点 开 Ethernet 节 点 统 计 量 (6) 选 中 Delay(sec) 统 计 量 (7) 单 击 OK 按 钮 关 闭 对 话 框
36 OPNET 网 络 仿 真 陈 敏 图 1-35 选 择 结 果 统 计 量 1.5.4 保 存 项 目 接 下 来 需 要 保 存 项 目 ( 最 好 养 成 经 常 保 存 项 目 的 好 习 惯 ) 在 File 菜 单 中 选 择 Save( 在 前 面 已 经 给 项 目 命 名, 因 此 不 需 要 重 命 名 ) 1.5.5 运 行 仿 真 下 一 步, 可 以 准 备 运 行 仿 真 了 首 先, 需 要 确 定 repositories 属 性 设 置 正 确 : (1) 在 Edit 菜 单 中 选 择 Preferences (2) 在 查 找 文 本 框 中 输 入 repositories, 单 击 Find 按 钮 (3) 在 弹 出 的 对 话 框 的 左 下 角 单 击 Insert 按 钮, 在 文 本 框 中 输 入 stdmod, 然 后 回 车 (4) 单 击 OK 关 闭 repositories 和 Preferences 对 话 框 优 化 仿 真 核 心 : 仿 真 核 心 有 development( 调 试 ) 和 optimized( 优 化 ) 两 种 调 试 状 态 的 仿 真 核 心 会 收 集 仿 真 信 息, 这 些 信 息 可 用 来 调 试 模 块 而 优 化 仿 真 核 心 使 运 行 速 度 加 快
第 1 章 OPNET 仿 真 概 述 37 设 置 优 化 仿 真 的 方 法 如 下 : 在 Edit 菜 单 中 选 择 Preferences, 在 查 找 文 本 框 中 输 入 kernel_type, 单 击 Find 按 钮 将 对 应 的 value 设 置 为 optimized 接 下 来 运 行 仿 真 : (1) 在 Simulation 菜 单 中 选 择 Configure Simulationl..., 或 者 在 工 具 栏 中 选 择 运 行 仿 真 按 钮 (2) 将 仿 真 时 间 Duration 设 置 为 0.5, 即 模 拟 执 行 半 小 时 的 仿 真, 如 图 1-36 所 示 图 1-36 配 置 仿 真 属 性 (3) 单 击 Run 按 钮 运 行 仿 真 (4) 运 行 完 毕 后 单 击 Close 按 钮 关 闭 对 话 框 1.5.6 查 看 结 果 可 以 从 项 目 编 辑 器 中 弹 出 的 菜 单 中 选 择 View Results 查 看 结 果 查 看 服 务 器 Ethernet load 结 果 : (1) 在 服 务 器 节 点 (node_31) 上 单 击 鼠 标 右 键, 从 弹 出 的 菜 单 中 选 择 View Results, 这 时 出 现 查 看 结 果 对 话 框, 如 图 1-37 所 示 (2) 然 后 选 中 Load(bits/sec) 图 1-37 查 看 结 果
38 OPNET 网 络 仿 真 陈 敏 (3) 单 击 Show 按 钮, 这 时 在 项 目 编 辑 器 上 出 现 如 图 1-38 所 示 的 结 果 图 1-38 网 络 负 载 结 果 不 同 的 实 验 曲 线 走 势 应 该 是 大 致 相 同, 当 然 具 体 的 取 值 会 因 为 节 点 放 置 的 位 置 和 链 路 长 度 不 同 而 有 微 弱 的 差 别 注 意 到 负 载 最 大 值 为 6,000 bits/second 这 个 场 景 是 我 们 想 得 到 的 值, 用 它 和 后 面 扩 展 网 络 后 的 结 果 进 行 比 较, 关 闭 对 话 框 现 在 来 查 看 Ethernet Delay 的 结 果, 这 是 一 个 全 局 统 计 量 (4) 在 工 作 空 间 中 单 击 鼠 标 右 键, 从 弹 出 的 菜 单 中 选 择 View Results (5) 选 择 Global Statistics Ethernet Delay(sec), 然 后 单 击 Show 按 钮 注 意 到 网 络 收 敛 时 的 延 时 大 约 为 0.4 微 秒, 如 图 1-39 所 示 图 1-39 网 络 延 时 结 果
第 1 章 OPNET 仿 真 概 述 39 (6) 关 闭 结 果 图 1.5.7 复 制 场 景 并 扩 展 网 络 你 已 经 创 建 了 一 个 基 本 的 网 络, 并 且 收 集 了 相 关 结 果 现 在 可 以 扩 展 该 网 络 并 且 验 证 在 增 加 额 外 负 载 下, 网 络 仍 然 能 够 很 好 地 工 作 为 了 保 留 刚 才 的 网 络 场 景, 以 便 和 扩 展 的 网 络 场 景 的 仿 真 结 果 相 比 较, 需 要 复 制 场 景 : (1) 在 Scenarios 菜 单 中 选 择 Duplicate Scenario... (2) 命 名 新 的 场 景 为 expansion (3) 单 击 OK 按 钮 这 时 出 现 和 刚 才 网 络 模 型 一 模 一 样 的 场 景 接 下 来, 需 要 构 建 网 络 的 另 一 部 分 (4) 从 Topology 菜 单 中 选 择 Rapid Configuration (5) 从 配 置 下 拉 列 表 中 选 择 Star, 单 击 OK... 选 择 中 心 节 点 模 型 为 3C_SSII_1100_3300_4s_ae52_e48_ge3 选 择 周 边 节 点 模 型 为 Sm_Int_wkstn, 并 设 置 节 点 个 数 为 15 选 择 链 路 模 型 为 10BaseT 指 定 网 络 在 工 作 空 间 中 放 置 的 位 置 : 中 心 的 X 轴 坐 标 为 75 和 Y 轴 坐 标 为 62.5 局 域 网 的 半 径 范 围 为 20 (6) 设 置 好 以 后 单 击 OK 按 钮, 这 时 项 目 编 辑 器 中 出 现 另 一 个 局 域 网 连 接 这 两 个 局 域 网 : (7) 单 击 对 象 模 板 工 具 按 钮 (8) 选 中 Cisco 2514 路 由 器 并 将 它 放 置 在 两 个 局 域 网 之 间 单 击 鼠 标 右 键 结 束 放 置 (9) 在 对 象 模 板 中 选 中 10BaseT 链 路 图 标, 在 项 目 编 辑 器 中 分 别 连 接 node_30 和 node_50(cisco 路 由 器 ), 以 及 node_49 和 node_50 (10) 单 击 鼠 标 右 键 (11) 关 闭 对 象 模 板 (12) 在 File 菜 单 中 选 择 Save 保 存 项 目 这 时 整 个 网 络 建 好 了, 如 图 1-40 所 示 1.5.8 再 次 运 行 现 在 可 以 运 行 仿 真 了 (1) 在 Simulation 菜 单 中 选 择 Configure Simulationl..., 或 者 在 工 具 栏 中 选 择 运 行 仿 真 按 钮
40 OPNET 网 络 仿 真 陈 敏 1-40 扩 展 后 的 网 络 模 型 (2) 将 仿 真 时 间 Duration 设 置 为 0.5, 即 模 拟 执 行 半 小 时 的 仿 真 (3) 单 击 Run 按 钮 运 行 仿 真 (4) 运 行 完 毕 后 单 击 Close 按 钮 关 闭 对 话 框 1.5.9 比 较 结 果 为 了 回 答 最 开 始 提 出 的 问 题, 需 要 将 这 两 个 网 络 的 仿 真 结 果 进 行 比 较 : (1) 在 服 务 器 节 点 (node_31) 上 单 击 鼠 标 右 键 从 弹 出 的 菜 单 中 选 择 Compare Results (2) 选 中 Office Network.node_31 Ethernet Load(bits/sec) 结 果 统 计 量, 并 在 比 较 结 果 对 话 框 的 右 下 角 的 下 拉 列 表 中 选 择 All Scenarios, 如 图 1-41 所 示 (3) 单 击 show 查 看 比 较 的 结 果 图 1-42 中 曲 线 抖 动 很 厉 害, 为 了 更 加 清 楚 两 条 曲 线 的 走 势, 我 们 可 以 改 变 结 果 的 收 集 模 式, 从 Compare Results( 如 图 1-41) 对 话 框 中 间 下 面 的 下 拉 列 表 中 选 择 time average, 单 击 show, 这 时 出 现 图 1-43 的 结 果, 可 以 看 出 抖 动 被 平 滑 了
第 1 章 OPNET 仿 真 概 述 41 图 1-41 比 较 负 载 结 果 图 1-42 负 载 结 果 比 较 图 (4) 关 闭 server 的 比 较 结 果 对 话 框 最 后, 我 们 来 查 看 增 加 第 二 个 网 络 对 网 络 的 延 时 性 能 的 影 响 比 较 这 两 个 场 景 的 Ethernet delay 结 果 :
42 OPNET 网 络 仿 真 陈 敏 图 1-43 平 均 负 载 比 较 图 (5) 在 工 作 空 间 中 单 击 鼠 标 右 键, 从 弹 出 的 菜 单 中 选 择 Compare Results (6) 选 择 Global Statistics Ethernet Delay(sec) 统 计 量 (7) 单 击 show 显 示 比 较 结 果, 如 图 1-44 所 示 图 1-44 端 对 端 延 时 比 较 从 图 中 可 以 看 出 以 太 网 延 时 性 能 并 没 有 因 为 服 务 器 负 载 的 增 加 而 受 影 响 (8) 关 闭 比 较 结 果 对 话 框 (9) 从 File 菜 单 中 选 择 Close, 保 存 并 关 闭 项 目 文 件
第 1 章 OPNET 仿 真 概 述 43 第 2 章 OPNET Modeler 环 境 变 量 的 设 置 及 文 件 管 理 2.1 OPNET Modeler 环 境 变 量 的 设 置 Modeler 全 部 功 能 得 以 正 常 运 作 有 赖 于 相 关 环 境 变 量 的 正 确 设 置 OPNET 支 持 SUN HP IBM SGI 工 作 站 和 一 般 PC 等 硬 件 设 备, 常 用 的 操 作 系 统 为 UNIX 和 Windows 2000, 本 节 分 别 给 出 这 两 操 作 系 统 下 有 关 OPNET 环 境 变 量 的 设 定 需 设 置 的 内 容 包 括 与 操 作 系 统 相 关 的 用 户 环 境 变 量 和 在 OPNET 中 单 独 设 置 的 与 c 编 译 器 相 关 的 一 些 环 境 变 量 2.1.1 Windows 2000 下 环 境 变 量 的 设 置 在 Windows 下, 可 以 采 用 以 下 两 种 方 法 打 开 如 图 2-1 所 示 的 用 户 环 境 变 量 设 置 对 话 框 : 控 制 面 板 系 统 高 级 环 境 变 量 在 我 的 电 脑 上 单 击 鼠 标 右 键 属 性 高 级 选 项 卡 环 境 变 量, 如 图 2-1 所 示
44 OPNET 网 络 仿 真 陈 敏 图 2-1 操 作 系 统 环 境 变 量 对 话 框 下 面 列 出 需 要 设 置 的 环 境 变 量, 其 中 <opnet_dir> 表 示 OPNET 安 装 目 录,<version_num> 表 示 版 本 号 : (1)include( 包 含 的 头 文 件 目 录, 包 括 三 类 ) VC 的 include 文 件 : C:\Program Files\Microsoft Visual Studio\VC98\atl\include; C:\Program Files\Microsoft Visual Studio\VC98\mfc\include; C:\Program Files\Microsoft Visual Studio\VC98\include; OPNET 的 include 文 件 : <opnet_dir>\<version_num>\sys\include; <opnet_dir>\<version_num>\models\std\include; 自 定 义 头 文 件 目 录 : (2)Lib( 包 含 的 库 文 件 目 录 ): VC 的 库 文 件 : C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib; C:\Program Files\Microsoft Visual Studio\VC98\lib; OPNET 的 库 文 件 : <opnet_dir>\<version_num>\sys\lib; <opnet_dir>\<version_num>\sys\pc_intel_win32\lib; (3)path( 路 径 文 件 目 录 ): VC 的 路 径 文 件 目 录 : C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT; C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin; C:\Program Files\Microsoft Visual Studio\Common\Tools; C:\Program Files\Microsoft Visual Studio\VC98\bin; OPNET 的 路 径 文 件 目 录 : <opnet_dir>\<version_num>\sys\pc_intel_win32\bin VC 安 装 过 程 中 选 择 自 动 注 册 环 境 变 量, 运 行 OPNET 如 果 出 现 编 译 错 误 bind_so_msvc: Unable to execute bind program (Win32 error code: 2) 则 需 要 检 查 Path 环 境 变 量 是 否 设 置, 新 设 定 的 环 境 变 量 需 重 新 启 动 计 算 机 才 能 生 效 除 了 设 定 以 上 与 操 作 系 统 相 关 的 用 户 环 境 变 量 外, 还 有 一 些 需 要 单 独 在 OPNET 的 Edit->Preference 下 设 置 的 与 c 编 译 器 相 关 的 一 些 环 境 变 量, 它 们 用 来 实 现 OPNET 与 VC 的 联 合 调 试, 具 体 内 容 在 7.3.2 节 有 详 细 描 述
第 1 章 OPNET 仿 真 概 述 45 2.1.2 Unix 下 环 境 变 量 的 设 置 (1)Unix 下 主 要 设 置 用 户 环 境 变 量 文 件.cshrc, 它 是 每 次 打 开 一 个 用 户 终 端 (console) 时 系 统 执 行 的 批 处 理 文 件 可 以 在.chsrc 文 档 中 直 接 添 加 下 述 命 令 行, 然 后 注 销 当 前 用 户, 再 次 登 录, 或 者 在 console 下 输 入 这 些 命 令 行, 其 中 <opnet_dir> 表 示 安 装 目 录,<version_num> 表 示 版 本 号 : set path=(/bin /usr/bin /usr/local/bin /usr/sbin /usr/ucb /export/home/gcr/op_models /<opnet_dir>/<version_num>/sys/unix/bin /etc.) 设 置 类 似 于 DOS 下 的 path 命 令, 当 一 个 指 令 在 当 前 目 录 下 找 不 到 时 将 在 这 些 path 目 录 下 搜 索, 其 中 空 格 键 将 多 个 path 路 径 分 隔 开 setenv LD_LIBRARY_PATH /usr/local/lib 设 置 通 用 c 支 持 库 的 路 径 setenv LD_LIBRARY_PATH /<opnet_dir>/<version_num>/sys/sun_sparc_solaris/lib:$ld_library_path 这 条 指 令 相 当 于 设 置 windows 底 下 的 <opnet_dir>\<version_num>\sys\pc_intel_win32\bin 另 外 符 号 :$ 表 示 增 加 一 条 新 记 录, 否 则 当 前 记 录 将 覆 盖 上 一 条 记 录 (2) 除 了 设 定 以 上 用 户 环 境 变 量 外, 还 需 设 置 一 些 OPNET 自 身 的 环 境 变 量, 如 表 2-1 所 示 : 表 2-1 OPNET 的 Edit->Preferences 中 需 要 设 置 的 环 境 变 量 变 量 名 变 量 值 意 义 comp_prog comp_gcc 或 comp_g++ 指 定 c 编 译 器 comp_prog_cpp comp_gcc 或 comp_g++ 指 定 c++ 编 译 器 bind_shobj_prog bind_so_gcc 或 bind_so_g++ 指 定 绑 定 共 享 库 的 程 序 bind_static_prog bind_gcc 或 bind_g++ 指 定 连 接 静 态 库 的 程 序 上 表 中 gcc 代 表 Unix 下 的 一 种 常 用 的 c 编 译 器,g++ 为 其 c++ 版 本 2.2 OPNET 常 用 文 件 格 式 OPNET 仿 真 能 够 运 行 所 必 须 使 用 的 文 件 可 以 分 为 两 类 : (1) 以 *.m 结 尾 的 文 件, 如 *.nt.m *.pb.m *.nd.m *.pr.m *.seq *.prj *.pk.m *.ic.m 等 ; (2) 自 定 义 的 文 件, 如 *.h *.ex.c *.ps.c *.ex.cpp *.ps.cpp *.gdf 表 2-2 列 出 OPNET 常 用 的 文 件 后 缀 及 其 说 明 表 2-2 OPNET 常 用 的 文 件 后 缀 及 其 说 明
46 OPNET 网 络 仿 真 陈 敏 后 缀 名 扩 展 描 述 意 义 文 件 格 式.ac Analysis Configuration 分 析 配 置 文 件 二 进 制 文 件.ad.m Public Attribute Description 公 共 属 性 描 述 二 进 制 文 件.ah Animation History 动 画 文 件 二 进 制 文 件.as Animation Script 动 画 描 述 ASCII 数 据.bkg.i Background Image 背 景 图 片 二 进 制 文 件.cds Cartographic Data Set 绘 图 数 据 集 二 进 制 文 件.cml Custom Model List 自 定 义 模 型 列 表 ASCII 数 据.csv Comma Separated values 分 栏 数 据 文 件 ASCII 数 据.ef Environment File 环 境 文 件 ASCII 数 据.em.c Ema C code EMA C 代 码 C 代 码.em.cpp Ema C++ code EMA C++ 代 码 C++ 代 码.em.o Ema code object EMA 目 标 文 件 目 标 代 码.em.x Ema Application executable EMA 可 执 行 文 件 可 执 行 程 序.ets External Tool Support File 外 部 工 具 支 持 文 件 ASCII 数 据.ets.c External Tool Support C code 外 部 工 具 支 持 C 代 码 C 代 码.ets.o External Tool Support object 外 部 工 具 支 持 目 标 文 件 目 标 代 码.ets.cpp External Tool Support C++ code 外 部 工 具 支 持 C++ 代 码 C++ 代 码.ex.c External C Code 外 部 C 代 码 C 代 码.ex.cpp External C++ Code 外 部 C++ 代 码 C++ 代 码.ex.h External Code Include File 外 部 头 文 件 C/C++ 代 码.ex.o External Code object 外 部 目 标 文 件 目 标 代 码
第 1 章 OPNET 仿 真 概 述 47 续 表 后 缀 名 扩 展 描 述 意 义 文 件 格 式.fl.m Filter Model 过 滤 器 模 型 文 件 二 进 制 文 件.fl.x Filter Model 过 滤 器 模 型 可 执 行 文 件 可 执 行 程 序.gdf General Purpose Data File 通 用 数 据 文 件 ASCII 数 据.h Header File 头 文 件 C 代 码.hlp Help File 帮 助 文 件 文 本 文 件.ic.m ICI Format ICI 模 型 文 件 二 进 制 文 件.icons Icon Database 图 库 文 件 ASCII 数 据.lk.d Derived Link Model 派 生 的 链 路 模 型 二 进 制 文 件.lk.m Link Model 链 路 模 型 二 进 制 文 件.map.i Image Map 地 图 文 件 二 进 制 文 件.md.m Modulation Function 调 制 曲 线 文 件 二 进 制 文 件.nd.d Derived Node Model 派 生 的 节 点 模 型 二 进 制 文 件.nd.m Node Model 节 点 模 型 二 进 制 文 件.nt.m Network Model 网 络 模 型 二 进 制 文 件.nt.so Network Repository shared library 集 成 的 网 络 目 标 文 件 共 享 库 文 件.orba Satellite Node Orbit 卫 星 轨 道 文 件 二 进 制 文 件.os Output Scalars 输 出 标 量 文 件 二 进 制 文 件.ov Output Vectors 输 出 矢 量 文 件 二 进 制 文 件.path.d Derived path object 派 生 的 路 径 模 型 二 进 制 文 件.path.m Path object 路 径 模 型 二 进 制 文 件.pa.ma Antenna Pattern 天 线 模 型 二 进 制 文 件.pb.m Probe List 探 针 模 型 二 进 制 文 件.pd.m PDF/ editable form 概 率 密 度 函 数 二 进 制 文 件.pd.s PDF / simulation loadable form 概 率 密 度 函 数 二 进 制 文 件.pk.m Packet Format 包 格 式 模 型 二 进 制 文 件.pr.c Process Model C 进 程 C 代 码 C 代 码.pr.cpp Process Model C++ 进 程 C++ 代 码 C++ 代 码.pr.m Process Model 进 程 模 型 二 进 制 文 件.pr.o Process Model object 进 程 模 型 目 标 文 件 目 标 代 码.prj Project Model 项 目 文 件 二 进 制 文 件.ps.c Pipeline Stage Model C 管 道 阶 段 C 文 件 C 代 码.ps.cpp Pipeline Stage Model C++ 管 道 阶 段 C++ 文 件 C++ 代 码.ps.o Pipeline Stage Model object 管 道 阶 段 目 标 文 件 目 标 代 码.scfa Satellite Configuration 卫 星 配 置 文 件 二 进 制 文 件.pbs.m Service Level Agreement Prob 服 务 等 级 保 证 探 针 模 型 e Model ( 用 于 ESP 附 加 模 块 ) 二 进 制 文 件.sd Simulator Description 仿 真 描 述 文 本 文 件.seq Simulation Sequence 仿 真 序 列 二 进 制 文 件
48 OPNET 网 络 仿 真 陈 敏 续 表 后 缀 名 扩 展 描 述 意 义 文 件 格 式.sim Simulation Executable program 可 执 行 的 仿 真 可 执 行 文 件.trja Mobile Node Trajectory 移 动 节 点 轨 迹 二 进 制 文 件 2.3 OPNET 文 件 管 理 当 我 们 创 建 了 一 个 新 的 文 件 目 录 后, 其 中 包 含 的 模 型 文 件 要 想 在 OPNET 下 能 够 打 开 需 要 将 文 件 目 录 加 入 到 OPNET 源 路 径 中, 如 图 2-2 所 示, 在 File 菜 单 下 选 择 Models Files -> Add Model Directory, 找 到 相 关 目 录, 如 果 想 让 它 成 为 工 作 目 录 ( 所 有 新 创 建 的 文 件 将 保 存 在 该 目 录 中 ), 那 么 要 选 中 Make this the default directory 另 外 所 选 目 录 包 含 很 多 子 目 录 时, 选 择 Include all subdirectories 能 够 将 所 有 目 录 添 加 到 OPNET 源 路 径 中, 并 且 在 Edit->Preference->mod_dirs 中, 最 高 层 目 录 将 浮 动 到 所 有 添 加 目 录 的 最 高 行, 但 并 不 一 定 是 工 作 目 录 之 后 在 OPNET 就 可 以 打 开 里 面 的 文 件 图 2-2 添 加 OPNET 源 路 径 另 外 在 C:\op_admin 目 录 下, 包 含 的 一 些 特 殊 的 文 件 及 子 目 录 有 些 特 殊 的 用 途, 有 时 需 要 对 它 们 进 行 一 些 管 理 : (1)session_log 文 件, 记 录 了 有 关 OPNET 的 所 有 操 作, 如 对 模 型 的 复 制, 创 建, 删 除 等 (2)err_log 文 件, 为 错 误 日 志 文 件, 它 包 含 了 出 错 情 况 下 完 整 的 函 数 调 用 堆 栈 信 息, 我 们 可 以 从 函 数 阶 层 性 的 调 用 关 系 中 精 确 找 到 出 错 位 置 (3)env_db 文 件, 为 OPNET 环 境 文 件, 所 有 在 Edit->Preference 下 的 改 动 都 会 保 存 到 这 个 文 件 中, 同 时 环 境 变 量 的 文 本 化 给 移 植 带 来 很 大 方 便 (4)op_admin\tmp 目 录, 保 存 仿 真 中 间 结 果, 时 间 一 长, 该 目 录 包 含 的 文 件 可 能 占 用 大 量 的 硬 盘 空 间, 注 意 定 时 清 空 该 目 录 (5)op_admin\bk 目 录, 备 份 文 件, 在 Edit->Preference 下 可 设 置 backup_interval 来 指 定 多 长 时 间 备 份 一 次, 以 及 通 过 设 置 backup_max_count 指 定 备 份 的 最 大 次 数, 它 和 tmp 目 录 相 似, 长 时 间 不 清 空 可 能 占 用 很 多 硬 盘 空 间 最 后 如 果 碰 到 OPNET 使 用 上 的 问 题, 可 以 从 Help 菜 单 中 选 择 打 开 联 机 帮 助 文 档, 它