
开源网络模拟器ns-3:架构与实践
ns-3项目创始人、华盛顿大学Tom Henderson教授为本书作序
¥39.99
作品简介
ns-3是国际上一款主流的开源网络模拟器。伴随者互联网上新型协议的普及和5G网络的问世,ns-3正在逐渐展现它强大的生命力。
《开源网络模拟器ns-3-架构与实践》一书从架构和使用角度出发,结合作者多的实践,深入浅出地讲解了ns-3的开源生态圈、使用方法和设计模式,在此基础上自顶向下地系统阐述了从应用层到物理层的各种ns-3关键模型。作者希望通过本书的讲解,能够降低读者对ns-3的学习门槛,更加流畅地阅读并理解源代码。本书的目标读者为计算机网络专业的本科生、硕士和博士研究生,以及工作中使用ns-3进行模拟实验的工程师们。
本书的写作得到了ns-3社区的大力支持。ns-3项目创始人之一,华盛顿大学Tom Henderson教授亲自为本书作序。
周迪之,开源爱好者,软件工程师,2014年于加拿大UNB大学取得计算机科学博士学位,加拿大总督金质奖章获得者。设计实现了ns-3的LTE基站下行分组分发算法、延迟容忍网络Bundle协议、Wiselib开源传感器算法库ns-3转换层等重要组件,拥有丰富的ns-3开发经验。业余时间从事开源的传播推广,是“编程之夏”科技自媒体发起人(微信公众号:codesummer)。
作品目录
Preface
序
前言
第1篇 全局之观
第1章 概述
1.1 什么是ns-3
1.2 Hello, world
1.3 ns-3社区
1.4 ns-3简史
1.5 写作习惯
第2章 通览
2.1 下载、编译与运行
2.2 源代码的目录结构
2.3 再谈编译:“./waf configure”命令
2.4 初识脚本
2.5 再探脚本:常用技术解析
2.6 网络是如何模拟的
2.7 信息入口:结点类
2.8 ns-3与编程之夏
第2篇 设计之道
第3章 对象模型架构
第4章 Ptr智能指针
4.1 设计原理
4.2 使用实例
4.3 适用范围
第5章 对象模型的基石:元信息
5.1 什么是元信息
5.2 元信息存储:IidManager类
5.3 元信息管理接口:TypeId类
5.4 TypeId的使用
第6章 Object类
6.1 对象聚合
6.2 Object的创建与获取
第7章 ObjectBase类
7.1 属性配置
7.2 trace变量
第3篇 模拟之路
第8章 应用层
8.1 架构与脚本
8.2 内置应用:Application
8.3 自定义应用层协议
第9章 传输层
9.1 架构与脚本
9.2 TCP
9.3 UDP
9.4 传输层协议开发
9.5 示例脚本
9.6 非发行版的传输层协议
第10章 网络层
10.1 架构与脚本
10.2 脚本配置与trace
10.3 IP分组头结构
10.4 IP地址分配
10.5 路由协议
10.6 网络层协议开发
第11章 链路与物理层
11.1 有线网络:PPP与CSMA
11.2 无线局域网:Wi-Fi
11.3 蜂窝网:LTE
11.4 其他无线网络模块简介
第12章 数据收集与统计
12.1 一个例子
12.2 数据收集
12.3 数据统计
12.4 局限
第13章 与物理网络交互
13.1 TapBridge:模拟网络+物理结点
13.2 FdNetDevice:模拟结点+物理网络
第14章 网络分组Packet类
14.1 分组结构
14.2 分组创建
14.3 分组头与分组尾
14.4 分段与重组
14.5 标签:Tag类
附录
附录A 网络地址
附录B 第三方ns-3项目
参考文献