京东
我的京东
加载中,请稍候...
去购物车结算
加载中,请稍候...

NS网络模拟和协议仿真

黄化吉,等 著
  • 京 东 价:
    ¥36.00 [8.0折] [定价:¥45.00 ] (降价通知)
  • 促销信息:
  • 赠  品:
  • 配 送 至:
  • 服  务:
    由 京东 发货并提供售后服务
  • 温馨提示:

其它类似商品

优惠套装

正在加载中,请稍候...

最佳组合

正在加载中,请稍候...
  • 商品编码:10064358
  • ISBN:9787115224156
  • 出版社:人民邮电出版社
  • 开本:16开
  • 页数:256
  • 包装:平装
  • 出版时间:2010-05-01
  • 版次:1
  • 印刷时间:2010-05-01
  • 正文语言:中文
  • 用纸:胶版纸

内容简介

  《NS网络模拟和协议仿真》介绍了利用NS软件进行网络模拟和协议仿真的方法,内容既包括NS的安装、Tcl/Otcl语言、NS架构、仿真入门等基础知识,又涵盖了协议的移植、代码调试以及协议开发等有关知识。书中不仅给出了大量具有详尽注解、讨论NS基本功能的源代码程序,而且在人民邮电出版社网站上提供了一个配套的无线Mesh网协议开发和仿真的完整实例以及《NS网络模拟和协议仿真》的示例源代码。
  《NS网络模拟和协议仿真》适合利用NS软件从事网络研究、开发和性能模拟的工程技术人员阅读,也可作为网络仿真的培训教程,以及高等院校与网络课程相关的实验教程。

目录

第一篇 NS的基本知识
第1章 结论
1.1 NS的背景 3
1.2 网络模拟涉及的主要知识点 4
1.3 使用NS进行网络模拟的基本过程 5
本章小结 6

第2章 NS的安装和配置
2.1 Linux操作系统环境 7
2.1.1 Ubuntu安装完成后的设置 7
2.1.2 Ubuntu上NS必要工具和库文件的安装 8
2.2 NS安装 8
2.2.1 环境变量的设置 8
2.2.2 安装结果的验证 9
2.2.3 NS安装过程可能出现的错误分析 9
2.3 使用多个NS版本 10
本章小结 11

第3章 Tcl/OTcl语言简介
3.1 Tcl 12
3.1.1 Tcl编程环境 12
3.1.2 基本语法 13
3.1.3 字符串处理 14
3.1.4 数学运算 17
3.1.5 流程控制语句 19
3.1.6 列表 26
3.1.7 过程 27
3.1.8 数组 28
3.2 OTcl  30
3.2.1 类和对象 30
3.2.2 类的成员函数和成员变量 30
3.2.3 类的构造函数和析构函数 31
3.2.4 类的继承 31
本章小结 33

第二篇 NS的架构和网络模拟入门

第4章 NS网络模拟入门
4.1 简单有线网络模型模拟 37
4.1.1 网络拓扑 37
4.1.2 模拟仿真脚本代码 38
4.1.3 仿真的结果分析 40
4.2 简单无线网络模型仿真 42
4.2.1 网络拓扑 42
4.2.2 模拟仿真脚本代码 42
4.2.3 仿真结果分析 45
4.3 有线+无线混合模拟 46
4.3.1 网络拓扑 46
4.3.2 模拟仿真脚本代码 47
4.4.3 仿真结果分析 50
本章小结 51

第5章 NS的架构
5.1 NS的模拟实现机制 52
5.1.1 分裂对象模型 52
5.1.2 离散事件模拟 59
5.2 OTcl与C++的交互 59
5.3 NS中的层次关系 66
5.3.1 层面对应关系 66
5.3.2 分组的流程 66
5.3.3 使用NS研究适合的层面 69
本章小结 69

第6章 NS的基本组件和使用
6.1 节点 70
6.1.1 节点的结构 70
6.1.2 节点的配置 71
6.2 链路 73
6.2.1 单向链路 73
6.2.2 双向链路 74
6.3 NS的调度器 74
6.4 NS的定时器 78
6.5 协议的分组头 80
6.5.1 协议特定的分组头 81
6.5.2 添加新的分组头类型 82
6.5.3 在模拟中分组头的选择 83
6.5.4 与分组相关的类 84
6.6 NS的链表list  91
6.6.1 链表的源码分析 91
6.6.2 实际用例 93
6.7 Trace文件格式 96
6.7.1 有线网络的Trace格式 96
6.7.2 无线网络的Trace旧格式 97
6.7.3 无线网络的Trace新格式 97
本章小结 99

