第1章 NS2的簡介和安裝. 1
1.1 NS2的簡介 1
1.2 NS2的安裝 2
1.2.1 不同平臺對NS2支持情況的比較 2
1.2.2 Linux平臺使用allinone方式的安裝過程 3
1.2.3 Windows平臺Cygwin環(huán)境下的安裝過程 5
1.2.4 VMware虛擬機環(huán)境下的安裝過程 8
第2章 NS2初級入門 10
2.1 第一個Tcl腳本 10
2.2 第二個Tcl腳本(無線模型) 12
2.3 第三個Tcl腳本 17
第3章 NS2使用的語言簡介 22
3.1 Tcl簡介 22
3.1.1 基本命令格式 22
3.1.2 變量和變量賦值 23
3.1.3 字符串 23
3.1.4 表達式 24
3.1.5 指令替代 24
3.1.6 流程控制 25
3.1.7 過程 26
3.1.8 數(shù)組 27
3.1.9 輸出 28
3.1.10 eval命令 29
3.1.11 upvar和uplevel命令 30
3.1.12 error和catch命令 31
3.2 OTcl簡介 31
3.2.1 OTcl與C 的區(qū)別 31
3.2.2 基本語法 32
3.2.3 OTcl的CApi 34
3.3 C 簡介 34
第4章 分裂對象模型 35
4.1 解釋器相關類的介紹和用途 35
4.1.1 Tcl類 36
4.1.2 TclObject類 37
4.1.3 TclClass類 39
4.1.4 TclCommand類 39
4.1.5 EmbeddedTcl類 39
4.1.6 InstVar類 40
4.2 OTcl與C 之間的連接 40
4.2.1 C 對象的創(chuàng)建與刪除 40
4.2.2 訪問C 對象的屬性 41
4.2.3 調用C 對象的方法 43
第5章 NS2詳解 46
5.1 NS2的原理 46
5.2 節(jié)點 47
5.2.1 節(jié)點的基本元素 47
5.2.2 節(jié)點方法:設置節(jié)點 48
5.2.3 節(jié)點設置接口 49
5.2.4 Classifier 51
5.2.5 路由模塊和分類器組織 59
5.2.6 相關的Tcl命令 62
5.3 鏈路 63
5.3.1 創(chuàng)建簡單鏈路 64
5.3.2 最簡單的網絡拓撲 67
5.3.3 Connector 67
5.3.4 相關的Tcl命令 68
5.4 隊列和包調度 69
5.4.1 隊列類 70
5.4.2 DropTail類型 72
5.4.3 相關的Tcl命令 73
5.5 延時 74
5.6 代理 75
5.6.1 Agent類的狀態(tài)變量和函數(shù) 76
5.6.2 協(xié)議代理 76
5.6.3 OTcl連接 77
5.6.4 TCP 78
5.6.5 UDP 82
5.6.6 相關的Tcl命令 85
5.7 NS2的調度器和事件 85
5.7.1 調度器(Scheduler) 86
5.7.2 事件(event) 87
5.7.3 相關的Tcl命令及例子 87
5.8 定時器 ..88
5.8.1 C 抽象基類TimerHandler 88
5.8.2 設定一個新的定時器 90
5.8.3 例子:TCP重傳定時器 90
5.8.4 OTclTimer類 92
5.8.5 相關的Tcl命令 93
5.9 分組頭及其格式 94
5.9.1 協(xié)議特定的分組頭 94
5.9.2 添加新的分組頭類型 96
5.9.3 在模擬中選擇包含的分組頭 96
5.9.4 與分組相關的類 97
5.10 應用程序 103
5.10.1 Application類 103
5.10.2 運輸層代理的API函數(shù) 104
5.10.3 流量發(fā)生器(TrafficGenerator類) 106
5.10.4 應用模擬器:Telnet和FTP 110
5.10.5 相關的Tcl命令 110
5.11 無線網絡 111
5.11.1 NS2中的基本無線模型 111
5.11.2 移動節(jié)點的創(chuàng)建 112
5.11.3 移動節(jié)點的運動 114
5.11.4 移動節(jié)點的組成 115
5.12 Trace文件 116
5.12.1 對跟蹤的支持 116
5.12.2 OTcl的幫助函數(shù) 116
5.12.3 對庫的支持和示例 117
5.12.4 C 的跟蹤類 118
5.12.5 跟蹤文件格式 119
5.12.6 無線模擬的跟蹤文件格式 126
第6章 相關工具詳解 133
6.1 Gawk 133
6.1.1 Gawk簡介 133
6.1.2 如何執(zhí)行Gawk程序 134
6.1.3 讀取輸入檔案 135
6.1.4 打印輸出 136
6.1.5 patterns 139
6.1.6 Action中的算式(Expression) 140
6.1.7 Actions里面的控制語句 141
6.1.8 內建函數(shù)(Built-inFunctions) 144
6.1.9 使用者定義的函數(shù)(User-definedFunctions) 146
6.1.10 舉例 146
6.1.11 結論 147
6.2 Gnuplot 147
6.2.1 舉例說明 148
6.2.2 詳細講解 150
6.3 Cbrgen和Setdest 160
6.4 threshold 163
6.5 Nam 164
6.5.1 Nam使用界面 164
6.5.2 Nam動畫的主要構件 166
6.5.3 舉例說明 167
6.6 xgraph 169
6.7 Tracegraph 175
6.8 GDB 175
6.8.1 如何用GDB調試NS2 175
6.8.2 如何在GDB調試中設定斷點 176
6.8.3 如何在GDB調試中執(zhí)行程序 176
6.8.4 如何在GDB調試中調試程序 176
6.8.5 GDB調試中常用的命令 178
第7章 NS2中的源代碼分析 179
7.1 向NS2中添加新的協(xié)議 179
7.1.1 頭文件ping.h 179
7.1.2 定義函數(shù) 180
7.1.3 對NS2已有文件的一些改變 183
7.1.4 Tcl文件 184
7.2 修改NS2自帶的Linkstate路由協(xié)議 184
7.2.1 NS2平臺下修改后的Linkstate模塊的流程圖 185
7.2.2 對Linkstate路由模塊的修改 186
7.3 NS2固定網絡與無線網絡模擬發(fā)送數(shù)據的過程 191
7.3.1 固定網中數(shù)據的發(fā)送流程 191
7.3.2 NS2固定網絡模擬發(fā)送數(shù)據的具體函數(shù)分析 192
7.3.3 無線網中數(shù)據的發(fā)送流程 198
7.3.4 NS2無線網絡模擬的具體函數(shù)分析 201
參考文獻... 218