NS网络模拟和协议仿真

NS网络模拟和协议仿真
作 者: 黄化吉
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 网络配置与管理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《NS网络模拟和协议仿真》作者简介

内容简介

《NS网络模拟和协议仿真》介绍了利用NS软件进行网络模拟和协议仿真的方法,内容既包括NS的安装、Tcl/Otcl语言、NS架构、仿真入门等基础知识,又涵盖了协议的移植、代码调试以及协议开发等有关知识。书中不仅给出了大量具有详尽注解、讨论NS基本功能的源代码程序,而且在人民邮电出版社网站上提供了一个配套的无线Mesh网协议开发和仿真的完整实例以及《NS网络模拟和协议仿真》的示例源代码。《NS网络模拟和协议仿真》适合利用NS软件从事网络研究、开发和性能模拟的工程技术人员阅读,也可作为网络仿真的培训教程,以及高等院校与网络课程相关的实验教程。

图书目录

第一篇 NS的基本知识

第1章 结论

1.1 NS的背景 3

1.2 网络模拟涉及的主要知识点 4

1.3 使用NS进行网络模拟的基本过程 5

本章小结 6

第2章 NS的安装和配置

2.1 Linux操作系统环境 7

2.1.1 Ubuntu安装完成后的设置 7

2.1.2 Ubuntu上NS必要工具和库文件的安装 8

2.2 NS安装 8

2.2.1 环境变量的设置 8

2.2.2 安装结果的验证 9

2.2.3 NS安装过程可能出现的错误分析 9

2.3 使用多个NS版本 10

本章小结 11

第3章 Tcl/OTcl语言简介

3.1 Tcl 12

3.1.1 Tcl编程环境 12

3.1.2 基本语法 13

3.1.3 字符串处理 14

3.1.4 数学运算 17

3.1.5 流程控制语句 19

3.1.6 列表 26

3.1.7 过程 27

3.1.8 数组 28

3.2 OTcl 30

3.2.1 类和对象 30

3.2.2 类的成员函数和成员变量 30

3.2.3 类的构造函数和析构函数 31

3.2.4 类的继承 31

本章小结 33

第二篇 NS的架构和网络模拟入门

第4章 NS网络模拟入门

4.1 简单有线网络模型模拟 37

4.1.1 网络拓扑 37

4.1.2 模拟仿真脚本代码 38

4.1.3 仿真的结果分析 40

4.2 简单无线网络模型仿真 42

4.2.1 网络拓扑 42

4.2.2 模拟仿真脚本代码 42

4.2.3 仿真结果分析 45

4.3 有线+无线混合模拟 46

4.3.1 网络拓扑 46

4.3.2 模拟仿真脚本代码 47

4.4.3 仿真结果分析 50

本章小结 51

第5章 NS的架构

5.1 NS的模拟实现机制 52

5.1.1 分裂对象模型 52

5.1.2 离散事件模拟 59

5.2 OTcl与C++的交互 59

5.3 NS中的层次关系 66

5.3.1 层面对应关系 66

5.3.2 分组的流程 66

5.3.3 使用NS研究适合的层面 69

本章小结 69

第6章 NS的基本组件和使用

6.1 节点 70

6.1.1 节点的结构 70

6.1.2 节点的配置 71

6.2 链路 73

6.2.1 单向链路 73

6.2.2 双向链路 74

6.3 NS的调度器 74

6.4 NS的定时器 78

6.5 协议的分组头 80

6.5.1 协议特定的分组头 81

6.5.2 添加新的分组头类型 82

6.5.3 在模拟中分组头的选择 83

6.5.4 与分组相关的类 84

6.6 NS的链表list 91

6.6.1 链表的源码分析 91

6.6.2 实际用例 93

6.7 Trace文件格式 96

6.7.1 有线网络的Trace格式 96

6.7.2 无线网络的Trace旧格式 97

6.7.3 无线网络的Trace新格式 97

本章小结 99

第三篇 NS仿真辅助及仿真结果分析工具

第7章 NS仿真辅助工具

7.1 数据流生成工具cbrgen 103

7.2 拓扑场景生成工具setdest 104

7.3 简单动画显示工具NAM 104

7.3.1 NAM的使用 105

7.3.2 NAM的界面 106

本章小结 106

第8章 gawk语言简介

8.1 gawk处理文档的过程 107

8.2 Pattern和Action 108

8.2.1 Pattern 108

8.2.2 Action 109

8.3 变量 109

8.3.1 内部变量 110

8.3.2 自定义变量 110

