第一篇 卫星通信网及其路由技术第1章 卫星通信技术 2
1.1 卫星通信的定义 2
1.2 卫星通信的发展历程 3
1.3 卫星通信的基本知识 5
1.3.1 卫星通信使用的频段 5
1.3.2 卫星通信系统的分类 7
1.3.3 卫星通信的特点 8
1.4 卫星通信系统的组成及工作过程 9
1.4.1 卫星通信系统的组成 9
1.4.2 卫星通信系统的工作过程 10
1.5 卫星运动的轨道 12
1.5.1 卫星运动的基本规律 12
1.5.2 卫星轨道的分类 13
1.5.3 卫星的摄动 14
1.5.4 轨道形状和卫星速度的关系 15
1.6 卫星通信系统的应用 19
1.7 本章小结 22
第2章 卫星通信网体系结构与研究热点 23
2.1 卫星通信网的体系结构 23
2.1.1 单层卫星网 23
2.1.2 多层卫星网 28
2.2 基于卫星的通信 30
2.2.1 固定用户之间的通信 30
2.2.2 固定用户与移动用户之间的通信 30
2.2.3 移动用户之间的通信 31
2.3 几种商用的卫星网介绍 31
2.3.1 Iridium 31
2.3.2 Globalstar 32
2.4 卫星通信网研究热点 33
2.4.1 组网体系结构设计 33
2.4.2 路由问题 34
2.4.3 传输控制问题 35
2.4.4 安全问题 36
2.4.5 星载网络设备 38
2.4.6 与其他网络的集成 40
2.5 本章小结 41
第3章 卫星通信网路由技术 42
3.1 卫星网星座设计技术 42
3.1.1 卫星轨道 42
3.1.2 卫星星座 46
3.2 卫星网路由技术 48
3.2.1 上/下行链路路由 49
3.2.2 边界路由 49
3.2.3 空间段路由 50
3.3 卫星网路由面临的问题 50
3.4 卫星网路由技术分类 53
3.4.1 单层卫星网路由技术 53
3.4.2 多层卫星网路由技术 55
3.5 本章小结 58
第4章 单层卫星网路由技术 59
4.1 基于虚拟拓扑的路由算法 59
4.1.1 DT-DVTR算法 59
4.1.2 FSA算法 60
4.1.3 基于快照序列的路由 61
4.1.4 CEMR路由算法 61
4.1.5 ELB路由算法 65
4.1.6 PAR路由算法 68
4.2 基于覆盖域划分的路由算法 72
4.2.1 覆盖域切换重路由协议(FHRP) 72
4.2.2 概率路由协议(PRP) 73
4.2.3 分布式地理路由算法(DGRA) 74
4.2.4 基于IP的卫星网路由框架(SIPR) 79
4.3 基于数据驱动的路由算法 84
4.3.1 Darting算法 84
4.3.2 LAOR路由算法 84
4.4 基于虚拟节点的路由算法 92
4.4.1 LZDR路由算法 92
4.4.2 DRA路由算法 92
4.5 SDRA-MA路由算法 100
4.6 本章小结 105
第5章 多层卫星网路由技术 106
5.1 MLSR路由算法 106
5.2 SGRP路由算法 115
5.3 HSRP路由算法 119
5.4 基于移动Agent的路由 125
5.5 本章小结 129
第二篇 适用于卫星网的模拟工具第6章 NS简介及其安装 132
6.1 卫星网模拟工具 132
6.2 NS简介 133
6.2.1 NS概要 133
6.2.2 NS的发展历程 134
6.3 NS的安装 134
6.3.1 Linux环境下的安装 134
6.3.2 Windows环境下的安装 136
6.4 NS进行网络模拟的方法和步骤 140
第7章 NS脚本语言 142
7.1 Tcl基本语法 142
7.2 OTcl 145
7.2.1 OTcl简介 145
7.2.2 OTcl基本语法 146
第8章 NS的离散事件机制和分裂对象机制 149
8.1 NS的离散事件机制 149
8.2 分裂对象机制 149
第9章 卫星节点 154
9.1 卫星节点及其位置 154
9.1.1 卫星节点及其位置的定义 154
9.1.2 卫星节点位置的初始化 156
9.2 卫星节点结构 157
9.3 卫星节点的创建 158
第10章 卫星链路 162
10.1 卫星链路模型 162
10.1.1 SatLinkHead 163
10.1.2 物理层 164
10.1.3 链路层 165
10.2 卫星链路的建立 166
10.2.1 星际链路的建立 166
10.2.2 星地链路的建立 169
10.3 卫星链路的切换管理 171
第11章 定时器和分组头 173
11.1 定时器 173
11.1.1 C++的抽象基类TimerHandler 173
11.1.2 卫星模块中设定一个新的定时器 174
11.2 分组头 175
11.2.1 与分组有关的类 175
11.2.2 添加新的分组头类型 177
第12章 卫星网的路由 179
12.1 卫星网络的路由代理 179
12.1.1 数据包的接收和转发 179
12.1.2 路由代理与卫星节点的关系 179
12.2 路由协议的实现 180
12.3 卫星网络模拟发送数据的流程 182
第13章 卫星网络的跟踪文件 185
13.1 对跟踪的支持 185
13.2 Tcl中的跟踪类 185
13.3 C++的跟踪类 188
13.4 跟踪文件格式 188
第14章 常用分析与调试工具 193
14.1 gawk 193
14.1.1 gawk简介 193
14.1.2 gawk的使用 193
14.2 gnuplot 197
14.2.1 gnuplot简介 197
14.2.2 gnuplot的使用 197
14.3 xgraph 204
14.3.1 xgraph简介 204
14.3.2 xgraph的使用 205
14.4 利用gdb调试NS 206
第三篇 卫星网路由技术模拟第15章 DRA算法模拟 210
15.1 拓扑搭建 210
15.1.1 节点设计 210
15.1.2 链路分析 212
15.2 链路切换分析 213
15.3 路由模块实现 213
15.4 仿真脚本分析 220
15.5 仿真结果分析 224
15.5.1 算法性能 224
15.5.2 节点失效对算法的影响 225
15.6 动画演示 226
第16章 SGRP算法模拟 228
16.1 拓扑搭建 228
16.1.1 节点设计 228
16.1.2 链路设计 230
16.1.3 拓扑实现 231
16.2 链路切换设计 233
16.3 路由模块的实现 240
16.3.1 路由算法主模块实现 240
16.3.2 链路拥塞的实现 243
16.3.3 节点失效的实现 244
16.4 仿真实现 244
16.4.1 参数设置 244
16.4.2 仿真脚本 244
16.5 仿真结果分析 247
16.5.1 算法效率 247
16.5.2 链路拥塞对算法的影响 248
16.5.3 节点失效对算法的影响 249
16.6 动画演示 249
第17章 SDRA-MA算法模拟 250
17.1 卫星网拓扑搭建 250
17.1.1 卫星节点 250
17.1.2 卫星链路 251
17.1.3 拓扑实现 251
17.2 移动Agent功能实现 252
17.2.1 移动Agent的实现 252
17.2.2 派遣移动Agent 254
17.3 路由模块的实现 255
17.3.1 路由算法主模块实现 255
17.3.2 前向移动Agent的创建 256
17.3.3 后向移动Agent的创建 257
17.3.4 移动Agent的销毁 258
17.3.5 移动Agent的迁移 259
17.3.6 移动Agent的信息更新 260
17.3.7 路由表更新 261
17.3.8 下一跳选择 261
17.3.9 转发数据分组 263
17.3.10 丢包类型的设计 264
17.4 仿真实现 265
17.4.1 参数设置 265
17.4.2 背景流量的实现 266
17.4.3 仿真脚本 269
17.5 仿真结果分析 271
17.5.1 端到端时延 271
17.5.2 时延抖动 272
17.5.3 网络吞吐量 272
17.5.4 链路利用率 272
17.6 动画演示 273
参考文献 275