信息网络中心(最新版)(在运行)
设为首页  |  加入收藏
 西大主站  网站首页  关于中心  技术支持  用户服务  教育技术  技术研究  工会活动  培训信息  下载中心  数字化校园 
当前位置: 网站首页>>技术研究>>网络运行和管理>>正文

NS-2常用命令(三)
2012-01-04 00:00   审核人:

NS-2中,有两种主要不同的数据监视器对象:unA广西大学网络中心

1)        Trace:该对象可以记录整个模拟过程的事件,将所有模拟细节都记录下来,也可以根据需要记录模拟过程中的某些细节,并存储于Trace文件中;unA广西大学网络中心

2)        Monitor:用来记录各种有用的数值,比如到达、离开链路或队列的数据分组数、字节数等。unA广西大学网络中心

 unA广西大学网络中心

*******************************************************************************unA广西大学网络中心

set tracefile [open out.tr w]  ;#以写方式打开一个名为out.tr的文件(如果该文件不存在则创建该文件),并将该文件的句柄赋给变量tracefileunA广西大学网络中心

$ns trace-all $tracefile  ;#调用Simulator类的trace-all方法将整个模拟过程的数据写入out.tr文件中unA广西大学网络中心

$ns trace-queue $n0 $n1 $tracefile  ;#调用Simulator类的trace- queue方法将节点n0n1之间的链路事件数据写入out.tr文件中unA广西大学网络中心

 unA广西大学网络中心

Trace文件格式:unA广西大学网络中心

1)        Event:发生时间的类型:unA广西大学网络中心

a)        + 分组进入链路队列(enqueue)unA广西大学网络中心

b)        - 分组离开链路队列(dequeue)unA广西大学网络中心

c)         r 目的节点接收分组(receive)unA广西大学网络中心

d)        d 队列丢弃(drop)分组事件unA广西大学网络中心

2)        Time:事件发生的时间unA广西大学网络中心

3)        From node:发送节点的idunA广西大学网络中心

4)        To node:目的节点的idunA广西大学网络中心

5)        Pkt type:分组类型unA广西大学网络中心

6)        Pkt size:分组大小unA广西大学网络中心

7)        Flags:标志位(一般不使用)unA广西大学网络中心

8)        Fid:流标志符(Flow id)unA广西大学网络中心

9)        Scr addr:发送节点的地址(节点号.端口号,即id.port)unA广西大学网络中心

10)     Dst addr:接收节点的地址(节点号.端口号,即id.port)unA广西大学网络中心

11)     Seq num:分组的序列号unA广西大学网络中心

12)     Pkt id:分组的唯一标识符unA广西大学网络中心

 unA广西大学网络中心

*******************************************************************************unA广西大学网络中心

Monitor有两种:unA广西大学网络中心

1)        队列监测(Queue Monitoring)unA广西大学网络中心

2)        流监测(Per-Flow Monitoring)unA广西大学网络中心

 unA广西大学网络中心

$ns monitor-queue unA广西大学网络中心

;#创建一个队列监视器,跟踪在节点n1n2之间的链路上队列的平均长度,并将相关数据写入名为qtraceTrace文件中,可选项为两次记录之间的时间间隔,默认值为0.1秒。unA广西大学网络中心

 unA广西大学网络中心

set monfile [open mon.tr w]  ;#监测文件unA广西大学网络中心

set fmon [$ns makeflowmon Fid]  ;#采用流标记创建一个数据流的监视对象unA广西大学网络中心

$ns attach-fmon $flink $fmon  ;#将监测对象$fmon与需要监测的链路$flink关联unA广西大学网络中心

$fmon attach $monfile  ;#将监测记录文件$monfile与监测器对象$fmon关联unA广西大学网络中心

注:每个流监视都包含了一个数据分组和字节的到达、离开和丢弃的整体统计,这样就无需再创建一个队列监视来记录整体的统计数据。unA广西大学网络中心

 unA广西大学网络中心

*******************************************************************************unA广西大学网络中心

使用gawk分析Trace文件:unA广西大学网络中心

1)        gawk从输入文件读取的基本单位是“记录(record)”,一般而言,一条记录相当于数据文件中的一行数据。unA广西大学网络中心

2)        gawk读入一条记录后,会将该记录的每个字段(以空格符分隔)的值自动存入变量:unA广西大学网络中心

a)         变量$0:当前gawk读入的一条记录unA广西大学网络中心

b)        变量$1$0上第一个字段的值unA广西大学网络中心

c)         变量$2$0上第二个字段的值unA广西大学网络中心

d)        ……unA广西大学网络中心

 unA广西大学网络中心

$gawk ‘program’ inputfile1unA广西大学网络中心

#如果gawk程序很短,则可以直接在命令行上执行gawk程序unA广西大学网络中心

$gawk -f programfile inputfile1unA广西大学网络中心

#如果程序较长,将gawk程序存为文件programfile,然后执行上述命令unA广西大学网络中心

$gawk -f programfile inputfile1>xfileunA广西大学网络中心

#如果要把gawk的结果存到一个文件xfile,可采用重定向的方式unA广西大学网络中心

 unA广西大学网络中心

*******************************************************************************unA广西大学网络中心

$xgraph filename unA广西大学网络中心

#xgraph的运作是把数据文件filename的第一列当作x轴的数据,第二列当作是y轴的数据,然后把图给画出来。xgraph可以将多个数据文件画在一张图上,有利于数据的比较。-options可以设定相关参数,例如绘图的颜色、输出图形文件的格式、图形的标题等。unA广西大学网络中心

 unA广西大学网络中心

*******************************************************************************unA广西大学网络中心

gnuplot也可以从数据文件中读入数据并绘制图形,其要求的数据文件格式与xgraph相似,就是两列或多列数据。数据文件中#符号开头的行将作为注释,不会被gunplot分析,数据文件中的第一列当作x轴的数据,第二列当作是y轴的数据。unA广西大学网络中心

$gnuplotunA广西大学网络中心

#进入交互方式unA广西大学网络中心

gnuplot>plot “filename”unA广西大学网络中心

#绘制filename的图unA广西大学网络中心

gnuplot> plot “cbr_delay” with linespointsunA广西大学网络中心

#cbr_delay中的数据用linespoints连起来。unA广西大学网络中心

gnuplot> set terminal gifunA广西大学网络中心

#把输出设成存成gif格式,内定为X11 terminalunA广西大学网络中心

gnuplot> set output “cbr_delay.gif”unA广西大学网络中心

#把输出的档名设为cbr_delay.gifunA广西大学网络中心

gnuplot> replotunA广西大学网络中心

#把数据重新绘一次unA广西大学网络中心

关闭窗口


广西大学版权所有:
Copy@2014
制作维护:广西大学信息网络中心 E_mail:webmaster@gxu.edu.cn