一、 节点运动场景
节点运动场景需要说明在仿真过程中网络的运行区域、节点的数目、节点运动的总时间、网络中各个节点的运动事件等。其中,节点的运动事件包括说明从某一时刻开始,某个节点向着某目标位置以什么速度移动,当到达目标之后停留多长时间再执行下一步运动。
运动场景生成器位于~ns/indep-utils/cmu-scen-gen/setdest。用户只需要给定节点数、最大速度、停留时间等参数,运动场景生成器就会按要求随机产生运动场景文件。
具体使用命令如下:
便可在当前目录下生成名为scen-10s的场景文件。
二、 网络流量场景
网络流量场景主要说明在一段时间内网络中有哪些节点之间以何种方式连接,以多大速率发送何种类型的数据包。
网络流量生成器位于~ns/ns-2.26lindep-utils/cbrgen.tcl,可以生成cbr和tcp两种类型的网络流量。同样,用户只要给定一些参数程序,就会按要求随机生成网络流量场景文件。
其使用方法如下:
-mc 最大连接数
-rate 传输速率
备注:seed是随机数产生时用到的参数;计算机产生的都是伪随机数,即如果用相同的seed,虽然每次都会产生一组随机数,但这组随机数总是相同的,故称“伪”随机;所以一般做法是采用不同的seed值做多次Monte Carlo式的仿真模拟;更一般的做法是将当前的系统时间当作seed值,这样seed值很少会重复。
便可以生成名为cbr-50n-30c-1p的场景文件。
实验中可能要用到多个场景文件,这可以用Linux下的shell 批处理脚本一次生成。例如本文用到的脚本文件:
#!/bin/bash
set outdir = scene
set numnodes = 50
set maxx = 1200
set maxy = 1200
set simtime = 400
set pt 0
foreach maxspeed (1 2 4 8 15 20 25)
end
本文利用NS-2 CMU提供的工具setdest创建移动场景文件。所选用参数如表4-1所示。
本文仿真中流量场景选用的业务流类型为CBR(Constant Bit Rate)。CBR流是常速比特流,是一种用于话音传输的实时通信协议,它以固定的速率发送数据可以方便的比较协议在不同拓扑和运动情况下的性能。
表4-1 移动场景参数
参数 | 设定值 |
网络中节点数 | 15,50 |
移动范围 | 1200*1200 |
节点最大运动速度 | 1m/s, 2m/s, 4m/s, 8m/s, 15 m/s, 20 m/s, 25 m/s |
节点最小运动速度 | 1m/s, 2m/s, 4m/s, 8m/s, 15 m/s,20 m/s,25 m/s |
静止时间 | 0s |
仿真时间 | 500s |