第三篇 NS仿真辅助及仿真结果分析工具

第7章 NS仿真辅助工具
7.1 数据流生成工具cbrgen 103
7.2 拓扑场景生成工具setdest  104
7.3 简单动画显示工具NAM  104
7.3.1 NAM的使用 105
7.3.2 NAM的界面 106
本章小结 106

第8章 gawk语言简介
8.1 gawk处理文档的过程 107
8.2 Pattern和Action  108
8.2.1 Pattern 108
8.2.2 Action 109
8.3 变量 109
8.3.1 内部变量 110
8.3.2 自定义变量 110
8.4 输出打印数据 111
8.4.1 print函数 111
8.4.2 printf函数 111
8.5 Action中的流程控制语句 112
8.6 函数 114
8.6.1 内部函数 114
8.6.2 自定义函数 115
本章小结 115

第9章 gnupiot绘图
9.1 绘图环境和工作方式 116
9.2 plot和splot命令 116
9.2.1 plot绘制二维图形 117
9.2.2 splot绘制三维图形 120
9.3 设置图形的显示属性 121
9.3.1 坐标轴 121
9.3.2 Label 122
9.3.3 图的大小和位置 123
9.4 综合技巧绘图实例 123
本章小结 128

第10章 Trace文件分析
10.1 性能参数分析模型 129
10.2 网络性能分析 131
10.2.1 OTcl脚本代码 131
10.2.2 gawk程序代码 135
10.2.3 执行分析 139
本章小结 142

第四篇 NS学习进阶

第11章 洪泛路由协议的移植
11.1 协议移植的步骤 145
11.2 洪泛路由协议的原理 146
11.3 洪泛路由协议的移植 146
11.4 验证移植结果 149
本章小结 155

第12章 无线节点通信范围的设置
12.1 与通信范围相关的物理层参数 156
12.2 参数的计算 157
12.2.1 Threshold的安装和使用 157
12.2.2 Txpower的安装和使用 159
12.3 节点的参数设置 160
12.3.1 节点的默认参数 160
12.3.2 更改节点的通信范围 161
12.3.3 不同的节点不同的参数 162
12.3.4 验证结果 166
本章小结 167

第13章 扩展NS:业务流的流ID和QoS参数的添加方法
13.1 流量发生器的修改方法 176
13.1.1 修改TrafficGenerator类 177
13.1.2 修改流量发生器 178
13.1.3 增加新建参数的默认值 178
13.2 业务代理(Agent)修改 179
13.3 数据分组普通头部修改 179
13.4 打印Trace文件部分修改 180
13.5 修改结果验证 181
本章小结 185

第14章 流量发生器的原理和流量发生器的构建
14.1 流量发生器原理 186
14.1.1 流量发生器的数学模型 186
14.1.2 CBR流量发生器模型代码分析 189
14.2 VBR流量发生器 191
14.3 移植步骤 194
14.4 验证结果 194
本章小结 197

第15章 基于NS的新协议和算法开发
15.1 模块的体系架构 201
15.1.1 帧同步模块 202
15.1.2 主模块 202
15.1.3 调度树模块 204
15.1.4 消息管理模块 205
15.1.5 邻居管理模块 206
15.1.6 管理消息发送时序协调模块 207
15.1.7 数据调度器模块 208
15.2 接合部分代码 209
15.3 协议整合 212
15.4 场景仿真 212
15.5 仿真分析 219
15.5.1 节点的ID分配 219
15.5.2 调度树结构 220
15.5.3 邻居列表分析 220
15.5.4 节点对管理时序的竞争分析 220
本章小结 222

第五篇 代码调试

第16章 调试工具
16.1 GDB 225
16.1.1 关联GDB调试 225
16.1.2 GDB常用调试命令 226
16.2 tcl-debug 229
16.2.1 tcl-debug的安装 229
16.2.2 tcl-debug的调试方式和调试命令 230
本章小结 230

