开源网络模拟器ns-3:架构与实践

开源网络模拟器ns-3:架构与实践

ns-3项目创始人、华盛顿大学Tom Henderson教授为本书作序

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。

作品简介

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)。

作品目录

  1. Preface
  2. 前言
  3. 第1篇 全局之观
  4. 第1章 概述
  5. 1.1 什么是ns-3
  6. 1.2 Hello, world
  7. 1.3 ns-3社区
  8. 1.4 ns-3简史
  9. 1.5 写作习惯
  10. 第2章 通览
  11. 2.1 下载、编译与运行
  12. 2.2 源代码的目录结构
  13. 2.3 再谈编译:“./waf configure”命令
  14. 2.4 初识脚本
  15. 2.5 再探脚本:常用技术解析
  16. 2.6 网络是如何模拟的
  17. 2.7 信息入口:结点类
  18. 2.8 ns-3与编程之夏
  19. 第2篇 设计之道
  20. 第3章 对象模型架构
  21. 第4章 Ptr智能指针
  22. 4.1 设计原理
  23. 4.2 使用实例
  24. 4.3 适用范围
  25. 第5章 对象模型的基石:元信息
  26. 5.1 什么是元信息
  27. 5.2 元信息存储:IidManager类
  28. 5.3 元信息管理接口:TypeId类
  29. 5.4 TypeId的使用
  30. 第6章 Object类
  31. 6.1 对象聚合
  32. 6.2 Object的创建与获取
  33. 第7章 ObjectBase类
  34. 7.1 属性配置
  35. 7.2 trace变量
  36. 第3篇 模拟之路
  37. 第8章 应用层
  38. 8.1 架构与脚本
  39. 8.2 内置应用:Application
  40. 8.3 自定义应用层协议
  41. 第9章 传输层
  42. 9.1 架构与脚本
  43. 9.2 TCP
  44. 9.3 UDP
  45. 9.4 传输层协议开发
  46. 9.5 示例脚本
  47. 9.6 非发行版的传输层协议
  48. 第10章 网络层
  49. 10.1 架构与脚本
  50. 10.2 脚本配置与trace
  51. 10.3 IP分组头结构
  52. 10.4 IP地址分配
  53. 10.5 路由协议
  54. 10.6 网络层协议开发
  55. 第11章 链路与物理层
  56. 11.1 有线网络:PPP与CSMA
  57. 11.2 无线局域网:Wi-Fi
  58. 11.3 蜂窝网:LTE
  59. 11.4 其他无线网络模块简介
  60. 第12章 数据收集与统计
  61. 12.1 一个例子
  62. 12.2 数据收集
  63. 12.3 数据统计
  64. 12.4 局限
  65. 第13章 与物理网络交互
  66. 13.1 TapBridge:模拟网络+物理结点
  67. 13.2 FdNetDevice:模拟结点+物理网络
  68. 第14章 网络分组Packet类
  69. 14.1 分组结构
  70. 14.2 分组创建
  71. 14.3 分组头与分组尾
  72. 14.4 分段与重组
  73. 14.5 标签:Tag类
  74. 附录
  75. 附录A 网络地址
  76. 附录B 第三方ns-3项目
  77. 参考文献