没有合适的资源?快使用搜索试试~ 我知道了~
ns2学习笔记
需积分: 0 1 下载量 78 浏览量
2013-12-30
15:20:55
上传
评论
收藏 484KB PDF 举报
温馨提示
试读
76页
ns2网络仿真软件学习笔记。方便新手学习ns2软件。
资源详情
资源评论
资源推荐
SDRAD
SDRAD
SDRAD
SDRAD
路由协议模拟
前言
前言
前言
前言
近来,我逐渐觉得将所学内容文档化的重要性。这份笔记源自于本人曾用
ns2 写过一个无线传感器的路由协议,详读过 ns2 中已实现的同层协议 ---AODV
协议。随将此协议简化,用蹩脚的文字东拼西凑,分成章节,整理于此,以便 日
后查阅。
用 ns2 编写路由协议,我们必须有一定 c++ 基础,对 ns2 中用到的 Tcl/OTcl
脚本语言,第三四章做一说明。
内容简介
内容简介
内容简介
内容简介
主要通过第 6
、
7 章讲解 SDRAD 协议的内容及在 ns2 中的实现, 第 8 章 附
有 SDRAD 协议的源代码及配置方法, 建议先阅读第 8 章配置好该协议后, 在 通
过 6
、
7 章理解 ns2 中对路由协议实现的支持。前五章对 ns 所用到的基本知识 用
于简要说明,有 ns 基础的读者可以略过。
路由器在网络中的位置
路由器在网络中的位置
路由器在网络中的位置
路由器在网络中的位置
下图标明路由器在网络中的层次
FTP 协议
TCP 协议
路由器
IP 协议 IP 协议
以太 令牌网
网协议 协议
以太网
图 1 通过路由器连接的两个网络
适
适
适
适 用技术
用技术
用技术
用技术
�
看懂同层的一个协议实现,主要阅读 recv 和 send 函数。
�
使用 ns 中的注释格式和代码风格
FTP 客
户
TCP
IP
以太网驱
动程序
FTP 服
务器
TCP
IP
令牌网驱
动程序
IP
以太网驱
动程序
令牌环驱
动程序
令牌环
�
一个有用的 linux 命令:在当前目录下查找 "findstring" 字符串
find ./ -name '*.*' -exec grep -i -l "findstring" {} \; -print
例如:可用
[root@localhost ns-2.34]# find ./ -name '*.pdf' -exec grep -i -l "everything" { }
\; -print ( 1 )
找到, ns2.34 中自带 pdf 格式的英文文档。
由于上述 find 命令参数过长,下面给出一个类似功能的脚本文件,方 便
多次运行。
---------------------------------- 文件名: search------------------------
#!/bin/bash
#filename: search 递归查找当前目录下含有 string 的文件
if [ $# -ne 2 ]
then
echo "Usage: search <filename> <string>"
exit 0
fi
if [ -d "$1" ]
then
echo "$1 is not a file"
exit 0
fi
find `pwd` -name "$1" -exec grep -i -l "$2" {} \; -print
------------------------------------------------------------------------------
[root@localhost root]# cp search /bin # 将该脚本放在 /bin 目录下
[root@localhost bin]# chmod a+x search # 赋予可执行权限
[root@localhost ns-2.34]#search '*.pdf' "everything" #
跟 (
1
) 类似的用
法。
�
错误 segmentation fault :一般为内存泄露,检查 packet 的流程,确保无
用的 packet 内存被释放。
�
适用条件编译
对于用惯 windows 的用户来说,在 Linux 下编辑 C++ 代码的编辑器
不怎么理想,适用条件编译可探究程序的执行流程。
感谢刘溦珊学姐提供的帮助。
本人力图把自己在使用 ns 时所积累的经验和心得写入其中,可不尽人
意。加之水平有限,致使错误百出,诚恳批评指正。
习肖
2010-2-24
第
第
第
第 1
1
1
1 章
章
章
章 ns2
ns2
ns2
ns2 简介
简介
简介
简介
( 该简介来自百度百科 )
NS2 是指 Network Simulator version 2 , NS ( Network Simulator ) 是一种针
对网络技术的源代码公开的、 免费的软件模拟平台, 研究人员使用它可以很容 易
的进行网络技术的开发, 而且发展到今天, 它所包含的模块几乎涉及到了网络 技
术的所有方面。 所以, NS 成了目前学术界广泛使用的一种网络模拟软件。 此外
,
NS 也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因
此,目前在学术界和教育界,有大量的人正在使用或试图使用 NS 。
1.1
1.1
1.1
1.1 、基本简介
、基本简介
、基本简介
、基本简介
1.1.1
1.1.1
1.1.1
1.1.1 、复杂性
、复杂性
、复杂性
、复杂性
然而, 对初学者来说, NS 是非常难于掌握的, 一般人从学习 NS 到上手至 少
需要半年多时间。原因是多方面的:一方面, NS 内容庞杂,随软件所提供的手
册更新不够快,初学者阅读起来非常困难;另一方面,使用 NS 还要掌握其它 很
多必备的相关知识以及相关工具, 这会使初学者感到无从入手; 有的使用者可 能
还不了解网络模拟的过程或是对 NS 软件的机制缺乏理解,这也影响了对 NS 的
掌握。另外,不论在国外还是国内,还没有一本书能集中回答和解决这些问题,
这也是 NS 难于被掌握的一个重要原因。
1.1.2
1.1.2
1.1.2
1.1.2 、本质
、本质
、本质
、本质
NS2 ( Network Simulator, version 2 )是一种面向对象的网络仿真器,本质上
是一个离散事件模拟器。由 UC Berkeley 开发而成。它本身有一个虚拟时钟, 所
有的仿真都由离散事件驱动的。目前 NS2 可以用于仿真各种不同的 IP 网,已 经
实现的一些仿真有:网络传输协议,比如 TCP 和 UDP ;业务源流量产生器,比
如
FTP,
Telnet, Web CBR 和 VBR
; 路由队列管理机制, 比如
Droptail , RED 和 C BQ
;
路由算法,比如 Dijkstra 等。 NS2 也为进行局域网的仿真而实现了多播以 及一 些
MAC 子层协议。
1.2
1.2
1.2
1.2 、
、
、
、 NS2
NS2
NS2
NS2 主要内涵
主要内涵
主要内涵
主要内涵
NS2 使用 C++ 和 Otcl 作为开发语言。 NS 可以说是 Otcl 的脚本解释器,它 包
含仿真事件调度器、 网络组件对象库以及网络构建模型库等。 事件调度器计算 仿
真时间,并且激活事件队列中的当前事件, 执行一些相关的事件,网络组件通 过
传递分组来相互通信, 但这并不耗费仿真时间。 所有需要花费仿真时间来处理 分
组的网络组件都必须要使用事件调度器。 它先为这个分组发出一个事件, 然后 等
待这个事件被调度回来之后, 才能做下一步的处理工作。 事件调度器的另一个 用
处就是计时。 NS 是用 Otcl 和 C++ 编写的。由于效率的原因, NS 将数据通道和
控制通 道的实现相分离。 为了减少分组和事件的处理时间, 事件调度器和数据 通
道上的基本网络组件对象都使用 C++ 写出并编译的,这些对象通过映射对 Otcl
解释器可见。
当仿真完成以后, NS 将会产生一个或多个基于文本的跟踪文件。 只要在
T
cl
脚本中加入一些简单的语句, 这些文件中就会包含详细的跟踪信息。 这些数据 可
以用于下一步的分析处理,也可以使用 NAM 将整个仿真过程展示出来。
剩余75页未读,继续阅读
abqwj111111
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0