第1章 初识NS -2 1
1.1 NS-2概述 1
1.2 NS-2溯源与展望 2
1.3网络模拟与网络模拟软件 2
1.3.1网络模拟概览 2
1.3.2主流网络模拟软件简介 4
1.3.3主流模拟软件的比较 7
1.4 NS-2的下载与安装 8
1.4.1 NS-2的下载 8
1.4.2在Linux下的安装 9
1.4.3在Windows+Cygwin下的安装 11
1.5 NS-2学习之道 15
1.6 NS-2模拟基础 16
1.6.1 NS-2模拟的基本流程 16
1.6.2 NS-2主要构件概览 17
1.6.3 NS-2源码目录结构 18
附录1 NS-2安装常见问题解答(Q&A) 19
附录2 参考资料 21
第2章 Tel和OTcI 22
2.1 Tcl命令格式 22
2.2变量 22
2.3组合和替代 24
2.3.1命令替代 24
2.3.2反斜杠替代 24
2.3.3组合 25
2.3.4组合和替代的执行顺序 25
2.3.5组合和替代总结 26
2.4数学运算 26
2.5过程 27
2.6流程控制命令 27
2.7注释 31
2.8数组 31
2.9 OTcl 32
附录1 常用公式、命令、方法 36
附录2 参考资料 41
第3章 NS-2基础 42
3.1 NS-2的离散事件调度机制 43
3.1.1 Simulator类 43
3.1.2 NS-2的事件和事件调度器 43
3.1.3本节相关的NS命令 44
3.2节点(node) 45
3.2.1节点的创建和结构 45
3.2.2节点的配置 47
3.2.3与节点相关的命令 50
3.3链路(Link) 51
3.3.1链路的创建及结构 51
3.3.2双向链路的创建及结构 53
3.3.3与本节相关的NS命令 53
3.3.4网络拓扑结构的构建 53
3.4代理(Agent) 54
3.4.1 Agent类 55
3.4.2 UDP代理 56
3.4.3 TCP代理 57
3.4.4其他协议Agent 58
3.4.5与Agent相关的命令 59
3.5应用层(Application) 60
3.5.1应用层概述 60
3.5.2流量产生器(Traic generators) 61
3.5.3应用模拟器(Simulated application) 64
3.5.4在examplel中添加代理和应用程序 65
3.6数据的记录与动画演示 66
3.6.1 Trace的使用 66
3.6.2 Trace文件格式 68
3.6.3 Monitor的使用 69
3.6.4动画演示 71
3.6.5与本节相关的命令 74
3.7数据分析 74
3.7.1使用gawk分析Trace文件 74
3.7.2图形绘制工具 81
3.8无线网络的模拟 89
3.8.1无线网络概述 89
3.8.2移动节点 91
3.8.3无线网络的路由代理 97
3.8.4无线网络的能量模型和无线传播模型 98
3.8.5无线Trace 101
3.8.6与本节相关的NS命令 104
附录1 简单有线网络实例examplel.tcl完整代码 105
附录2 简单无线网络实例example2.tcl完整代码 108
附录3 常见问题解答(Q&A) 111
附录4 参考资料 113
第4章 NS-2网络教学应用案例 114
4.1 TCP/IP基础与NS-2模拟 114
4.1.1 TCP基础回顾 114
4.1.2 TCP的NS-2建模与教学演示 118
4.2 LAN基础与NS-2模拟 126
4.2.1 LAN基础回顾 126
4.2.2 LAN的NS-2模拟 128
4.3路由基础与NS-2模拟 133
4.3.1路由简介 133
4.3.2路由的NS -2模拟 137
4.4无线网络与NS-2模拟 144
4.4.1无线网络概述 144
4.4.2无线网络的NS -2模拟 150
4.5队列管理与NS-2模拟 156
4.5.1队列管理算法简介 156
4.5.2队列管理与NS - 2模拟 160
4.6 IP QoS基础与NS-2模拟 166
4.6.1 IP QoS技术与方案 166
4.6.2 IP QoS的NS-2模拟 171
附录1 本章实例索引表 182
附录2 NS-2网络教学参考大纲 182
附录3 如何在PowerPoint中使用Nam 183
附录4 资源列表与参考资料 183
第5章 TcICL机制 184
5.1 Tc1CL 184
5.2 OTcl和C++的对象通信 185
5.2.1创建C++对象 185
5.2.2访问C++对象的属性 186
5.2.3调用C++对象的方法 187
5.3向NS-2中添加Ping协议 188
附录1 Ping.h头文件源码 191
附录2 参考资料 195
第6章 NS-2核心组件分析 196
6.1离散时间模拟机制 196
6.2分类器(classier) 200
6.3定时器(Timer) 203
6.4分组格式 207
6.4.1特定分组头地址获取 207
6.4.2分组(Packet)及相关类 209
6.5代理(Agent) 213
6.5.1 Connector类定义 213
6.5.2 Agent类定义 215
6.5.3 UDP协议Agent分析 216
6.5.4 TCP协议Agent分析 218
6.6应用层(Application) 221
6.6.1流量发生器(TrafficGenerator类) 222
6.6.2应用模拟器(Telnet) 222
附录1 参考资料 223
第7章 NS-2在科研中的运用 224
7.1端到端拥塞控制研究 224
7.1.1问题描述 224
7.1.2公平性问题 225
7.1.3拥塞崩溃 237
7.2一种新的MANET单播协议在NS-2中的实现 240
7.2.1概述 240
7.2.2创建新的分组类型 241
7.2.3创建路由代理 241
7.2.4创建路由表 249
7.2.5代码集成 250
附录1 参考资料 253