第17章 NS调试经验
17.1 常见错误分析 231
17.2 调试实例 232
本章小结 237
附录A 802.16d Mesh工作模式简介 238
A.1 无线Mesh网简介 238
A.2 IEEE 802.16协议基础 239
A.2.1 协议栈参考模型 239
A.2.2 节点分类和数据调度方式 240
A.3 Mesh模式的帧结构和MAC管理消息 241
A.3.1 Mesh模式的帧结构 241
A.3.2 Mesh模式下的MAC管理消息 242
A.4 节点接入网络过程 244
A.4.1 网络扫描,请求入网 246
A.4.2 基本能力协商 246
A.4.3 节点认证 246
A.4.4 节点注册及获取节点ID 246
A.4.5 IP、时间以及其余参数配置 246
A.4.6 接入完成 247
A.5 节点的邻域和扩展邻域 247
A.6 Mesh模式管理消息发送时序的协调 247
A.6.1 物理邻居列表 248
A.6.2 Mesh网络的同步 248
A.6.3 MSH-NENT消息的调度 249
A.6.4 MSH-NCFG消息和MSH-DSCH消息的调度 249
小结 252
附录B 缩略语表 253
参考文献 256

精彩书摘

  用NS进行仿真,使用者需要了解掌握3个方面的知识:掌握网络模拟工具的使用,具有一定的C++编程能力以及熟悉所研究的协议。
  首先,使用者必须能够比较熟练地掌握网络模拟工具的使用。无论选用何种仿真工具:OPNET、OMNET或是NS,都需要熟悉其使用方法。俗话说“工欲善其事,必先利其器”,工具是用于开发的,如果对工具尚不甚了解,当然难言利用其开展工作。当选用NS进行网络协议开发和仿真时,一个熟悉NS的人有可能几天或者十几天就可以移植并调试完成一个协议的源码,但对一个生手来说,这将是一个漫长的过程。
  其次,使用者需要掌握一定的编程能力。作为商业的网络仿真软件,OPNET和OMNer都需要使用者具备一定的C/C++编程能力,掌握NS的要求则更高。使用NS进行网络仿真需先分析仿真涉及的层次:基于OTcl编程的层次——若只利用NS自身已有的网络组件就可以完成仿真,则无须修改底层C++代码,这时只需编写OTcl脚本;基于C++和OTcl联合编程的层次——NS自身没有使用者需要的网络组件或NS现有的网络组件不够完善,需要在底层编写C++代码完成组件的添加或修改,然后再编写0TCl脚本仿真。大多数情况下的仿真任务(特别是利用NS进行协议的开发)都是后一种情形,所以对C++做相对深入的了解是不可少的。
  NS只是我们研究过程中使用的工具,当我们进行网络协议的开发和仿真时,首先要对网络协议有充分的了解,如果我们对所研究的协议内容都尚不熟悉,当然就不可能知道如何设计软件的模块,或者不可能清楚可对NS现有的哪些协议进行改造利用,获得新的协议功能模块。那样的话,即使了解了工具也难以入手做网络协议的仿真和开发。
  明白网络仿真需要掌握的知识点内容对我们是很有帮助的。有一些NS使用者,想移植他人的代码,可能会由于移植步骤有误而导致失败;有一些NS使用者想修改现有的一些协议,需要添加一些代码,语法错误会导致修改的失败;也有一些人对所需开发的协议没有完全明了,当然也难以成功。在使用NS时,出现问题往往还是综合性的,这实际上是很多人认为NS很难学的一个主要原因。

