图书目录

目录

第1章NS3概述

1.1NS3网络仿真的场景和意义

1.1.1网络架构优化

1.1.2协议性能评估

1.1.3网络安全评估

1.1.4网络技术教学

1.2NS3对比其他主流仿真工具的差异化优势

1.2.1NS2

1.2.2OMNeT++

1.2.3Mininet

1.2.4CORE/EMANE

1.2.5NS3的差异化竞争力

1.2.6综合对比与适用场景

1.3NS3社区与开源项目介绍

1.3.1核心开源项目分析

1.3.2NS3社区生态与协作模式

1.4Linux环境下NS3的源码安装与编译

1.5NS3源码目录架构解析

1.5.1顶层目录结构

1.5.2src核心模块详解

1.5.3其他关键目录功能

1.5.4源码架构设计理念

1.6NS3预置脚本编译运行方法

1.6.1预置脚本的分布与分类

1.6.2编译与运行流程

1.7用户自定义脚本编译运行方法

第2章仿真工具链集成

2.1网络协议解析工具——Wireshark

2.1.1Wireshark的使用方法

2.1.2Wireshark的过滤技巧

2.2跨平台可视化框架——Qt

2.2.1Qt Network模块简介

2.2.2基于QTcpSocket的通信模块的实现

2.2.3QGraphicsView网络拓扑可视化

2.3网络安全算法库——Scapy

2.3.1Scapy实现多线程SYN Flood攻击

2.3.2Scapy实现UDP洪水攻击

第3章NS3架构与编程模型

3.1模块化架构与扩展设计

3.1.1基础模型与网络层次映射

3.1.2模块化架构的设计原则

3.1.3扩展设计方法

3.2基础模型

3.2.1信道模型

3.2.2节点模型

3.2.3设备模型

3.2.4路由模型

3.2.5TCP可靠传输模型

3.2.6拥塞控制模型

3.2.7应用模型

3.2.8数据包模型

3.3属性变量

3.3.1模型的元信息注册与访问接口——TypeId

3.3.2属性变量在TypeId中的声明规范

3.3.3属性变量的多种访问方法

3.3.4信道模型的属性变量

3.3.5节点模型的属性变量

3.3.6设备模型的属性变量

3.3.7路由模型的属性变量 

3.3.8TCP可靠传输模型的属性变量

3.3.9拥塞控制模型的属性变量

3.3.10应用模型的属性变量

3.4聚合模型

3.4.1节点、设备、协议栈的聚合关系

3.4.2聚合模型间的双向访问

3.4.3聚合模型的属性变量配置方法

第4章NS3常用关键技术

4.1命令行参数的获取

4.1.1命令行相关类及接口

4.1.2示例: 从命令行获取拓扑矩阵

4.1.3示例: 从命令行获取链路性能参数矩阵

4.2NS3智能指针技术

4.2.1C++智能指针的原理

4.2.2NS3的智能指针实现机制

4.3Trace机制与回调函数

4.3.1属性变量Trace和回调函数原型声明

4.3.2自定义类的属性变量Trace

4.3.3示例: Trace链路误码丢包事件

4.3.4示例: Trace设备参数

4.4路由

4.4.1动态路由协议及接口

4.4.2静态路由及接口

4.5计划事件调度器

4.5.1实现定时器功能

4.5.2定时器案例

4.6NS3网络应用

4.6.1TCP网络应用

4.6.2UDP网络应用

4.6.3ping网络应用

4.7日志系统

4.7.1NS3的日志分类及接口

4.7.2NS3日志使用案例

第5章NS3高级特性及使用

5.1Socket通信与自定义协议开发

5.1.1Socket API接口

5.1.2半异步TCP编程

5.1.3异步TCP编程

5.1.4TCP Socket数据黏滞与处理

5.1.5TCP Socket文件传输

5.2FlowMonitor流量性能分析框架

5.2.1FlowMonitor的基本接口的使用方法

5.2.2按端口/协议统计数据流性能

5.3半物理半虚拟网络接口

5.3.1TapBridge原理剖析与接口使用

5.3.2TapBridge实现ping虚拟网络

5.3.3TapBridge物理节点+虚拟网络 

5.3.4TapBridge虚拟节点+物理网络 

5.4网络追踪技术

5.4.1NS3 pcap相关接口及使用

5.4.2pcap与Wireshark结合使用

第6章NS3典型网络仿真案例

6.1交换机网络仿真案例

6.1.1星形网络(一服务机多客户机)仿真

6.1.2拥塞控制算法公平性分析

6.1.3瓶颈节点队列模型仿真

6.2无线AP网络仿真案例

6.2.1高丢包场景下BBR算法性能仿真及调优

6.2.2高丢包场景下拥塞控制算法性能仿真

6.3混合网络(P2P+CSMA)仿真

6.3.1仿真场景

6.3.2仿真代码

6.4AdHoc网络仿真

6.4.1AdHoc路由协议介绍

6.4.2AdHoc移动模型与配置示例

6.4.3AdHoc车联网仿真

第7章经典拥塞控制算法仿真

7.1拥塞控制算法的原理

7.2高速网络下的拥塞控制算法的性能对比

7.2.1场景设计

7.2.2仿真实现

7.3带宽侵占现象

7.4不同队列长度下的带宽侵占研究

7.4.1场景设计

7.4.2仿真实现

7.5AQM下的带宽侵占研究

7.5.1场景设计

7.5.2仿真实现

第8章自定义拥塞控制算法

8.1TcpCongestionOps类扩展接口

8.1.1派生新算法类

8.1.2类型系统注册实现

8.1.3算法注册与启用

8.2基于丢包反馈型拥塞控制算法

8.2.1扩展实现丢包率统计

8.2.2基于丢包反馈的拥塞控制算法——TcpLbcc

8.3基于丢包区分改进CUBIC算法

8.3.1基于ACK序列差值的丢包分类算法

8.3.2CUBIC中集成丢包区分算法

第9章基于LTE的网络仿真

9.1LTE的基本概念

9.1.1技术定义

9.1.2网络架构

9.1.3关键技术

9.2LTE应用范围

9.2.1移动宽带接入

9.2.2物联网

9.2.3公共安全网络

9.2.4车联网

9.3NS3中的LTE模块的接口与用法

9.3.1模块组成

9.3.2典型仿真流程

9.4LTE车联网仿真案例

9.4.1仿真场景设计

9.4.2仿真代码实现

9.5高铁网络仿真案例

9.5.1仿真场景设计

9.5.2仿真代码实现

第10章卫星网络仿真

10.1卫星网络介绍

10.1.1历史背景

10.1.2应用场景

10.1.3发展现状

10.1.4卫星网络的分类

10.2NS3动态网络仿真关键技术

10.2.1信道属性动态修改

10.2.2网络拓扑动态重构

10.3卫星网络仿真关键技术

10.3.1STK卫星网络建模

10.3.2卫星拓扑计算

10.4卫星网络仿真实现

10.4.1系统架构

10.4.2STK数据源组件设计

10.4.3NS3仿真程序

第11章半物理半虚拟网络仿真

11.1TCP拒绝服务虚拟环境的构建

11.1.1TCP拒绝服务的攻击原理

11.1.2基于Scapy库构建物理攻击节点

11.1.3基于NS3构建被攻击虚拟网络

11.1.4实施TCPSYN攻击并测试

11.2边缘计算虚拟环境的构建

11.2.1基于NS3的边缘网络建模

11.2.2轻量化边缘计算节点的实现

11.2.3实施图像目标检测

参考文献