新書推薦:
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:HK$
109.8
《
中国常见植物野外识别手册:青海册
》
售價:HK$
76.2
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:HK$
87.4
《
迷人的化学(迷人的科学丛书)
》
售價:HK$
143.4
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:HK$
87.4
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
|
編輯推薦: |
1. 作者是开源网络开发者和软件设计师,加拿大总督金质奖章获得者。
2. ns-3开源网络模拟器创始人作序。华为加拿大研发中心主任工程师褚兴军、PingCAP VP of Engineering 申砾、阿里巴巴中间件事业部技术架构师王思轩 联合推荐。
|
內容簡介: |
ns-3是国际上一款主流的开源网络模拟器。本书深入浅出地讲解了ns-3的软件架构和使用方法,希望能够降低ns-3的学习门槛,让读者更加流畅地阅读并理解源代码。《开源网络模拟器ns-3架构与实践》的目标读者为计算机网络专业的本科生、硕士和博士研究生,以及工作中使用ns-3进行模拟实验的工程师们。
|
關於作者: |
周迪之,开源爱好者,软件工程师,2014年于加拿大UNB大学取得计算机科学博士学位,加拿大总督金质奖章获得者。设计实现了ns-3的LTE 基站下行分组分发算法、延迟容忍网络Bundle协议、Wiselib开源传感器算法库ns-3转换层等重要组件,拥有丰富的ns-3开发经验。业余时间从事开源文化的传播推广,是“编程之夏”微信公众号的发起人。
|
目錄:
|
Preface
序
前言
第1篇全 局 之 观
第1章概述
1.1什么是ns-3
1.2Hello, world
1.3ns-3社区
1.4ns-3简史
1.5写作习惯
第2章通览
2.1下载、编译与运行
2.2源代码的目录结构
2.3再谈编译:“.waf configure”命令
2.4初识脚本
2.4.1点对点有线网络:first脚本
2.4.2Wi-Fi无线网络:third脚本
2.4.3Python脚本
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.8ns-3与编程之夏
第2篇设 计 之 道
第3章对象模型架构
第4章Ptr智能指针
4.1设计原理
4.2使用实例
4.3适用范围
第5章对象模型的基石:元信息
5.1什么是元信息
5.2元信息存储:IidManager类
5.3元信息管理接口:TypeId类
5.4TypeId的使用
第6章Object类
6.1对象聚合
6.2Object的创建与获取
第7章ObjectBase类
7.1属性配置
7.1.1创建属性
7.1.2属性类型
7.1.3ConfigStore
7.1.4全局属性
7.2trace变量
7.2.1创建trace
7.2.2trace类型
第3篇模 拟 之 路
第8章应用层
8.1架构与脚本
8.2内置应用:Application
8.2.1分组产生器
8.2.2Internet应用
8.2.3应用层trace
8.3自定义应用层协议
8.3.1Socket原理与使用
8.3.2Application类
第9章传输层
9.1架构与脚本
9.2TCP
9.2.1属性与trace
9.2.2TCP分组头结构
9.2.3TCP连接建立与关闭
9.2.4窗口管理
9.2.5拥塞控制
9.3UDP
9.3.1属性与trace
9.3.2UDP分组头结构
9.3.3广播与多播
9.4传输层协议开发
9.5示例脚本
9.6非发行版的传输层协议
第10章网络层
10.1架构与脚本
10.2脚本配置与trace
10.3IP分组头结构
10.4IP地址分配
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.1TapBridge:模拟网络+物理结点
13.2FdNetDevice:模拟结点+物理网络
第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月
|
|