前言/序言

  以移动通信网络和互联网为代表的信息通信网络,已经成为人们日常生活和工作不可缺少的部分。信息网络技术仍然在不断地完善和发展,大量的工程师和各类研究人员在这一领域工作。在进行网络的规划设计、网络协议的开发、网络路由交换与终端设备的研制等与网络技术研究有关的过程中,需要做大量的实验,由于存在各种条件的限制,不是所有的实验都能够通过物理实现的方法进行,于是基于计算机的网络模拟和协议仿真成为信息网络技术研究的重要手段。目前已经有多种网络模拟的软件,其中NS以其源代码公开、软件模拟平台免费而获得广泛的应用,因为有大量的研究人员使用,人们比较容易获得针对许多特定应用的共享仿真软件。经过人们不断地补充完善,该软件已经成为学术界广泛用于网络技术研究和开发的模拟工具,所获得的结果有很好的仿真效果,同时也很容易进行交流。
  然而,也正因为NS是一个非商业的软件,其用户界面不可能像商业软件那么友好,有关的帮助文件和介绍说明的资料也不尽完善,能够系统介绍和涵盖NS使用的各个方面的书籍相对也不多,此要熟练掌握NS,并将其作为工具进行网络技术的研究开发并不容易。除上面所说的原因之一,主要问题还在于要真正掌握NS,需要有比较综合的知识:使用NS需要了解TCI语言和C++两种编程语言,特别是对C++编程需要有较高的熟练程度;另外,NS作为一个网络模拟的工具,要使用好它,还要对所要模拟的网络的协议有较深入的理解和认识。这对于一个初学者来说并非易事。另外,即使对于有一定编程经验的读者,在学习NS的过程中,在缺乏指导的情况下,在进行新的协议开发的仿真过程中,也会遇到各种难以预测的困难。《NS网络模拟和协议仿真》在编撰过程中,充分考虑了上述问题以及不同水平的读者的要求,《NS网络模拟和协议仿真》有如下几方面的特点:
  (1)考虑到初学的读者对NS软件的入门的需要,《NS网络模拟和协议仿真》从基本的NS平台安装、指令功能的介绍,到如何移植和开发网络协议,遵循由浅入深的原则,通过各种示例,全面细致地解析了NS的相关知识点,对书中所有出现的源代码,均给出尽可能详细的解析。
  (2)使用通俗易懂的语言和丰富的例子,深入地介绍NS的内部架构。通过具体的实例和详细的源代码分析,向读者详细介绍了NS中0TCI与C++的关系,让读者对NS的影像对象机制有深刻的理解,帮助读者系统掌握NS中的层次关系。
  (3)重点介绍了常用的代码调试工具GDB,通过几个调试实例详细分析了NS模拟仿真过程中可能出现的常见错误,以及出现这些错误的可能的原因,为读者在程序开发的调试阶段解决棘手的问题提供基本的方法。
  (4)《NS网络模拟和协议仿真》在人民邮电出版社的网站上给出了与《NS网络模拟和协议仿真》配套的在NS上开发基于简化IEEE 802.16d
  Mesh协议的具体实例,给出了实现其基本功能的、具有详细注释的完整源代码。在这个示例中融合了在NS上开发大型网络协议的流程和具体方法,帮助读者从较高的层次去理解和感受使用NS软件开发一套完整协议的过程。读者也可以在此基础上进行无线Mesh网协议的移植和开发。

内页插图

热门推荐

< >

热门关注

< >
服务承诺:
京东商城向您保证所售商品均为正品行货,京东自营商品开具机打发票或电子发票。凭质保证书及京东商城发票,可享受全国联保服务(奢侈品、钟表除外;奢侈品、钟表由京东联系保修,享受法定三包售后服务),与您亲临商场选购的商品享受相同的质量保证。京东商城还为您提供具有竞争力的商品价格和运费政策,请您放心购买!

注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
权利声明:
京东商城上的所有商品信息、客户评价、商品咨询、网友讨论等内容,是京东商城重要的经营资源,未经许可,禁止非法转载使用。

注:本站商品信息均来自于厂商,其真实性、准确性和合法性由信息拥有者(厂商)负责。本站不提供任何保证,并不承担任何法律责任。

商品评价

正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...

购买此书的读者还购买了

< >
正在加载中,请稍候...

看了该商品的用户还看了

< >
正在加载中,请稍候...

同类图书排行榜

  • 七日畅销榜
  • 新书热卖榜
加载中,请稍候...
加载中,请稍候...
购物指南
购物流程
会员介绍
团购/机票
常见问题
大家电
联系客服
配送方式
上门自提
211限时达
配送服务查询
配送费收取标准
如何送礼
海外配送
支付方式
货到付款
在线支付
分期付款
邮局汇款
公司转账
售后服务
售后政策
价格保护
退款说明
返修/退换货
取消订单
特色服务
夺宝岛
DIY装机
延保服务
京东E卡
节能补贴
京东通信