8.4 输出打印数据 111

8.4.1 print函数 111

8.4.2 printf函数 111

8.5 Action中的流程控制语句 112

8.6 函数 114

8.6.1 内部函数 114

8.6.2 自定义函数 115

本章小结 115

第9章 gnupiot绘图

9.1 绘图环境和工作方式 116

9.2 plot和splot命令 116

9.2.1 plot绘制二维图形 117

9.2.2 splot绘制三维图形 120

9.3 设置图形的显示属性 121

9.3.1 坐标轴 121

9.3.2 Label 122

9.3.3 图的大小和位置 123

9.4 综合技巧绘图实例 123

本章小结 128

第10章 Trace文件分析

10.1 性能参数分析模型 129

10.2 网络性能分析 131

10.2.1 OTcl脚本代码 131

10.2.2 gawk程序代码 135

10.2.3 执行分析 139

本章小结 142

第四篇 NS学习进阶

第11章 洪泛路由协议的移植

11.1 协议移植的步骤 145

11.2 洪泛路由协议的原理 146

11.3 洪泛路由协议的移植 146

11.4 验证移植结果 149

本章小结 155

第12章 无线节点通信范围的设置

12.1 与通信范围相关的物理层参数 156

12.2 参数的计算 157

12.2.1 Threshold的安装和使用 157

12.2.2 Txpower的安装和使用 159

12.3 节点的参数设置 160

12.3.1 节点的默认参数 160

12.3.2 更改节点的通信范围 161

12.3.3 不同的节点不同的参数 162

12.3.4 验证结果 166

本章小结 167

第13章 扩展NS:业务流的流ID和QoS参数的添加方法

13.1 流量发生器的修改方法 176

13.1.1 修改TrafficGenerator类 177

13.1.2 修改流量发生器 178

13.1.3 增加新建参数的默认值 178

13.2 业务代理(Agent)修改 179

13.3 数据分组普通头部修改 179

13.4 打印Trace文件部分修改 180

13.5 修改结果验证 181

本章小结 185

第14章 流量发生器的原理和流量发生器的构建

14.1 流量发生器原理 186

14.1.1 流量发生器的数学模型 186

14.1.2 CBR流量发生器模型代码分析 189

14.2 VBR流量发生器 191

14.3 移植步骤 194

14.4 验证结果 194

本章小结 197

第15章 基于NS的新协议和算法开发

15.1 模块的体系架构 201

15.1.1 帧同步模块 202

15.1.2 主模块 202

15.1.3 调度树模块 204

15.1.4 消息管理模块 205

15.1.5 邻居管理模块 206

15.1.6 管理消息发送时序协调模块 207

15.1.7 数据调度器模块 208

15.2 接合部分代码 209

15.3 协议整合 212

15.4 场景仿真 212

15.5 仿真分析 219

15.5.1 节点的ID分配 219

15.5.2 调度树结构 220

15.5.3 邻居列表分析 220

15.5.4 节点对管理时序的竞争分析 220

本章小结 222

第五篇 代码调试

第16章 调试工具

16.1 GDB 225

16.1.1 关联GDB调试 225

16.1.2 GDB常用调试命令 226

16.2 tcl-debug 229

16.2.1 tcl-debug的安装 229

16.2.2 tcl-debug的调试方式和调试命令 230

本章小结 230

第17章 NS调试经验

17.1 常见错误分析 231

17.2 调试实例 232

本章小结 237

附录A 802.16d Mesh工作模式简介 238

A.1 无线Mesh网简介 238

A.2 IEEE 802.16协议基础 239

A.2.1 协议栈参考模型 239

A.2.2 节点分类和数据调度方式 240

A.3 Mesh模式的帧结构和MAC管理消息 241

A.3.1 Mesh模式的帧结构 241

A.3.2 Mesh模式下的MAC管理消息 242

A.4 节点接入网络过程 244

A.4.1 网络扫描,请求入网 246

A.4.2 基本能力协商 246

A.4.3 节点认证 246

A.4.4 节点注册及获取节点ID 246

A.4.5 IP、时间以及其余参数配置 246

A.4.6 接入完成 247

A.5 节点的邻域和扩展邻域 247

A.6 Mesh模式管理消息发送时序的协调 247

A.6.1 物理邻居列表 248

A.6.2 Mesh网络的同步 248

A.6.3 MSH-NENT消息的调度 249

A.6.4 MSH-NCFG消息和MSH-DSCH消息的调度 249

小结 252

附录B 缩略语表 253

参考文献 256