欢迎光临
免费的PDF电子书下载网站

开源网络模拟器ns-3 架构与实践 PDF下载

编辑推荐

1. 作者是开源网络开发者和软件设计师,加拿大总督金质奖章获得者。

2. ns-3开源网络模拟器创始人作序。华为加拿大研发中心主任工程师褚兴军、PingCAP VP of Engineering 申砾、阿里巴巴中间件事业部技术架构师王思轩 联合推荐。

开源网络模拟器ns-3 架构与实践 PDF下载

 ;

内容简介

ns-3是国际上一款主流的开源网络模拟器。本书深入浅出地讲解了ns-3的软件架构和使用方法,希望能够降低ns-3的学习门槛,让读者更加流畅地阅读并理解源代码。《开源网络模拟器ns-3——架构与实践》的目标读者为计算机网络专业的本科生、硕士和博士研究生,以及工作中使用ns-3进行模拟实验的工程师们。

作者简介

周迪之,开源爱好者,软件工程师,2014年于加拿大UNB大学取得计算机科学博士学位,加拿大总督金质奖章获得者。设计实现了ns-3的LTE 基站下行分组分发算法、延迟容忍网络Bundle协议、Wiselib开源传感器算法库ns-3转换层等重要组件,拥有丰富的ns-3开发经验。业余时间从事开源文化的传播推广,是“编程之夏”微信公众号的发起人。

开源网络模拟器ns-3 架构与实践 PDF下载

目录

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.4.1 点对点有线网络:first脚本
2.4.2 Wi-Fi无线网络:third脚本
2.4.3 Python脚本
2.5 再探脚本:常用技术解析
2.5.1 脚本助理:助手类
2.5.2 参数输入:属性变量
2.5.3 数据输出:trace变量
2.5.4 行为控制:命令行
2.5.5 计划事件:Schedule函数
2.5.6 回调函数:Callback类
2.5.7 辅助信息:Log系统
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.1.1 创建属性
7.1.2 属性类型
7.1.3 ConfigStore
7.1.4 全局属性
7.2 trace变量
7.2.1 创建trace
7.2.2 trace类型


第3篇 模 拟 之 路

第8章 应用层
8.1 架构与脚本
8.2 内置应用:Application
8.2.1 分组产生器
8.2.2 Internet应用
8.2.3 应用层trace
8.3 自定义应用层协议
8.3.1 Socket原理与使用
8.3.2 Application类

第9章 传输层
9.1 架构与脚本
9.2 TCP
9.2.1 属性与trace
9.2.2 TCP分组头结构
9.2.3 TCP连接建立与关闭
9.2.4 窗口管理
9.2.5 拥塞控制
9.3 UDP
9.3.1 属性与trace
9.3.2 UDP分组头结构
9.3.3 广播与多播
9.4 传输层协议开发
9.5 示例脚本
9.6 非发行版的传输层协议

第10章 网络层
10.1 架构与脚本
10.2 脚本配置与trace
10.3 IP分组头结构
10.4 IP地址分配
10.4.1 手动分配
10.4.2 自动分配
10.5 路由协议
10.5.1 列表路由
10.5.2 打印路由表
10.5.3 静态路由
10.5.4 全局路由
10.6 网络层协议开发
10.6.1 隧道协议
10.6.2 路由协议

第11章 链路与物理层
11.1 有线网络:PPP与CSMA
11.1.1 架构与脚本
11.1.2 属性与trace
11.1.3 队列与错误模型
11.2 无线局域网:Wi-Fi
11.2.1 架构与脚本
11.2.2 属性与trace
11.3 蜂窝网:LTE
11.3.1 网络架构
11.3.2 示例脚本1:无线接入网
11.3.3 示例脚本2:核心网
11.3.4 属性与trace
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项目

参考文献



前沿

这是一本关于开源网络模拟器ns-3的书。
网络模拟器可以让人们在一台计算机中搭建出不同规模和类型的网络,从而以一种经济的方式模拟物理网络环境,为人们研究和学习网络协议提供一种方法与平台。编者希望通过本书,将ns-3的设计理念和使用方法系统地介绍给读者。使读者能够有效地利用ns-3这一功能强大的网络模拟器,更好地为自己的学习和研究服务。

全书分3篇,共14章。

第1篇 全局之观,共2章。这一部分意在让读者建立对ns-3的宏观概念,了解ns-3的背景、基本原理和使用方法。
第 2 篇 设计之道,共5章。这一部分意在让读者了解ns-3的核心设计思想和整体软件架构。熟悉这些设计特性对理解ns-3源代码大有裨益。
第 3 篇 模拟之路,共7章。前4章按照自顶向下的顺序分别讲解了不同网络层协议的基本架构和模拟方法。后3章分别介绍了数据收集与统计、与物理网络交互和网络分组3个常用功能。
附录部分介绍了ns-3网络地址的用法和几个比较成熟的ns-3第三方开源项目。

《开源网络模拟器ns-3——架构与实践》的大部分内容均来自ns-3用户文档、邮件列表和项目主页等公开网络资源。编者结合多年的ns-3开发经验,对这些零散的材料进行了重新整理、总结和再加工,对其中已经过时的内容进行了更正。但需要强调的是,本书不是ns-3用户文档的替代。对于一些操作细节和非核心功能,读者还需要查阅相关文档资料。
对于ns-3初学者,编者建议首先阅读第1篇,以熟悉ns-3的基本概念和使用方法。第2篇和第3篇并无阅读优先级顺序。读者既可以按序阅读,先建立对源代码的理解能力,再深入了解如何模拟某个网络协议;也可以先阅读第3篇中自己感兴趣的网络协议章节。如果感到阅读源代码较为吃力,则可以查阅第2篇中的相关内容。
《开源网络模拟器ns-3——架构与实践》基于ns-3.28版本编写。大部分章节均为ns-3核心特性,未来版本产生重大改动的可能性不大。考虑到ns-3一年两至三次的版本发布频率,对于一些诸如参数设置、函数名称等细节内容,编者还是建议在阅读时以ns-3最新官方文档为准。
《开源网络模拟器ns-3——架构与实践》假设读者具有计算机网络的基础知识并了解C 语言的基本特性。
感谢ns-3项目联合创始人、执行董事、华盛顿大学Tom Henderson教授为本书作序。感谢褚兴军、申砾和王思轩三位专家为本书撰写推荐语。感谢ns-3社区的Nicola Baldo、Marco Miozzo和Tommaso Pecorella对编者在学习和使用ns-3过程中的耐心指导。感谢Google公司和欧洲航天局对ns-3社区的资金支持。感谢我的博士生导师,加拿大UNB大学宋薇教授在我攻读博士期间对我的包容与帮助。特别感谢我的家人,她们对我的付出与理解,是我坚持写作的基石。
由于编者水平有限,书中难免有错谬之处,还望广大读者批评指正,将不胜感激。编者的联系邮箱:dizhizhou@hotmail.com。

周迪之
2018年5月

开源网络模拟器ns-3 架构与实践 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

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