第1章 概论 1
1.1计算机网络仿真的基本概念 1
1.1.1网络模拟 1
1.1.2网络仿真 2
1.1.3仿真技术应用领域 3
1.2计算机网络仿真的主要过程 4
1.2.1网络仿真技术的特点 4
1.2.2网络仿真的主要过程 6
1.3计算机仿真的历史及现状 6
1.3.1计算机仿真的历史 6
1.3.2计算机仿真的现状 7
1.4主流网络仿真工具分析 7
1.4.1 OPNET 7
1.4.2 NS-2 9
1.4.3 MATLAB 10
1.4.4 CASSAP 11
1.4.5 SPW 11
1.4.6 NEST 12
1.4.7 SSFNet 12
1.5国内外军用计算机仿真技术的研究现状 12
1.5.1国外军用计算机仿真技术现状 12
1.5.2国内军用计算机仿真技术现状 13
1.6小结 14
1.7思考与练习 14
第2章 编辑器与Tcl/OTcl语言 15
2.1文字编辑器EditPlus 15
2.1.1 EditPlus简介 15
2.1.2 EditPlus安装与使用 16
2.2 Tcl语言 19
2.2.1变量和变量替换 20
2.2.2表达式 20
2.2.3指令替换 21
2.2.4流程控制 21
2.2.5自定义过程 23
2.2.6数组 23
2.2.7字符串 24
2.2.8输出 24
2.2.9算数运算 25
2.3 OTcl语言 26
2.3.1 OTcl语言简介 26
2.3.2类和对象的定义 26
2.3.3成员变量和成员函数 26
2.3.4继承关系 27
2.3.5类命名规则 28
2.3.6类与对象的常用命令 28
2.4小结 29
2.5思考与练习 29
第3章 网络仿真软件NS-2 31
3.1 NS-2简介 31
3.2 NS-2仿真原理 31
3.2.1分裂对象模型 31
3.2.2 NS-2目录结构 32
3.2.3事件调度机制 33
3.2.4分组头管理 33
3.2.5仿真基本流程 34
3.3 NS-2类结构 35
3.3.1 NS-2类总体结构 35
3.3.2 TclObject类 37
3.3.3 TclClass类 39
3.3.4 Tcl类 40
3.3.5 TclCommand类 40
3.3.6 EmbeddedTcl类 41
3.3.7 InstVar类 41
3.3.8 Simulator类 41
3.4 NS-2网络组件 42
3.4.1节点 42
3.4.2链路 44
3.4.3代理 45
3.4.4应用 46
3.4.5举例 47
3.5 NS-2基本应用实例与分析 49
3.5.1 Tcl脚本编写步骤 49
3.5.2基本实例脚本 49
3.5.3基本实例分析 51
3.6 NS-2相关工具介绍 53
3.6.1 NAM 53
3.6.2 Gawk 55
3.6.3 Xgraph 55
3.6.4 Gnuplot 56
3.7小结 59
3.8思考与练习 59
第4章 Windows+Cygwin环境下NS-2的安装与卸载 60
4.1安装Cygwin 60
4.1.1 Cygwin简介 60
4.1.2 Cygwin的安装过程 61
4.1.3 Linux常用命令 66
4.2安装NS-2 68
4.2.1 NS-2的安装过程 68
4.2.2安装注意事项 72
4.3卸载Cygwin与NS-2 73
4.3.1卸载NS-2 73
4.3.2 卸载Cygwin 73
4.4小结 74
4.5思考与练习 74
第5章 NS-2简单仿真实例 75
5.1 NS-2仿真工作流程 75
5.2 NS-2有线网络仿真实例 76
5.2.1有线网络仿真实例结构 76
5.2.2有线网络仿真实例TCL程序 77
5.2.3有线网络实例仿真结果 79
5.3 NS-2无线网络仿真实例 79
5.3.1无线网络仿真实例结构 79
5.3.2无线网络仿真实例TCL程序 79
5.3.3无线网络实例仿真结果 81
5.4小结 82
5.5思考与练习 82
第6章 NS-2仿真结果分析 83
6.1相关基础 83
6.1.1端点到端点延迟 83
6.1.2抖动率 83
6.1.3封包丢失率 84
6.1.4吞吐量 84
6.2仿真过程记录文件内容与格式 84
6.2.1仿真过程记录文件内容与格式 84
6.2.2 awk编程模式 85
6.3网络性能分析 86
6.3.1端点到端点的延迟 86
6.3.2抖动率 88
6.3.3封包丢失率 89
6.3.4吞吐量 90
6.3.5仿真结果分析 91
6.4小结 94
6.5思考与练习 94
第7章 路由策略与算法模拟 95
7.1相关基础 95
7.1.1常用路由策略 95
7.1.2常用的路由算法 96
7.1.3 NS-2路由模块 97
7.2路由模拟实例 98
7.2.1仿真网络结构 98
7.2.2路由TCL程序代码 98
7.3路由模拟仿真结果 100
7.3.1静态路由仿真结果 100
7.3.2动态路由仿真结果 102
7.4小结 103
7.5思考与练习 104
第8章 TCP拥塞控制机制与算法模拟 105
8.1相关基础 105
8.1.1 TCP协议 105
8.1.2相关术语 106
8.1.3 TCP拥塞控制的四个阶段 106
8.2不同TCP版本中的拥塞控制算法与机理 107
8.2.1 TCP Tahoe 107
8.2.2 TCP Reno 108
8.2.3 TCP New Reno 108
8.2.4 TCP SACK 109
8.2.5不同版本的比较分析 109
8.3 TCP拥塞控制机制与算法模拟 110
8.3.1 NS-2中创建TCP代理 110
8.3.2网络拓扑结构 110
8.3.3 TCL程序代码 111
8.3.4执行方法和结果 113
8.4模拟结果分析 113
8.4.1 TCP Tahoe 113
8.4.2 TCP Reno 114
8.4.3 TCP Newreno 115
8.4.4 TCP Sack 115
8.5小结 116
8.6思考与练习 116
第9章 网络拓扑脚本自动生成工具 117
9.1相关基础 117
9.1.1 nsBench 117
9.1.2 NSG 118
9.2有线网络脚本生成器nsBench 121
9.2.1安装Java虚拟机JVM 121
9.2.2运行nsBench 121
9.2.3 nsBench拓扑设计 122
9.2.4 TCL代码与运行结果 129
9.3脚本生成器NSG 131
9.3.1 NSG2产生有线网络脚本 131
9.3.2 NSG2产生无线网络脚本 138
9.4小结 147
9.5思考与练习 147
第10章 安全套件OpenSSL 148
10.1 OpenSSL简介 148
10.2常用的加密算法和摘要函数 148
10.2.1对称加解密算法 148
10.2.2公钥算法 149
10.2.3摘要算法 152
10.2.4 BASE64编码 152
10.3 cygwin环境中OpenSSL命令实例 152
10.3.1操作说明 152
10.3.2 enc命令 153
10.3.3 genrsa命令 156
10.3.4 rsa命令 157
10.3.5 rsautl命令 160
10.4小结 161
10.5思考与练习 162
附录1 Gnuplot绘图 163
附录2 NS-2相关资源 170
参考文献 172