协议的性能变化的相关参数如表5.1所示。
表5.1仿真参数
场景 范围
节点数
节点移动 最大速度 (m/s)
静止 时间 (s)
数据 连接
业务 类型
分组 发送率
模拟 时间
(512b/s) (s)
10、20、30
节点 40、50、60
1000x1000
增加 70、80、90
100
移动
速度 1000x1000 增加
30
20 10
4、8、12 16、20、24
TCP
28、32、36 40
2.0 150
2、4、6、8 10、12、14 16、18、20
10
10
TCP
2.0
150
5.3 仿真结果分析
5.3.1 动画演示工具nam
nam是基于Tcl/Tk的动画演示工具,用于演示网络运行动画,例如网络拓扑、包传输和队列管理等。 (1)nam简介
nam最初在1990年由Steven McCanne开发,用于在网络研究中利用动画演示包的传输过程。后来这项工具渐渐流行开,并且得到其他个人和组织的继续改进和完善。
nam的功能是根据网络模拟软件或真实环境里的特定格式的trace输出文件来运行动画,例如Trace文件常常来自NS模拟器或者Tcpdump软件的输出。当然,任何其它软件只要按照nam要求的数据格式输出,同样可以利用nam来进行动画演示。
(2)NS2中nam的使用方法
① 环境变量的配置:在NS2安装目录下编辑.bashrc文件,在PATH环境变量中添加nam文件夹所在的目录。
② 调用nam:nam调用一般是在NS仿真结束之后,所以在stop{}过程之后添加代码:
exec nam dsdv.nam & exit 0
18
5.3.2 无线Trace文件格式
下面是无线Trace文件的一个例子:
s 0.029290548 _1_ RTR --- 0 message 32 [0 0 0 0] ------- [1:255 -1:255 32 0] r 0.030062615 _0_ RTR --- 0 message 32 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0] s 1.000000000 _0_ AGT ---1 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 r 1.000000000 _0_ RTR ---1 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 s 1.000000000 _0_ RTR ---1 tcp 60 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 r 1.003800194 _1_ AGT ---1 tcp 60 [13a 1 0 800] ------- [0:0 1:0 32 0] [0 0] 1 0 s 1.003800194 _1_ AGT ---1 ack 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0
……
无线Trace文件的记录每条共有21栏,各栏表示的意义如下: (1)事件类型:共有四种事件类型,分别为: s:分组的发送事件; r:分组的接收事件; d:分组的丢弃事件; f:分组的转发事件。 (2)事件产生的时间,单位为秒。 (3)处理该事件节点的节点ID。
(4)Trace名称:共有三种不同的类型,分别为:
RTR:路由器Trace;AGT:代理 Trace;MAC:MAC层Trace。 (5-6)“---”为分隔符。 (7)分组的ID。 (8)分组类型。
(9)分组大小,单位为字节。
(10)发送节点在无线信道上发送该分组所期望的时间值。 (11)接收节点的MAC地址。 (12)发送节点的MAC地址。 (13)MAC层封装的分组类型。 (15-17)“---”为分隔符。
19
(18)发送分组的源IP地址:格式为“节点号.端口号”。 (19)接收分组的目的IP地址:格式为“节点号.端口号” (20)分组的TTL值。
(21)源节点到目的节点的跳数。 5.3.3 数据分析工具gawk
(1)gawk简介:awk是一种程序语言,对于资料的处理具有很强的功能,可以是用很短的代码轻易的完成对文本档案作修改、分析、提高和比较等处理。awk最初在1977年完成。gawk是GUN所开发的awk,最初在1986年完成,之后不断地被改进、更新。gawk包含awk的所有功能。
gawk的主要功能是针对Trace文件的每一条记录搜寻指定的模式(Patterns)。当一条记录里有符合指定的模式时,gawk就会执行此条记录指定的动作(actions)。
(2)gawk执行方法:
基本上有两种执行方法可以执行gawk程序。
如果程序很短,则程序代码可以直接写在命令行上,如下: $gawk ? program‘ inputfile1 inutfile2…… 其中,program包括一些pattern和action。
如果程序较长,一般将gawk程序存为一个文件,即Patterns与actions写在一个文件名为program-file的文件里,执行格式如下:
$gawk –f program-file inputfile1,inputfile2…… 5.3.4 绘图工具gnuplot
(1)gnuplot简介:gnuplot是由Colin Kelly和Thomas Williams于1986年开始开发的科学绘图工具,支持二维和三维图形。gnuplot是一个命令驱动的交互式绘图软件,它的功能是把数据资料和数学函数转换为容易观察的平面或立体的图形,它有两种工作方式,交互式方式和批处理方式,它可以让使用者很容易地读入外部的数据结果,在屏幕上显示图形,并且可以选择和修改图形的画法,明显地表现出数据的特性。
(2)gnuplot执行方法:
在终端下键入gnuplot后回车,即可启动gnuplot。相关参数设置:
20
gnuplot > set xrange [{
gnuplot > plot ?filename1‘ with linespoints, ?filename2‘ with linespoints…… 5.3.5 仿真结果分析 5.3.5.1 nam演示
“节点变化”运行场景和“移动速度变化”的运行场景分别如图5.2、图5.3所示。
图5.2 节点为70的运行场景
21
相关推荐: